ocd-website/TECH_STACK

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