Translate the whole site to English: English routes with 301 redirects from the Dutch paths, English UI, docs, seeds and captions, one-time live content migration
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
# Architecture
|
||||
|
||||
FastAPI with Jinja2, rendered on the server. SQLite through `dataset`, synchronous and deliberately without a threadpool. Sessions with PBKDF2-SHA256 passwords.
|
||||
|
||||
## Layers
|
||||
|
||||
- `molodetz/database/`: one file per subject, always import from the package root.
|
||||
- `molodetz/routers/`: mirrors the URL path.
|
||||
- `molodetz/services/`: background services under one supervisor with a file lock.
|
||||
- `molodetz/templates/`: one Jinja environment in `templating.py`.
|
||||
|
||||
## Deleting
|
||||
|
||||
Everything is soft deleted with `deleted_at` and `deleted_by`. Only cleanup jobs delete for real.
|
||||
|
||||
## Static files
|
||||
|
||||
Assets go through `static_url()`, which versions them under `/static/v<version>/`. Those are immutably cacheable for a year.
|
||||
Reference in New Issue
Block a user