# Architecture Overview This document serves as a critical, living template designed to equip agents with a rapid and comprehensive understanding of the codebase's architecture, enabling efficient navigation and effective contribution from day one. Update this document as the codebase evolves. ## 1. Project Structure This section provides a high-level overview of the project's directory and file structure, categorised by architectural layer or major functional area. ``` [Project Root]/ ├── [Add your project structure here] ``` ## 2. High-Level System Diagram Provide a simple diagram showing major components and their interactions. Focus on data flow and key boundaries. ``` [User] <--> [Component] <--> [Component] <--> [Data Store] ``` ## 3. Core Components List and describe the main components of the system. ### 3.1. Frontend **Name:** [e.g., Web App, Mobile App] **Description:** [Describe primary purpose and key functionalities] **Technologies:** [e.g., React, Vue.js, Angular, React Native] **Deployment:** [e.g., Vercel, Netlify, S3/CloudFront] ### 3.2. Backend Services #### 3.2.1. [Service Name] **Name:** [e.g., API Service, User Service] **Description:** [Describe purpose] **Technologies:** [e.g., Node.js, Python, Java, Go] **Deployment:** [e.g., AWS, Kubernetes, Cloud Run] ## 4. Data Stores List databases and persistent storage solutions. ### 4.1. [Data Store Name] **Name:** [e.g., Primary Database, Cache] **Type:** [e.g., PostgreSQL, MongoDB, Redis] **Purpose:** [Describe what data it stores and why] **Key Schemas/Collections:** [List main tables/collections] ## 5. External Integrations / APIs List third-party services and external APIs. **Service Name:** [e.g., Stripe, SendGrid] **Purpose:** [e.g., Payment processing] **Integration Method:** [e.g., REST API, SDK] ## 6. Deployment & Infrastructure **Cloud Provider:** [e.g., AWS, GCP, Azure] **Key Services Used:** [e.g., EC2, Lambda, Kubernetes] **CI/CD Pipeline:** [e.g., GitHub Actions, GitLab CI] **Monitoring & Logging:** [e.g., Prometheus, CloudWatch] ## 7. Security Considerations **Authentication:** [e.g., OAuth2, JWT, API Keys] **Authorization:** [e.g., RBAC, ACLs] **Data Encryption:** [e.g., TLS in transit, AES-256 at rest] **Key Security Tools/Practices:** [e.g., WAF, security audits] ## 8. Development & Testing Environment **Local Setup Instructions:** [Link or brief steps] **Testing Frameworks:** [e.g., Jest, Pytest, JUnit] **Code Quality Tools:** [e.g., ESLint, SonarQube] ## 9. Future Considerations / Roadmap Note any known architectural debts or planned major changes. - [e.g., Migrate to microservices] - [e.g., Implement caching layer] ## 10. Project Identification **Project Name:** [Insert Project Name] **Repository URL:** [Insert Repository URL] **Primary Contact/Team:** [Insert Lead Developer/Team] **Date of Last Update:** [YYYY-MM-DD] ## 11. Glossary / Acronyms Define project-specific terms. **[Term]:** [Definition]