76 lines
2 KiB
Text
76 lines
2 KiB
Text
## Tech Stack
|
|
|
|
### Frontend
|
|
- React 19
|
|
- TypeScript 5.7
|
|
- React Router DOM 7
|
|
- Tailwind CSS 3.4
|
|
- Framer Motion 11
|
|
- React Icons 5.4
|
|
- React Simple Maps 4.0 (beta)
|
|
- React Intersection Observer 9.13
|
|
- Next.js 14.1
|
|
|
|
### Backend
|
|
- Node.js with Express 4.21
|
|
- TypeScript
|
|
- Nodemailer 6.9 for email handling
|
|
- CORS for cross-origin resource sharing
|
|
- dotenv 16.4 for environment variable management
|
|
- Upstash Redis 1.28 for caching/rate limiting
|
|
|
|
### Development & Build Tools
|
|
- Docker & Docker Compose
|
|
- PostCSS 8.4
|
|
- Autoprefixer 10.4
|
|
- pnpm 9.14 (package manager)
|
|
- Vite 6.0
|
|
- ESLint 9
|
|
- Concurrently for running multiple processes
|
|
- tsx/ts-node for TypeScript execution
|
|
- Hot module replacement (HMR)
|
|
|
|
### Production
|
|
- Nginx (Production server for frontend)
|
|
- Node.js server for backend API
|
|
|
|
### Architecture
|
|
- Frontend running on port 3000 (development)
|
|
- Backend API running on port 4000
|
|
- Containerized development and production environments
|
|
- REST API for contact form handling
|
|
- Gmail SMTP for email delivery
|
|
- Rate limiting implementation
|
|
- Context-based state management
|
|
- Redis-backed caching layer
|
|
|
|
### Key Features
|
|
- Responsive design
|
|
- Animated UI components with Framer Motion
|
|
- Interactive USA region map
|
|
- Contact form with email notifications
|
|
- Timeline visualization
|
|
- Service showcase
|
|
- Biography section
|
|
- Testimonials section
|
|
- Video playback with WebVTT subtitles
|
|
- Transcription support
|
|
- Toast notification system
|
|
- Snow peaks animation effect
|
|
- Custom video player component
|
|
|
|
### Development Environment
|
|
- Multi-container setup with Docker Compose
|
|
- Hot-reloading enabled
|
|
- Separate development and production builds
|
|
- Environment variable management for sensitive data
|
|
- TypeScript configuration for both client and server
|
|
- Concurrent development server (frontend + backend)
|
|
|
|
### Production Environment
|
|
- Nginx serving static frontend files
|
|
- Node.js backend API
|
|
- Containerized deployment
|
|
- Secure email handling with Google App credentials
|
|
- Multi-stage Docker builds
|
|
- Production-optimized builds with tree-shaking
|