Identity & Access · 01
Login
Single-column auth surface matching the built Angular component: 28rem max-width card region, clay primary action, green link accents, 44px touch targets. Supabase Auth session handled by the client.
Spec §6 Identity · Epic 1 · matches auth.scss in reporole="alert" error below on invalid, aria-invalid wired.aria-busy while submitting.Identity & Access · 02
Register — 6-step wizard
Mirrors the shipped component one-to-one: one underlying FormGroup, per-step validation, native progress element, focus moved to the step heading on navigation. Steps: About you → A few details → Your school → How we reach you → Guardian details → Create a password.
Spec §6 Identity · Epic 1 · matches register.component.html in repoStep 3 of 6
Please choose your school to continue.
Step 5 of 6
Because you're under 18, a parent or guardian must give consent for you to use RCL Hub.
5<progress> + "Step n of 6" with aria-live="polite". Step title takes focus on next/back so screen readers announce the new step.schoolRequired / schoolNameRequired) enforce one or the other.passwordMismatch validator) ends in submit → success state with "Sign in" link.Learner Home · 03
Learner dashboard
The personalised starting point: quote of the day, today's governance work, learning progress and points — every pillar of the platform surfaced once, nothing duplicated. Role-gated: learners see participation; RCL members additionally see their committee duties.
Spec §8 — Learner home · KPI: human-centred & participatoryFemale Leadership
Level 2 · Application — awaiting your submission
RCL general meeting
14:30 · School hall · RSVP confirmed
Poster for civvies day
Task · due tomorrow
Vote: water station proposal
Voting closes 17:00 today
PointsTransaction and UserLessonProgress. Tapping opens Badges & achievements.Governance · 04
Proposal list
Card-based feed of proposals for the learner's governance unit, filterable by status. Matches the built GovernanceService ViewState pattern — loading, empty, error and content states all designed.
Spec §8 — Governance · Epic 2 · built: proposal-list componentWater station at sports field
Install a filtered water point near the netball courts.
Recycling bins per classroom
Partner with EnviroClub to place sorting bins in every Grade 8–12 classroom.
Library Saturday hours
Open the library 09:00–12:00 on Saturdays during exams.
Governance · 05
Proposal detail & vote
Full proposal with a single, prominent ballot. One vote per learner enforced by unique constraint; the cast state replaces the ballot entirely so the learner always knows their vote landed.
Epic 2 · built: proposal-detail component · unique (proposal_id, user_id)Water station at sports field
Install a filtered water point near the netball courts so learners don't miss practice walking to the tuck shop taps. Estimated cost R4,800 from the SGB maintenance line.
You can vote once. Results show when voting closes.
Governance · 06
Submit proposal
Typed reactive form, deliberately short — title, category, motivation, optional budget. Drafts save locally so a learner on patchy data never loses a half-written proposal.
Epic 2 · built: submit-proposal componentKeep it short — your RCL reads this aloud in the meeting.
Governance · 07
Meetings & attendance
Upcoming meetings with RSVP, agenda preview and verified attendance — attendance is an M&E signal and a points event, so verification is explicit, not assumed.
Spec §13 — attendance verification · Epic 2RCL general meeting
Agenda: water station vote result · civvies day · term 3 plan
Sports committee
Committee members only · 2 agenda items
RCL general meeting
29 May · Attendance verified by Ms Dlamini
Exec planning
22 May · You were absent (apology recorded)
Governance · 08
Tasks
Lightweight task board scoped to the learner's memberships. Assignments come out of meetings and committees; completion is reviewable so task points stay credible.
Epic 2 · Task / TaskAssignment tablesPoster for civvies day
From: RCL general meeting · assigned by S. Khumalo
Collect recycling quotes
From: Sports committee · shared with L. Pule
Term 2 suggestion box summary
Submitted Tue · waiting for Ms Dlamini to confirm
Learning · 09 · NEW MODULE
Learning hub
Entry point to Epic 3. Each lesson/theme card carries the three-level mastery rail — Knowledge → Application → Paying Forward → Badge — so the progression model is visible before a learner even opens a lesson. This rail is the signature element of the module and repeats on every learning screen.
Spec §7.2–7.3, §8 — Learning hub · Epic 3Your mastery journey
3 of 8 themes mastered · 2 badges this term
Female Leadership
forward
Governance Ethics
forward
Public Speaking
forward
Conflict Resolution
Not started · 12 sections · ±40 min reading
uvwLessonMastery. "Mastered" means Level 3 approved — never just quiz completion.Learning · 10 · NEW MODULE
Lesson detail
Theme content split into short sections (cognitive accessibility), with the mastery rail pinned up top and the three assessment levels listed with their evidence type, review type and points weighting — exactly the spec's traceability table, rendered for a learner.
Spec §7.3 table — evidence / review / weighting per levelforward
1 · Women who led before us
Read · 5 min · audio available
5 · Leading in your school
6 min · audio available
Level 1 · Quiz
10 questions from the pool · auto-marked · low points
Level 2 · Application
Written or PDF reflection · reviewed by a teacher · medium points
Level 3 · Paying forward
Evidence of a real initiative · verified · highest points + badge
Learning · 11 · NEW MODULE
Level 1 — Knowledge quiz
Randomised questions drawn from the QuestionBank pool; the exact served set is persisted to UserAssessmentQuestion before the learner answers — traceability is written first, scored second.
Spec §7.3 L1 · randomised pool · auto-scored · served questions storedQuestion 4 of 10
An RCL member is offered tuck-shop vouchers to vote a certain way on a proposal. What should they do?
Your answers save as you go — safe to lose signal.
Learning · 12 · NEW MODULE
Level 2 — Application submission
Written or PDF reflection requiring human review. The file itself goes to cloud storage; the database stores the SubmissionAsset path and metadata only. Status is always visible after submission.
Spec §7.3 L2 · human review · SubmissionAsset · originality check optionalWrite about a woman leader in your community and one practice of hers you can use in your RCL role. 300–500 words, or upload a PDF.
Reviewed by your teacher · you'll get a notification
Learning · 13 · NEW MODULE
Level 3 — Paying forward
The leadership step: evidence of a real school or community initiative — audio, video, photos or links — verified by an authorised reviewer. This is what earns mastery and the badge, so the screen treats it with weight.
Spec §7.3 L3 · verified evidence · highest points · gateway to badgeShow the lesson in action: an initiative you ran or helped run at school or in your community. A mentor circle, a talk, a clean-up, a campaign.
Verified evidence earns the highest points and your mastery badge.
Learning · 14 · NEW MODULE
Results & mastery
The payoff screen. Level 3 approved → lesson marked mastered → badge awarded → points and activity logs updated — the spec's progression sentence, rendered as a moment worth screenshotting (and showcasing at the 2026 Summit).
Spec §7.3 — badge = verified leadership mastery · KPI: Summit showcaseforward
Points earned
Quiz +30 · Application +80 · Paying forward +150
Verified by
Ms Dlamini · Teacher liaison · "Outstanding initiative, Thandi."
Learning · 15 · NEW MODULE
Reviewer queue — teacher / coordinator
The human-review side of Levels 2 and 3. Desktop-first surface for teachers, coordinators and TOs: pending submissions, evidence preview, approve / request changes with a mandatory comment. Every decision writes a UserAssessmentReview record.
Spec §7.3 traceability · §13 "were activities verified?"| Learner | Lesson | Level | Type | Waiting | |
|---|---|---|---|---|---|
TMThandi M. · Gr 10 | Female Leadership | L3 | Photos + voice note | 1 day | Open |
SPSipho P. · Gr 11 | Governance Ethics | L2 | PDF · 420 words | 2 days | Open |
LNLerato N. · Gr 9 | Public Speaking | L3 | YouTube link | 3 days ⚠ | Open |
"Started a Grade 8 girls' debate circle, 6 sessions this term…" · 📷 2 photos · 🎙 1:40 voice note
Engagement · 16 · NEW MODULE
Badges & achievements
The learner's recognition shelf: mastery badges (earned only via Level 3), participation milestones, and the points ledger. Locked badges stay visible — aspiration is the point.
Epic 4 · Badge / UserBadge / PointsTransactionMeeting attendance verified
RCL general · 29 May
Level 2 approved
Governance Ethics
Engagement · 17 · NEW MODULE
Leaderboard
School, district, provincial and national tiers riding the GovernanceUnit hierarchy. Designed to motivate without humiliating: top performers celebrated, everyone else sees their own position privately framed.
Epic 4 · uvwLeaderboard · KPI: Summit national rankingsS. Khumalo · Gr 12
4 masteries · 96% attendance
L. Pule · Gr 11
3 masteries
B. Nkosi · Gr 10
3 masteries
You
370 points to #3 — one Level 3 away
Engagement · 18 · NEW MODULE
Quote gallery
Curated, moderated quote cards — the Ubuntu storytelling layer. Cards are designed share-ready for communications use (Summit, social), which is the media-relations KPI in product form.
KPI: media relations & branding · quote gallery · featured contentEngagement · 19 · NEW MODULE
Learner stories & blog
Approved learner stories, achievements and video links in a low-bandwidth feed. Stories can be born straight from a mastery moment (screen 14) and curated nationally for the Summit.
LearnerStory · moderated media links · KPI: storytelling & visibilityThe debate circle that found 12 new voices
How Thandi's Grade 8 girls' debate circle grew from a Level 3 project into a weekly fixture…
Cleaning the Jukskei: RCL eco week
Captions available · transcript attached
From suggestion box to water station
A proposal, a vote, and three weeks of follow-through at Phomolong Secondary.
Accessibility · 20 · NEW MODULE
Accessibility & language settings
Epic 6 as a first-class surface, not a footnote: language, text-to-speech, captions, text size, simplified navigation and data saver. Every control here changes behaviour platform-wide and persists to the profile.
Spec §9 · Epic 6 · en / zu / nso via ngx-translateRead aloud
Text-to-speech on lessons and stories
Captions & transcripts
Always show on video and audio
Larger text
Scales the whole app, reflows — no zooming
Simplified mode
Fewer items per screen, plainer wording, bigger targets
Data saver
No images on feeds, download lessons on Wi-Fi only
Analytics & Reporting · 21
School analytics
The teacher/principal view of one school: participation, mastery, governance throughput and drop-off — each chart answering one of the M&E questions in spec §13.
Epic 5 · uvwParticipationSummary · reporting schemaBottleneck: Level 2 review latency
Median 4.2 days from submission to review · 11 items older than a week
Analytics & Reporting · 22
Provincial dashboard
District-level comparison within a province for DBE provincial officials — adoption, engagement and mastery rolled up through the GovernanceUnit hierarchy.
Epic 5 · GovernanceUnit recursion · DBE official role| District | Schools active | Participation | Masteries | Trend |
|---|---|---|---|---|
| Johannesburg North | 184 / 201 | 76% | 1,043 | ▲ |
| Tshwane South | 149 / 178 | 71% | 887 | ▲ |
| Sedibeng East | 61 / 122 | 44% | 203 | ▼ |
Analytics & Reporting · 23
National dashboard & M&E exports
The Summit screen: national reach, provincial rankings, showcase-ready achievement highlights, and the export library UNICEF/DBE M&E teams pull their evidence from.
KPI: National Learner Leadership Summit 2026 · M&E exportsM&E export library
Participation summary · Lesson mastery · Verified initiatives · Attendance · CSV / XLSX, term or custom range
Administration · 24
Users & permissions
Admin management of accounts, roles and memberships across the governance hierarchy. UI is API/RLS-mediated — admins never touch the database directly (spec §11).
Spec §11 RBAC · UserAccount / Membership / Position| User | Type | Governance unit | Position | Status | |
|---|---|---|---|---|---|
TMThandi Mokoena | Learner | Phomolong Sec. | RCL Secretary | Active | Edit |
PDMs P. Dlamini | Teacher | Phomolong Sec. | Teacher liaison | Active | Edit |
KMK. Mahlangu | Official | JHB North district | District coordinator | Invited | Resend |
2026 · RCL Secretary, Phomolong Sec. · 2025 · Class rep, Gr 9B — role history preserved for progression tracking, never overwritten.
Administration · 25
Content moderation & configuration
Every public-facing artifact — stories, quotes, video links — passes through this queue before learners or the public see it. Configuration covers points rules, badge definitions and quiz pass marks.
Spec §8 Administration · moderated submissions · PointsRule| Item | Type | Submitted by | School | |
|---|---|---|---|---|
| The debate circle that found 12 new voices | Story | Thandi M. | Phomolong Sec. | Review |
| "Listening is half the job." | Quote | Lerato N. | Mthatha High | Review |
| youtube.com/watch?v=… · eco week | Video link | Sipho P. | Phomolong Sec. | Review |
Points — L1: 30 · L2: 80 · L3: 150 · verified attendance: 20 | Quiz pass mark: 70% | Badges: 8 defined | Changes versioned + logged.
Notifications · 26
Alerts & notifications
The in-app inbox behind the bell on every screen: reminders, activity alerts and engagement nudges grouped by recency, with per-category preferences. Phase 1 is in-app only — the same notification records are the feed a future push channel will consume, so nothing here gets rebuilt for native (spec §1.2 future-ready).
Spec §6 — Notifications: in-app reminders, activity alerts, future push, engagement nudgesLevel 3 verified — badge earned 🏅
Ms Dlamini approved your Female Leadership evidence · tap to see your result
Voting closes in 2 hours
Water station at sports field · you haven't voted yet
Task due tomorrow
Poster for civvies day · from RCL general meeting
Your Level 2 was reviewed
Governance Ethics · approved · +80 points
Pick up where you left off?
Conflict Resolution has been waiting 5 days — section 1 is a 5-min read
RSVP reminder
RCL general meeting today 14:30 · you said you're going
Voting deadlines
Open proposals closing within 24 hours
Tasks & meetings
Due dates, RSVPs and agenda changes
Review outcomes
Level 2 and 3 decisions on your submissions
Points & badges
Recognition and leaderboard movement
Nudges
Gentle reminders for unfinished lessons
Notifications appear in the app only. Push notifications to your phone are planned for a future release.