--- title: '04.01 — Client-Server Architecture' description: 'Details on the client-server architecture of CalMiner.' --- # 04.01 — Client-Server Architecture - **Backend**: FastAPI serves as the backend framework, providing RESTful APIs for data management, simulation execution, and reporting. It leverages SQLAlchemy for ORM-based database interactions with PostgreSQL. - **Frontend**: Server-rendered Jinja2 templates deliver dynamic HTML views, enhanced with Chart.js for interactive data visualizations. This approach balances performance and simplicity, avoiding the complexity of a full SPA. - **Middleware**: Custom middleware handles JSON validation to ensure data integrity before processing requests.