No description
Find a file
2026-05-24 10:53:58 -06:00
cline_docs fix: correct country count from 54 to 47 across all pages 2026-05-24 09:50:48 -06:00
public/images Initial commit 2024-12-01 20:08:38 -06:00
src feat: add Contact link to header nav that opens ContactModal 2026-05-24 10:53:58 -06:00
.env Initial commit 2024-12-01 20:08:38 -06:00
.env.local fix: update SMTP port to 587 for new server deployment 2026-03-05 14:02:28 -07:00
.gitignore Create two files 2024-12-01 20:12:41 -06:00
docker-compose.dev.yml Initial commit 2024-12-01 20:08:38 -06:00
docker-compose.yml add caddy_network 2024-12-01 20:24:43 -06:00
Dockerfile fix: remove unnecessary tailwindcss build step from Dockerfile 2026-03-05 14:03:28 -07:00
Dockerfile.dev Initial commit 2024-12-01 20:08:38 -06:00
Error Initial commit 2024-12-01 20:08:38 -06:00
next-env.d.ts Initial commit 2024-12-01 20:08:38 -06:00
next.config.js Initial commit 2024-12-01 20:08:38 -06:00
package.json Initial commit 2024-12-01 20:08:38 -06:00
pnpm-lock.yaml Initial commit 2024-12-01 20:08:38 -06:00
postcss.config.js Initial commit 2024-12-01 20:08:38 -06:00
README.txt Create two files 2024-12-01 20:12:41 -06:00
ROADMAP Initial commit 2024-12-01 20:08:38 -06:00
tailwind.config.js Initial commit 2024-12-01 20:08:38 -06:00
tsconfig.json Initial commit 2024-12-01 20:08:38 -06:00

Chris Haulmark Website - Technical Documentation

This website is built on Next.js 14 using TypeScript as the primary programming language. The application leverages the modern App Router architecture and incorporates several cutting-edge technologies for optimal performance and user experience.

The core foundation uses TailwindCSS for styling, with custom configurations for colors, typography, and responsive breakpoints. Framer Motion handles all animations throughout the site, creating smooth, engaging user interactions.

For backend functionality, the system uses Upstash Redis for rate limiting and data caching, while NodeMailer manages email communications through Gmail's SMTP services. The contact form implementation includes comprehensive validation, sanitization, and rate limiting to ensure security and prevent abuse.

Development environment setup uses Docker with a specific dev configuration that enables hot reloading and volume mounting for efficient development workflow. The production deployment uses a separate optimized Docker configuration focused on performance and security.

The application structure follows Next.js 14 conventions with the app directory containing all routes and API endpoints. Components are organized by feature area (biography, home, layout, shared) with clear separation of concerns. The middleware handles security headers and Content Security Policy implementation.

To get started with development, developers need Node.js 20 or higher and pnpm as the package manager. The development server can be launched using Docker Compose with the dev configuration file. For production deployment, the standard Dockerfile builds an optimized container ready for deployment.

Environment configuration requires setting up email credentials for NodeMailer (Gmail), Upstash Redis connection details, and various SMTP settings. These are managed through environment files with different configurations for development and production environments.

The system includes comprehensive security measures including input validation, rate limiting, XSS protection, and proper CORS policies. Performance optimization is handled through Next.js's built-in features including image optimization, code splitting, and efficient client-side navigation.

This documentation provides a clear overview of the technical implementation and deployment processes for maintaining and extending the website's functionality.