hamptonbrown
Go to file
knuthtimo-lab 0e6eca974b Add complete project files and configuration 2025-08-26 11:29:56 +02:00
.github/workflows Add complete project files and configuration 2025-08-26 11:29:56 +02:00
.husky Add complete project files and configuration 2025-08-26 11:29:56 +02:00
app Add complete project files and configuration 2025-08-26 11:29:56 +02:00
components Add complete project files and configuration 2025-08-26 11:29:56 +02:00
content Add complete project files and configuration 2025-08-26 11:29:56 +02:00
data Add complete project files and configuration 2025-08-26 11:29:56 +02:00
lib Add complete project files and configuration 2025-08-26 11:29:56 +02:00
public Add complete project files and configuration 2025-08-26 11:29:56 +02:00
.editorconfig Add complete project files and configuration 2025-08-26 11:29:56 +02:00
.eslintrc.cjs Add complete project files and configuration 2025-08-26 11:29:56 +02:00
.gitattributes Add complete project files and configuration 2025-08-26 11:29:56 +02:00
.gitignore Add complete project files and configuration 2025-08-26 11:29:56 +02:00
.prettierignore Add complete project files and configuration 2025-08-26 11:29:56 +02:00
.prettierrc Add complete project files and configuration 2025-08-26 11:29:56 +02:00
Dockerfile Add complete project files and configuration 2025-08-26 11:29:56 +02:00
README.md Add complete project files and configuration 2025-08-26 11:29:56 +02:00
docker-compose.yml Add complete project files and configuration 2025-08-26 11:29:56 +02:00
env.example Add complete project files and configuration 2025-08-26 11:29:56 +02:00
next-sitemap.config.js Add complete project files and configuration 2025-08-26 11:29:56 +02:00
next.config.mjs Add complete project files and configuration 2025-08-26 11:29:56 +02:00
package-lock.json Add complete project files 2025-08-26 08:59:13 +02:00
package.json Add complete project files and configuration 2025-08-26 11:29:56 +02:00
postcss.config.js Add complete project files and configuration 2025-08-26 11:29:56 +02:00
tailwind.config.ts Add complete project files and configuration 2025-08-26 11:29:56 +02:00
tsconfig.json Add complete project files and configuration 2025-08-26 11:29:56 +02:00

README.md

Hamton Brown CPA - Professional Tax Services

A modern, professional website for Hamton Brown CPA firm built with Next.js 14, TypeScript, and Tailwind CSS.

🚀 Features

  • Modern Tech Stack: Next.js 14 with App Router, TypeScript, Tailwind CSS
  • Professional Design: Clean, accessible design with brand-consistent color palette
  • SEO Optimized: Automatic sitemap generation, meta tags, and structured data
  • Contact Forms: Validated contact forms with email integration
  • Docker Ready: Multi-stage Docker builds for development and production
  • CI/CD: GitHub Actions for automated testing and deployment
  • Accessibility: WCAG 2.2 AA compliant with proper semantic markup

🛠️ Tech Stack

  • Framework: Next.js 14 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • UI Components: shadcn/ui + Lucide React icons
  • Validation: Zod
  • Email: Resend (with console fallback for development)
  • Deployment: Docker + Docker Compose

📦 Installation

Prerequisites

  • Node.js 18+ or Docker
  • npm, yarn, or pnpm

Local Development

  1. Clone the repository

    git clone <repository-url>
    cd hamtonbrown
    
  2. Install dependencies

    npm install
    # or
    yarn install
    # or
    pnpm install
    
  3. Set up environment variables

    cp env.example .env.local
    

    Edit .env.local with your configuration:

    SITE_URL=https://hamtonbrown.com
    CONTACT_TO_EMAIL=contact@hamtonbrown.com
    RESEND_API_KEY=your_resend_api_key_here
    
  4. Run the development server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
    
  5. Open your browser Navigate to http://localhost:3000

Docker Development

# Start development environment
docker compose --profile dev up --build

# Stop development environment
docker compose --profile dev down

Docker Production

# Build and start production environment
docker compose up --build

# Stop production environment
docker compose down

📁 Project Structure

hamtonbrown/
├── app/                    # Next.js App Router pages
│   ├── (routes)/          # Route groups
│   ├── api/               # API routes
│   ├── globals.css        # Global styles
│   ├── layout.tsx         # Root layout
│   └── page.tsx           # Home page
├── components/            # Reusable components
│   ├── ui/               # shadcn/ui components
│   └── ...               # Custom components
├── data/                  # Static data and content
├── lib/                   # Utility functions
├── public/                # Static assets
└── ...                    # Configuration files

🎨 Design System

Color Palette

  • Navy: #0F2740 (Primary)
  • Teal: #157A85 (Accents)
  • Ink: #0F1320 (Text)
  • Sand: #F6F7F8 (Background)
  • Cloud: #FFFFFF (White)
  • Slate: #6B7280 (Gray)

Typography

  • System UI stack with sensible fallbacks
  • Clean hierarchy with consistent sizing

📄 Available Routes

  • Home: /tax-planning/ (redirects from /)
  • Services:
    • /services/tax-planning
    • /services/income-tax-preparation
    • /services/estate-tax-planning
    • /services/financial-planning
    • /services/advisory
  • About: /about
  • Pricing: /pricing
  • Resources: /resources
  • Reviews: /reviews
  • Contact: /contact
  • Legal: /legal/privacy, /legal/terms

🔧 Development Scripts

# Development
npm run dev          # Start development server
npm run build        # Build for production
npm run start        # Start production server
npm run lint         # Run ESLint
npm run type-check   # Run TypeScript type checking
npm run format       # Format code with Prettier
npm run format:check # Check code formatting

🚀 Deployment

  1. Connect your repository to Vercel
  2. Set environment variables in Vercel dashboard
  3. Deploy automatically on push to main branch

Docker Production

# Build and run production container
docker compose up --build

# Or build image separately
docker build -t hamtonbrown-cpa .
docker run -p 3000:3000 hamtonbrown-cpa

Environment Variables

Required for production:

  • SITE_URL: Your website URL
  • CONTACT_TO_EMAIL: Email address for contact form submissions
  • RESEND_API_KEY: Resend API key for email sending (optional)

🧪 Testing

# Run linting
npm run lint

# Run type checking
npm run type-check

# Check formatting
npm run format:check

📸 Images

The project includes placeholder images in /public/images/. For production, replace these with actual images following the specifications in /content/image-prompts.md.

🔒 Security

  • Input validation with Zod
  • Rate limiting on contact forms
  • Secure headers via Next.js
  • Environment variable protection
  • Non-root Docker user

Accessibility

  • WCAG 2.2 AA compliant
  • Semantic HTML structure
  • Proper heading hierarchy
  • Focus management
  • Screen reader support
  • Keyboard navigation
  • High contrast ratios

📈 SEO

  • Automatic sitemap generation
  • Robots.txt configuration
  • Meta tags and Open Graph
  • Structured data (JSON-LD)
  • Semantic HTML markup

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and linting
  5. Submit a pull request

📄 License

This project is proprietary to Hamton Brown CPA.

🆘 Support

For support or questions, contact:


Built with ❤️ for Hamton Brown CPA

hamptonbrown