88 lines
2.7 KiB
Text
88 lines
2.7 KiB
Text
## Tech Stack
|
|
|
|
### Frontend
|
|
- React 19
|
|
- TypeScript 5.8 (5x faster incremental builds)
|
|
- React Router DOM 7
|
|
- Tailwind CSS 4.0 (CSS-first configuration with @theme directives, 182x faster builds)
|
|
- Framer Motion 11
|
|
- React Icons 5.5.0
|
|
- React Simple Maps 3.0.0
|
|
- React Intersection Observer 9.16.0
|
|
- Next.js 15.2.3 (includes security patches for CVE-2025-29927)
|
|
|
|
### Backend
|
|
- Node.js with Express 4.18.2
|
|
- TypeScript 5.8
|
|
- 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
|
|
- JWT authentication with role-based access control
|
|
- MongoDB 7.0 with schema validation
|
|
|
|
### Development & Build Tools
|
|
- Docker & Docker Compose with security best practices:
|
|
- Multi-stage builds
|
|
- Non-root users
|
|
- Resource limitations
|
|
- Health checks
|
|
- 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 with security headers)
|
|
- Node.js server for backend API
|
|
- SSL/TLS 1.3 configuration
|
|
|
|
### 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
|
|
- MongoDB schema validation using $jsonSchema
|
|
|
|
### Key Features
|
|
- Responsive design (mobile-first approach)
|
|
- 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 and full transcript display
|
|
- Custom video player with accessibility features:
|
|
- Keyboard controls
|
|
- Focus indicators that meet WCAG 2.2 requirements
|
|
- Playback speed controls
|
|
- Transcript display options (plain, HTML, JSON formats)
|
|
- Refreshable braille display compatibility
|
|
- Snow peaks animation effect
|
|
|
|
### 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
|
|
- Security scanning with Trivy
|