Files
ad/README.md
T

43 lines
1.6 KiB
Markdown

<!-- retoor <retoor@molodetz.nl> -->
# Molodetz
Blogrol van de Molodetz-community. Rustig, serif, licht provocerend. Berichten zijn markdown in SQLite, geschreven door retoor via een beheeromgeving. Flyers en memes zijn galerijen. Binnen is een echt aanmeldformulier ("Ik schrijf mee").
Gebouwd volgens de bevroren DPP-template (`/workspace/dpp/dptemplate.md`). Zie `SELECTION.md` voor de modulekeuze en `COMPLIANCE.md` voor de toetsing.
## Starten
```
make install # venv in .venv, pip install -e ".[dev]", Chromium, git hooks
cp .env.example .env # alleen als er nog geen .env is; chmod 600 .env
make dev # http://127.0.0.1:8088, reload
make prod # workers, gepinde static-versie
```
Zonder make:
```
.venv/bin/python -m uvicorn molodetz.main:app --host 127.0.0.1 --port 8088
```
De eerste start maakt de beheerder aan uit `MOLODETZ_ADMIN_USERNAME` / `MOLODETZ_ADMIN_EMAIL` / `MOLODETZ_ADMIN_PASSWORD` in `.env`, zaait de placeholderberichten eenmalig en synchroniseert de galerij. Inloggen via `/auth/login`, beheer via `/admin`.
## Testen
```
make test # unit + api + e2e (Playwright, headless)
make test-headed # zichtbaar met slow motion
make check-ui # zes statische poorten + em-dash + json_error-volgorde
make preflight # import, pyflakes, JS-syntax, sqlglot-lint, check-ui
make coverage
make locust-headless
```
## CLI
`molodetz --help`: rollen, API-sleutels, posts list/import (.md en .pdf via pypdf), aanmeldingen, back-ups, prunes, sql-lint, emoji regenerate.
## Data
Alles onder `data/` (database `molodetz.db`, uploads, back-ups, sleutels, locks). `.env` en `data/` staan in `.gitignore`.