Accounts & roles
Authentication uses Better Auth (email + password). Four roles exist,
implemented in web/src/lib/server/guard.ts and the seed
(web/scripts/seed_accounts.ts).
| Role | See lessons | Messages | Admin tab | User management | Parent portal |
|---|---|---|---|---|---|
admin |
all | β | β | β | β |
director |
all | β | β | β | β |
teacher |
own* | β | β | β | β |
parent |
parent portal | β | β | β | β |
* teacher filtering is applied when the user is teacher
(listLessons(teacherId) + sessions.teacher_id filter).
Demo accounts (password: demo1234)
| Role | Display name | |
|---|---|---|
| Admin | [email protected] |
NEXORA Admin |
| Director | [email protected] |
School Director |
| Teacher | [email protected] |
Rania Khalil |
| Parent (2 children) | [email protected] |
M. Mansour |
| Parent | [email protected] |
A. Al-Rashidi |
| Parent | [email protected] |
F. Hassan |
The login page offers one-click accounts: clicking an account fills the form (password is pre-filled), you just press Sign In β.
Administrative rights (Admin zone)
adminonly: user management, parentβstudent links, pipeline launch.- Staff (
teacher,admin,director): classes / sessions / students management, video upload, CSV import β pipeline.
The 3 demo subjects
One class βMarch 2026β, 31 students (S001βS031), 15 lessons = 3 subjects Γ 5:
| Subject | Videos | Dates |
|---|---|---|
Islamic Education (SUB-ISLAM) |
islam_march_01..05.mp4 |
2026-03-02 / 03-16 |
Mathematics (SUB-MATH) |
math_march_01..05.mp4 |
2026-03-03 / 03-17 |
Arabic (SUB-ARAB) |
arab_march_01..05.mp4 |
2026-03-04 / 03-18 |
The demo annotations are synthetic but deterministic (seed 42 + lesson
index): fully replayable (see processing/scripts/generate_march_data.py).