Skip to content

LCO DMA Knowledge Base

Quick index to detailed documentation. For daily essentials, see CLAUDE.md at project root.

Architecture

Full-stack construction cost estimation: React 18 SPA + FastAPI + Azure Cosmos DB. Layered backend: Routers -> Schemas -> Repositories -> CosmosDB. Serverless Azure deployment. -> docs/ARCHITECTURE.md

API Reference

RESTful API with 37 routers, 50+ endpoints. Dual auth: Entra ID JWT + API keys. Pagination, camelCase JSON, Pydantic validation. Swagger at localhost:8000/api/docs. -> docs/API_REFERENCE.md

Quick Start

Development environment setup: Node 20+, Python 3.12, uv, Cosmos DB credentials. -> docs/QUICK_START.md

Authentication

Microsoft Entra ID (MSAL) + API key alternate. Role-based: Reader/Contributor. Frontend: MSAL popup, Zustand authStore. Backend: fastapi-azure-auth + bcrypt hashing. -> docs/auth/AUTH_IMPLEMENTATION.md

Database

Azure Cosmos DB NoSQL with 24 containers. Partition keys by domain (clientId, projectId). Type discriminator pattern. Repository pattern with batch operations. -> docs/database/INDEX.md

Frontend Development

React 18, TypeScript 5.8, Vite 6.3, Tailwind CSS, shadcn/ui, Zustand stores (3). Hook patterns: Orchestrator, Factory, FSM. DataTable system with TanStack Table. 39 pages. -> docs/frontend/ARCHITECTURE.md

Frontend Styles

Design tokens, CSS variables, typography, color system, spacing patterns. Component patterns: buttons, badges, cards, forms, tables, modals, loading states. -> docs/frontend/STYLES.md

Component Patterns

DataTable/VirtualizedDataTable, dialog patterns, form handling, estimation tabs (lazy-loaded). Import progress panel, bulk edit, column visibility, filter builder, Q-Flag cell. -> docs/frontend/COMPONENT_PATTERNS.md

Backend Development

FastAPI with repository pattern. 37 routers, 27 Pydantic schemas, 23 repositories. Async/await throughout. Batch operations with 100-item batches and 3-level retry. -> docs/backend/ARCHITECTURE.md

MTO Import/Export

Excel import/export for Material Takeoff across 9 disciplines. Async via Azure Functions. Template download, validation, batch processing with progress tracking. -> docs/backend/MTO_IMPORT_EXPORT_GUIDE.md

Import Processing

Shared module for Azure Functions and Container Apps Job. 14 document types, handler registry. Thin wrapper pattern ensures parity across execution environments. -> docs/backend/IMPORT_PROCESSING_ARCHITECTURE.md

Deployment

Frontend: Azure Static Web Apps. Backend API: Azure Web App (Gunicorn/Uvicorn). Import Processor: Azure Function Flex Consumption. GitHub Actions CI/CD. -> docs/backend/README.md

Business Domain

Construction cost estimation: 4 service types, 9 MTO disciplines (piping most complex). Indirect cost calculations. Async import via Azure Functions. S-Curve & waterfall reporting. -> docs/ARCHITECTURE.md

Feature Documentation

Schedule/Activities (P6 SQLite), COA KPIs (L1-L8 hierarchy), Demo Data, MTO Enhancement Hooks. Estimation Comparison, WBS Versions, Scheduling Workflows, S-Curve drill-down, Dropdown Options. -> docs/features/

Documentation Map

Topic File
Daily Essentials CLAUDE.md
Setup docs/QUICK_START.md
Architecture docs/ARCHITECTURE.md
API docs/API_REFERENCE.md
Auth docs/auth/AUTH_IMPLEMENTATION.md
Database docs/database/INDEX.md
Frontend docs/frontend/ARCHITECTURE.md
Frontend Styles docs/frontend/STYLES.md
Component Patterns docs/frontend/COMPONENT_PATTERNS.md
Backend docs/backend/ARCHITECTURE.md
MTO Import/Export docs/backend/MTO_IMPORT_EXPORT_GUIDE.md
Import Processing docs/backend/IMPORT_PROCESSING_ARCHITECTURE.md
Deployment docs/backend/README.md
Features docs/features/
GitHub Gists docs/GITHUB_GISTS.md

Resources

Figma: https://www.figma.com/design/j7TNpJZBxS1ow1yh5Y1ntL API Docs: http://localhost:8000/api/docs