From a5d4c296a32637e8375e83a73b89c5771795999c Mon Sep 17 00:00:00 2001 From: TheMaddax Date: Sun, 1 Dec 2024 20:12:41 -0600 Subject: [PATCH] Create two files --- .gitignore | 39 ++++++++++++++++++++++++++++++++++++++- README.txt | 19 +++++++++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 README.txt diff --git a/.gitignore b/.gitignore index c2658d7..74ab23a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,38 @@ -node_modules/ +# Dependencies +/node_modules +/.pnp +.pnp.js + +# Testing +/coverage + +# Next.js +/.next/ +/out/ + +# Production +/build +/dist + +# Environment files +#.env +#.env.local +#.env.development.local +#.env.test.local +#.env.production.local + +# Debug logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# IDE and Editor files +.idea/ +.vscode/ +*.swp +*.swo +.DS_Store + +# Cache +.cache/ +.eslintcache \ No newline at end of file diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..b31b272 --- /dev/null +++ b/README.txt @@ -0,0 +1,19 @@ +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. \ No newline at end of file