# System Patterns: OCD Website ## How the System is Built ### Architecture - **Frontend**: Next.js with React for server-side rendered pages - **Backend**: Node.js with Express for API endpoints - **Database Layer**: MongoDB for document storage, Redis for caching - **Containerization**: Docker with Portainer for deployment - **Web Server**: Nginx as reverse proxy ### Directory Structure The project appears to be in initial planning stages. A full directory structure will be established as development progresses. ## Key Technical Decisions - Server-side rendering with Next.js for improved SEO and performance - TypeScript for type safety throughout the stack - Tailwind CSS for responsive design - MongoDB for flexible document storage of club data - Redis for caching and rate limiting - Docker containerization for consistent deployment - Custom video player implementation for ASL content ## Architecture Patterns - REST API for data operations - Context-based state management in React - Server-side rendering for critical pages - Responsive design with mobile-first approach - Component-based UI architecture - Authentication for admin dashboard - Automated notifications for membership status - Accessibility-first development approach ## Development Workflow Development is organized into phases: 1. Setup & Infrastructure 2. Core Public Pages 3. Admin Functionality 4. Accessibility & Refinement 5. Testing & Deployment Each phase has specific tasks and goals as outlined in the TO_DO.txt document.