Developer Documentation ======================= Technical documentation for developers working on the Co-Design platform services. The Co-design Platform follows a layered architecture with clear separation of concerns. High-Level Architecture ------------------------ .. code-block:: text ┌──────────────────────────────────────────────────────────────────┐ │ Frontend (React) │ │ • Project dashboard • Template forms • Chat interface │ └────────────────────────────────┬─────────────────────────────────┘ │ HTTP/REST + Streaming ┌────────────────────────────────▼─────────────────────────────────┐ │ API Layer (FastAPI) │ │ • Routers: projects, templates, chat, diagnosis, users │ │ • Schemas: Pydantic request/response validation │ │ • Middleware: CORS, exception handling │ │ • Auth: JWT decode + permission checks │ └──────────┬───────────────────────┬──────────────────┬────────────┘ │ │ │ ┌──────────▼──────────┐ ┌────────▼────────┐ ┌─────▼───────────┐ │ Service Layer │ │ Chat Service │ │ PDF Service │ │ • ProjectService │ │ • Orchestrator │ │ • Export │ │ • TemplateService │ │ • 30+ Agents │ │ • Reports │ │ • UserService │ │ • RAG Pipeline │ │ │ │ • DiagnosisService │ │ • Streaming │ │ │ └──────────┬───────────┘ └────────┬────────┘ └─────────────────┘ │ │ ┌──────────▼───────────────────────▼──────────────────────────────┐ │ Repository Layer │ │ Generic CRUD: create / get_by_id / list / update / delete │ └──────────┬───────────────────────┬──────────────────────────────┘ │ │ ┌──────────▼──────────┐ ┌────────▼────────────────────────────┐ │ PostgreSQL │ │ External Services │ │ • Projects │ │ • Weaviate (vector search) │ │ • Users │ │ • LiteLLM (LLM gateway) │ │ • Templates │ │ • Neo4j (graph, optional) │ │ • Chat checkpoints │ │ • SearXNG (web search) │ └─────────────────────┘ └─────────────────────────────────────┘ Backend ------- .. toctree:: :maxdepth: 2 backend/index Frontend -------- .. toctree:: :maxdepth: 2 frontend/README