# Book Reading Tracker - Fullstack Architecture Document ## Table of Contents - [Book Reading Tracker - Fullstack Architecture Document](#table-of-contents) - [Introduction](./introduction.md) - [Starter Template or Existing Project](./introduction.md#starter-template-or-existing-project) - [Change Log](./introduction.md#change-log) - [High Level Architecture](./high-level-architecture.md) - [Technical Summary](./high-level-architecture.md#technical-summary) - [Platform and Infrastructure Choice](./high-level-architecture.md#platform-and-infrastructure-choice) - [Repository Structure](./high-level-architecture.md#repository-structure) - [High Level Architecture Diagram](./high-level-architecture.md#high-level-architecture-diagram) - [Architectural Patterns](./high-level-architecture.md#architectural-patterns) - [Tech Stack](./tech-stack.md) - [Technology Stack Table](./tech-stack.md#technology-stack-table) - [Data Models](./data-models.md) - [Book Model](./data-models.md#book-model) - [TypeScript Interface](./data-models.md#typescript-interface) - [Relationships](./data-models.md#relationships) - [ReadingLog Model](./data-models.md#readinglog-model) - [TypeScript Interface](./data-models.md#typescript-interface) - [Relationships](./data-models.md#relationships) - [ProgressCalculation Model (Derived)](./data-models.md#progresscalculation-model-derived) - [TypeScript Interface](./data-models.md#typescript-interface) - [Relationships](./data-models.md#relationships) - [API Specification](./api-specification.md) - [REST API Specification](./api-specification.md#rest-api-specification) - [Components](./components.md) - [Frontend Components](./components.md#frontend-components) - [App Shell](./components.md#app-shell) - [Book List Screen](./components.md#book-list-screen) - [Add Book Screen](./components.md#add-book-screen) - [Book Detail Screen](./components.md#book-detail-screen) - [Calendar Component](./components.md#calendar-component) - [Log Progress Modal](./components.md#log-progress-modal) - [Backend Components](./components.md#backend-components) - [Express Application](./components.md#express-application) - [Books Controller](./components.md#books-controller) - [Reading Logs Controller](./components.md#reading-logs-controller) - [Open Library Service](./components.md#open-library-service) - [Pace Calculation Service](./components.md#pace-calculation-service) - [Database Client](./components.md#database-client) - [Component Diagrams](./components.md#component-diagrams) - [External APIs](./external-apis.md) - [Open Library API](./external-apis.md#open-library-api) - [Core Workflows](./core-workflows.md) - [Add Book Workflow](./core-workflows.md#add-book-workflow) - [Log Progress Workflow](./core-workflows.md#log-progress-workflow) - [Calculate Progress Workflow](./core-workflows.md#calculate-progress-workflow) - [Database Schema](./database-schema.md) - [Prisma Schema Definition](./database-schema.md#prisma-schema-definition) - [SQL Schema (Generated)](./database-schema.md#sql-schema-generated) - [Frontend Architecture](./frontend-architecture.md) - [Component Architecture](./frontend-architecture.md#component-architecture) - [Component Organization](./frontend-architecture.md#component-organization) - [Component Template](./frontend-architecture.md#component-template) - [State Management Architecture](./frontend-architecture.md#state-management-architecture) - [State Structure](./frontend-architecture.md#state-structure) - [State Management Patterns](./frontend-architecture.md#state-management-patterns) - [Routing Architecture](./frontend-architecture.md#routing-architecture) - [Route Organization](./frontend-architecture.md#route-organization) - [Protected Route Pattern](./frontend-architecture.md#protected-route-pattern) - [Frontend Services Layer](./frontend-architecture.md#frontend-services-layer) - [API Client Setup](./frontend-architecture.md#api-client-setup) - [Service Example](./frontend-architecture.md#service-example) - [Backend Architecture](./backend-architecture.md) - [Service Architecture (Traditional Server)](./backend-architecture.md#service-architecture-traditional-server) - [Controller/Route Organization](./backend-architecture.md#controllerroute-organization) - [Controller Template](./backend-architecture.md#controller-template) - [Database Architecture](./backend-architecture.md#database-architecture) - [Schema Design](./backend-architecture.md#schema-design) - [Data Access Layer](./backend-architecture.md#data-access-layer) - [Authentication and Authorization](./backend-architecture.md#authentication-and-authorization) - [Unified Project Structure](./unified-project-structure.md) - [Development Workflow](./development-workflow.md) - [Local Development Setup](./development-workflow.md#local-development-setup) - [Prerequisites](./development-workflow.md#prerequisites) - [Initial Setup](./development-workflow.md#initial-setup) - [Development Commands](./development-workflow.md#development-commands) - [Environment Configuration](./development-workflow.md#environment-configuration) - [Required Environment Variables](./development-workflow.md#required-environment-variables) - [Deployment Architecture](./deployment-architecture.md) - [Deployment Strategy](./deployment-architecture.md#deployment-strategy) - [CI/CD Pipeline](./deployment-architecture.md#cicd-pipeline) - [Environments](./deployment-architecture.md#environments) - [Security and Performance](./security-and-performance.md) - [Security Requirements](./security-and-performance.md#security-requirements) - [Performance Optimization](./security-and-performance.md#performance-optimization) - [Testing Strategy](./testing-strategy.md) - [Testing Pyramid](./testing-strategy.md#testing-pyramid) - [Test Organization](./testing-strategy.md#test-organization) - [Frontend Tests](./testing-strategy.md#frontend-tests) - [Backend Tests](./testing-strategy.md#backend-tests) - [E2E Tests (Manual Checklist)](./testing-strategy.md#e2e-tests-manual-checklist) - [Test Examples](./testing-strategy.md#test-examples) - [Frontend Component Test](./testing-strategy.md#frontend-component-test) - [Backend API Test](./testing-strategy.md#backend-api-test) - [E2E Test (Manual)](./testing-strategy.md#e2e-test-manual) - [Coding Standards](./coding-standards.md) - [Critical Fullstack Rules](./coding-standards.md#critical-fullstack-rules) - [Naming Conventions](./coding-standards.md#naming-conventions) - [Error Handling Strategy](./error-handling-strategy.md) - [Error Flow](./error-handling-strategy.md#error-flow) - [Error Response Format](./error-handling-strategy.md#error-response-format) - [Frontend Error Handling](./error-handling-strategy.md#frontend-error-handling) - [Backend Error Handling](./error-handling-strategy.md#backend-error-handling) - [Monitoring and Observability](./monitoring-and-observability.md) - [Monitoring Stack](./monitoring-and-observability.md#monitoring-stack) - [Key Metrics](./monitoring-and-observability.md#key-metrics) - [Checklist Results Report](./checklist-results-report.md)