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

┌──────────────────────────────────────────────────────────────────┐
│                        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

Frontend