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.