Architecture Overview
As is now, everything is served through Django (including the dashboard and documentation). This was convenient to get started and is not the final target architecture.
System Components
Optional CDN Layer
We can add aggressive caching for the frontend layer by pushing static assets to external storage and serving them through a CDN, while keeping the API on Django.
Technology Stack
- Backend: Django 6.0 + Python 3.13
- API: Django Ninja (REST framework)
- Frontend: Vue 3 + Vite 7 + PrimeVue
- Documentation: VitePress
- Static Files: WhiteNoise
- Database: PostgreSQL (production) / SQLite (dev)
- Cache: Redis (production) / local memory (dev)
- Deployment: Docker + Kamal 2.x
- Package Manager: uv (Python), npm (Node.js)