6.6 KiB
Architectural Decision Records
This directory contains a log of the architectural decisions made for the Flyer Crawler project.
1. Foundational / Core Infrastructure
ADR-002: Standardized Transaction Management and Unit of Work Pattern (Accepted) ADR-007: Configuration and Secrets Management (Accepted) ADR-020: Health Checks and Liveness/Readiness Probes (Accepted) ADR-030: Graceful Degradation and Circuit Breaker Pattern (Proposed)
2. Data Management
ADR-009: Caching Strategy for Read-Heavy Operations (Accepted) ADR-013: Database Schema Migration Strategy (Proposed) ADR-019: Data Backup and Recovery Strategy (Accepted) ADR-023: Database Schema Migration Strategy (Proposed) ADR-031: Data Retention and Privacy Compliance (Proposed)
3. API & Integration
ADR-003: Standardized Input Validation using Middleware (Accepted) ADR-008: API Versioning Strategy (Accepted - Phase 1 Complete) ADR-018: API Documentation Strategy (Accepted) ADR-022: Real-time Notification System (Proposed) ADR-028: API Response Standardization and Envelope Pattern (Implemented)
4. Security & Compliance
ADR-001: Standardized Error Handling for Service and Repository Layers (Accepted) ADR-011: Advanced Authorization and Access Control Strategy (Proposed) ADR-016: API Security Hardening (Accepted) ADR-029: Secret Rotation and Key Management Strategy (Proposed) ADR-032: Rate Limiting Strategy (Accepted) ADR-033: File Upload and Storage Strategy (Accepted) ADR-048: Authentication Strategy (Partially Implemented)
5. Observability & Monitoring
ADR-004: Standardized Application-Wide Structured Logging (Accepted) ADR-015: Error Tracking and Observability (Partial) ADR-050: PostgreSQL Function Observability (Accepted) ADR-051: Asynchronous Context Propagation (Accepted) ADR-052: Granular Debug Logging Strategy (Accepted) ADR-056: Application Performance Monitoring (Proposed)
6. Deployment & Operations
ADR-006: Background Job Processing and Task Queues (Accepted) ADR-014: Containerization and Deployment Strategy (Partially Implemented) ADR-017: CI/CD and Branching Strategy (Accepted) ADR-024: Feature Flagging Strategy (Proposed) ADR-037: Scheduled Jobs and Cron Pattern (Accepted) ADR-038: Graceful Shutdown Pattern (Accepted) ADR-053: Worker Health Checks and Monitoring (Proposed) ADR-054: Bugsink to Gitea Issue Synchronization (Proposed)
7. Frontend / User Interface
ADR-005: Frontend State Management and Server Cache Strategy (Accepted) ADR-012: Frontend Component Library and Design System (Partially Implemented) ADR-025: Internationalization (i18n) and Localization (l10n) Strategy (Proposed) ADR-026: Standardized Client-Side Structured Logging (Accepted) ADR-044: Frontend Feature Organization Pattern (Accepted)
8. Development Workflow & Quality
ADR-010: Testing Strategy and Standards (Accepted) ADR-021: Code Formatting and Linting Unification (Accepted) ADR-027: Standardized Naming Convention for AI and Database Types (Accepted) ADR-040: Testing Economics and Priorities (Accepted) ADR-045: Test Data Factories and Fixtures (Accepted) ADR-047: Project File and Folder Organization (Proposed) ADR-057: Test Remediation Post-API Versioning (Accepted)
9. Architecture Patterns
ADR-034: Repository Pattern Standards (Accepted) ADR-035: Service Layer Architecture (Accepted) ADR-036: Event Bus and Pub/Sub Pattern (Accepted) ADR-039: Dependency Injection Pattern (Accepted) ADR-041: AI/Gemini Integration Architecture (Accepted) ADR-042: Email and Notification Architecture (Accepted) ADR-043: Express Middleware Pipeline Architecture (Accepted) ADR-046: Image Processing Pipeline (Accepted) ADR-049: Gamification and Achievement System (Accepted) ADR-055: Database Normalization and Referential Integrity (Accepted)