19 lines
730 B
Markdown
19 lines
730 B
Markdown
# Architectuur
|
|
|
|
FastAPI met Jinja2, server-side gerenderd. SQLite via `dataset`, synchroon en bewust zonder threadpool. Sessies met PBKDF2-SHA256 wachtwoorden.
|
|
|
|
## Lagen
|
|
|
|
- `molodetz/database/`: één bestand per onderwerp, importeer altijd vanaf de package-root.
|
|
- `molodetz/routers/`: spiegelt het URL-pad.
|
|
- `molodetz/services/`: achtergrondservices onder één supervisor met een bestandsslot.
|
|
- `molodetz/templates/`: één Jinja-omgeving in `templating.py`.
|
|
|
|
## Verwijderen
|
|
|
|
Alles wordt zacht verwijderd met `deleted_at` en `deleted_by`. Alleen opruimtaken verwijderen hard.
|
|
|
|
## Statische bestanden
|
|
|
|
Assets lopen via `static_url()`, wat ze versioneert onder `/static/v<versie>/`. Die zijn een jaar onveranderlijk cachebaar.
|