Dashboard
The Dashboard is the starting screen of the admin panel. It gives a system overview and quick access to management functions.
Accessing the admin panel
Each institute has its own tenant schema and a dedicated admin URL:
https://<domain>/<institute-slug>/admin/
- Go to your institute's admin URL
- Log in through your institute's SSO provider (Keycloak)
- Your role (superuser, admin, teacher) determines which sections you see
Tenant isolation
Each institute runs in its own isolated PostgreSQL schema. All data (exams, sessions, SEB configs, users) is scoped to that schema.
Cross-tenant access
There is no cross-tenant data access — the URL prefix decides which institute's data is served.
Superuser tenant management
Superusers manage tenants with server commands:
python manage.py list_tenants # List all tenants
python manage.py add_tenant <slug> "<Name>" # Add a tenant
python manage.py delete_tenant <slug> # Delete a tenant
There is no tenant management in the admin UI. This prevents accidental schema changes.
Example
python manage.py add_tenant default-institute "Default Institute" creates
the schema, the route, and the institute record in one step.