Commit Graph

4 Commits

Author SHA1 Message Date
Simon 396148aea2 feat: email verification via Resend + admin user management
- Add email verification flow: register sends verify link, login blocks unverified accounts, 24h token expiry, resend endpoint (3/h rate limit).
- Add mailer module using Resend with branded HTML + plaintext template.
- Extend admin dashboard: verified-status column, toggle verify/unverify buttons, promote/demote admin role, delete any non-self user.
- Migrate users table: email_verified, verify_token, verify_expires columns.
- Load env via dotenv; add .env to gitignore.
2026-04-18 01:33:45 +02:00
Simon 8f75bc6a10 feat: add TOTP 2FA with QR code and manual secret entry 2026-04-17 22:56:39 +02:00
Simon ae789318ba feat: add teacher system with approval flow
- Teacher registration requires subject selection; account starts pending
- Admin approves/rejects via existing admin panel
- Teacher panel (Materialien, Ankündigungen, Prüfungen, Noten) visible only to approved teachers
- Students see class materials and announcements via sidebar overlays
- Teachers can assign grades to students (scoped to own subject)
- New tables: teacher_materials, teacher_announcements, teacher_exams, teacher_assigned_grades
- subject column added to users; included in JWT and /api/me
- requireTeacher middleware fetches fresh status+subject from DB on every request
- Login hint: username is the part of the school email before the @
2026-04-17 10:00:09 +02:00
Simon db5efd8ed9 clean initial commit 2026-04-17 00:12:47 +02:00