43 lines
1.6 KiB
Markdown
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`.
|