# Architectural Decision Records This directory contains a log of the architectural decisions made for the Flyer Crawler project. ## 1. Foundational / Core Infrastructure **[ADR-002](./0002-standardized-transaction-management.md)**: Standardized Transaction Management and Unit of Work Pattern (Accepted) **[ADR-007](./0007-configuration-and-secrets-management.md)**: Configuration and Secrets Management (Accepted) **[ADR-020](./0020-health-checks-and-liveness-readiness-probes.md)**: Health Checks and Liveness/Readiness Probes (Accepted) **[ADR-030](./0030-graceful-degradation-and-circuit-breaker.md)**: Graceful Degradation and Circuit Breaker Pattern (Proposed) ## 2. Data Management **[ADR-009](./0009-caching-strategy-for-read-heavy-operations.md)**: Caching Strategy for Read-Heavy Operations (Accepted) **[ADR-013](./0013-database-schema-migration-strategy.md)**: Database Schema Migration Strategy (Proposed) **[ADR-019](./0019-data-backup-and-recovery-strategy.md)**: Data Backup and Recovery Strategy (Accepted) **[ADR-023](./0023-database-schema-migration-strategy.md)**: Database Schema Migration Strategy (Proposed) **[ADR-031](./0031-data-retention-and-privacy-compliance.md)**: Data Retention and Privacy Compliance (Proposed) ## 3. API & Integration **[ADR-003](./0003-standardized-input-validation-using-middleware.md)**: Standardized Input Validation using Middleware (Accepted) **[ADR-008](./0008-api-versioning-strategy.md)**: API Versioning Strategy (Accepted - Phase 1 Complete) **[ADR-018](./0018-api-documentation-strategy.md)**: API Documentation Strategy (Accepted) **[ADR-022](./0022-real-time-notification-system.md)**: Real-time Notification System (Proposed) **[ADR-028](./0028-api-response-standardization.md)**: API Response Standardization and Envelope Pattern (Implemented) ## 4. Security & Compliance **[ADR-001](./0001-standardized-error-handling.md)**: Standardized Error Handling for Service and Repository Layers (Accepted) **[ADR-011](./0011-advanced-authorization-and-access-control-strategy.md)**: Advanced Authorization and Access Control Strategy (Proposed) **[ADR-016](./0016-api-security-hardening.md)**: API Security Hardening (Accepted) **[ADR-029](./0029-secret-rotation-and-key-management.md)**: Secret Rotation and Key Management Strategy (Proposed) **[ADR-032](./0032-rate-limiting-strategy.md)**: Rate Limiting Strategy (Accepted) **[ADR-033](./0033-file-upload-and-storage-strategy.md)**: File Upload and Storage Strategy (Accepted) **[ADR-048](./0048-authentication-strategy.md)**: Authentication Strategy (Partially Implemented) ## 5. Observability & Monitoring **[ADR-004](./0004-standardized-application-wide-structured-logging.md)**: Standardized Application-Wide Structured Logging (Accepted) **[ADR-015](./0015-error-tracking-and-observability.md)**: Error Tracking and Observability (Partial) **[ADR-050](./0050-postgresql-function-observability.md)**: PostgreSQL Function Observability (Accepted) **[ADR-051](./0051-asynchronous-context-propagation.md)**: Asynchronous Context Propagation (Accepted) **[ADR-052](./0052-granular-debug-logging-strategy.md)**: Granular Debug Logging Strategy (Accepted) **[ADR-056](./0056-application-performance-monitoring.md)**: Application Performance Monitoring (Proposed) ## 6. Deployment & Operations **[ADR-006](./0006-background-job-processing-and-task-queues.md)**: Background Job Processing and Task Queues (Accepted) **[ADR-014](./0014-containerization-and-deployment-strategy.md)**: Containerization and Deployment Strategy (Partially Implemented) **[ADR-017](./0017-ci-cd-and-branching-strategy.md)**: CI/CD and Branching Strategy (Accepted) **[ADR-024](./0024-feature-flagging-strategy.md)**: Feature Flagging Strategy (Proposed) **[ADR-037](./0037-scheduled-jobs-and-cron-pattern.md)**: Scheduled Jobs and Cron Pattern (Accepted) **[ADR-038](./0038-graceful-shutdown-pattern.md)**: Graceful Shutdown Pattern (Accepted) **[ADR-053](./0053-worker-health-checks-and-monitoring.md)**: Worker Health Checks and Monitoring (Proposed) **[ADR-054](./0054-bugsink-gitea-issue-sync.md)**: Bugsink to Gitea Issue Synchronization (Proposed) ## 7. Frontend / User Interface **[ADR-005](./0005-frontend-state-management-and-server-cache-strategy.md)**: Frontend State Management and Server Cache Strategy (Accepted) **[ADR-012](./0012-frontend-component-library-and-design-system.md)**: Frontend Component Library and Design System (Partially Implemented) **[ADR-025](./0025-internationalization-and-localization-strategy.md)**: Internationalization (i18n) and Localization (l10n) Strategy (Proposed) **[ADR-026](./0026-standardized-client-side-structured-logging.md)**: Standardized Client-Side Structured Logging (Accepted) **[ADR-044](./0044-frontend-feature-organization.md)**: Frontend Feature Organization Pattern (Accepted) ## 8. Development Workflow & Quality **[ADR-010](./0010-testing-strategy-and-standards.md)**: Testing Strategy and Standards (Accepted) **[ADR-021](./0021-code-formatting-and-linting-unification.md)**: Code Formatting and Linting Unification (Accepted) **[ADR-027](./0027-standardized-naming-convention-for-ai-and-database-types.md)**: Standardized Naming Convention for AI and Database Types (Accepted) **[ADR-040](./0040-testing-economics-and-priorities.md)**: Testing Economics and Priorities (Accepted) **[ADR-045](./0045-test-data-factories-and-fixtures.md)**: Test Data Factories and Fixtures (Accepted) **[ADR-047](./0047-project-file-and-folder-organization.md)**: Project File and Folder Organization (Proposed) **[ADR-057](./0057-test-remediation-post-api-versioning.md)**: Test Remediation Post-API Versioning (Accepted) ## 9. Architecture Patterns **[ADR-034](./0034-repository-pattern-standards.md)**: Repository Pattern Standards (Accepted) **[ADR-035](./0035-service-layer-architecture.md)**: Service Layer Architecture (Accepted) **[ADR-036](./0036-event-bus-and-pub-sub-pattern.md)**: Event Bus and Pub/Sub Pattern (Accepted) **[ADR-039](./0039-dependency-injection-pattern.md)**: Dependency Injection Pattern (Accepted) **[ADR-041](./0041-ai-gemini-integration-architecture.md)**: AI/Gemini Integration Architecture (Accepted) **[ADR-042](./0042-email-and-notification-architecture.md)**: Email and Notification Architecture (Accepted) **[ADR-043](./0043-express-middleware-pipeline.md)**: Express Middleware Pipeline Architecture (Accepted) **[ADR-046](./0046-image-processing-pipeline.md)**: Image Processing Pipeline (Accepted) **[ADR-049](./0049-gamification-and-achievement-system.md)**: Gamification and Achievement System (Accepted) **[ADR-055](./0055-database-normalization-and-referential-integrity.md)**: Database Normalization and Referential Integrity (Accepted)