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) │
└─────────────────────┘ └─────────────────────────────────────┘