Refactor Nginx configuration and update project dependencies

- Cleaned up the Nginx configuration for the Coolify deployment, ensuring proper formatting and organization.
- Updated the `pyproject.toml` file to maintain consistent formatting.
- Reformatted the `requirements.txt` file for better readability while keeping the dependencies unchanged.
This commit is contained in:
zwitschi committed 2026-09-03 15:05:27 +02:00
1 parent 3b8c30c289
commit a4b874598d
88 files changed
+9766 -9766

No files matched your search

+23 -23
View File
@@ -1,23 +1,23 @@
# 4. Solution Strategy
A short summary and explanation of the fundamental decisions and solution strategies that shape system architecture. It includes:
- Technology decisions
- Decisions about the top-level decomposition of the system, e.g. usage of an architectural pattern or design pattern
- Decisions on how to achieve key quality goals
- Relevant organizational decisions, e.g. selecting a development process or delegating certain tasks to third parties
Micro‑service style: a single FastAPI process handles all API endpoints; a separate Flask process serves the UI.
| Quality Goal | Scenario | Solution Approach |
| ----------------- | ------------------------ | --------------------------------------------------------- |
| High availability | Service must be up 99.9% | Docker containers with health checks and restart policies |
| Low latency | Responses < 200 ms | FastAPI async endpoints; DuckDB in-process |
| Data privacy | Encrypted data | JWT auth, HTTPS everywhere, DuckDB file encryption |
**Key technology decisions:**
- **FastAPI** for async performance and automatic OpenAPI docs
- **DuckDB** for a lightweight embedded DB with no separate server
- **Flask** for a thin frontend layer with Jinja2 templates
- **openrouter.ai** for unified access to multiple AI model providers
# 4. Solution Strategy
A short summary and explanation of the fundamental decisions and solution strategies that shape system architecture. It includes:
- Technology decisions
- Decisions about the top-level decomposition of the system, e.g. usage of an architectural pattern or design pattern
- Decisions on how to achieve key quality goals
- Relevant organizational decisions, e.g. selecting a development process or delegating certain tasks to third parties
Micro‑service style: a single FastAPI process handles all API endpoints; a separate Flask process serves the UI.
| Quality Goal | Scenario | Solution Approach |
| ----------------- | ------------------------ | --------------------------------------------------------- |
| High availability | Service must be up 99.9% | Docker containers with health checks and restart policies |
| Low latency | Responses < 200 ms | FastAPI async endpoints; DuckDB in-process |
| Data privacy | Encrypted data | JWT auth, HTTPS everywhere, DuckDB file encryption |
**Key technology decisions:**
- **FastAPI** for async performance and automatic OpenAPI docs
- **DuckDB** for a lightweight embedded DB with no separate server
- **Flask** for a thin frontend layer with Jinja2 templates
- **openrouter.ai** for unified access to multiple AI model providers