Support many children (a whole class) with simple, child-friendly authentication.
This is Mode 3 (School) of the 3-tier profile system. See docs/ROADMAP.md.
How it works
- Admin sets
profile_mode to school in settings
- On app launch, a login screen asks for username + password
- Login is designed for 10-year-olds — not a corporate form
Kid-friendly password options (pick one or offer choice per child)
- Colour code — pick 4 colours from a grid (e.g. red-blue-green-yellow)
- Picture password — tap 4 icons in order from a grid of 12
- Short PIN — 4-digit number pad (simple, familiar)
- Text password — traditional, for older/confident kids
Whichever method, keep it visual, big buttons, no keyboard required if possible.
Username
- Set by admin (first name, or nickname)
- Shown on login screen as a list or typed in (depending on class size)
- For small groups: show avatar cards like family mode, but require password after tapping
- For large groups: type-to-search username list
Admin features
- Create/edit/delete student profiles (name, avatar, password method)
- Reset password for any student
- View all students' progress in a table/grid
- Bulk import students (CSV: name, optional username)
- Optional: group students by class/year
Database changes
- Add to
profiles: username (unique), password_hash, password_type (colour/picture/pin/text)
- Add
settings key: profile_mode = school
- Session management: student sessions (separate from admin sessions)
Security notes
- Student passwords are hashed (bcrypt) same as admin
- Student sessions are cookies, same pattern as admin auth
- No email, no personal data beyond first name
- Admin can see/reset passwords but never view them
Prerequisites
Support many children (a whole class) with simple, child-friendly authentication.
This is Mode 3 (School) of the 3-tier profile system. See docs/ROADMAP.md.
How it works
profile_modetoschoolin settingsKid-friendly password options (pick one or offer choice per child)
Whichever method, keep it visual, big buttons, no keyboard required if possible.
Username
Admin features
Database changes
profiles:username(unique),password_hash,password_type(colour/picture/pin/text)settingskey:profile_mode=schoolSecurity notes
Prerequisites