Skip to main content

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/
  1. Go to your institute's admin URL
  2. Log in through your institute's SSO provider (Keycloak)
  3. 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.