Development
Setup
git clone https://github.com/pyobs/pyobs-web-admin.git
cd pyobs-web-admin
uv sync
uv run python manage.py runserver
See Installation for the full development setup, and Configuration for
local_settings.py.
Tests
uv run python manage.py test modules
Tests live in modules/tests.py using plain unittest.TestCase, not Django’s
TestCase – this app has no database to wrap in transactions (sessions are signed
cookies, see Architecture), so the extra machinery Django’s test case provides
doesn’t apply here.
Design docs
Non-trivial features get a short design document at the repository root before
implementation (DEV_ACL_MATRIX.md, DEV_EJABBERD_INTEGRATION.md,
DEV_EJABBERD_USER_MANAGEMENT.md, DEV_JOURNALD_LOGS.md), each following the same shape:
Status, Motivation, Current state, Design, Open questions, Work Plan. DEVELOPMENT.md is
the index pointing at each one plus a running list of not-yet-designed ideas. These are
implementation journals aimed at whoever picks the feature back up, not end-user
documentation – the Features pages in this manual (Dashboard and module detail onward) are
the distilled, current-state version of what shipped from each of them.