Skip to content

UC-STU-005: Notifications & Alerts

1. Metadata

Property Value
ID UC-STU-005
Actor Student, Administrator
Trigger System event (new module, screening due, streak reminder) or admin broadcast
Pre-conditions User has granted notification permissions
Post-conditions Notification is delivered and logged; unread count displayed on bell icon
Priority P1

2. Description

The notification system surfaces contextually relevant alerts via the in-app bell icon and push notifications. It serves two audiences: students (engagement nudges, new content alerts) and admins (health threshold breaches, operational reminders).

3. Notification Types

Type Audience Trigger Example
New Module Available Student Admin publishes curriculum "A new Fruits lesson is ready for you."
Screening Due Student / Coordinator 30-day cycle elapsed "Your monthly health check is scheduled for Friday."
Streak Reminder Student No activity by 6 PM "Don't break your 5-day streak — log something today!"
At-Risk Alert Admin BMI percentile flag "3 students at Greenwood School flagged for review."
Broadcast Announcement All Users Admin manual trigger "School nutrition day is tomorrow."

4. Bell Icon Behaviour

  • Unread badge: Red dot on the bell icon when unread notifications exist.
  • Notification tray: Tapping the bell opens a list, newest first.
  • Mark as read: Automatic on view; bulk "Mark all as read" also available.
  • Deep link: Each notification taps through to the relevant screen (module, student record, etc.).

5. Acceptance Criteria

  • [ ] Bell icon badge count must update in real time (websocket or push).
  • [ ] Maximum 2 engagement nudges per student per day (configurable by Admin).
  • [ ] Admin broadcast must support school-level targeting (not just platform-wide).
  • [ ] Notification history must be retained for 30 days.
  • [ ] Notifications must work without internet (queued for delivery on reconnect).

6. Notification Flow

sequenceDiagram participant SYS as System / Admin participant API as Notification Service participant DEV as Student Device participant APP as Student App SYS->>API: Trigger event (new module / alert) API->>API: Evaluate targeting rules API->>DEV: Send push notification (FCM / APNs) DEV->>APP: User opens app APP->>API: Fetch notification tray API->>APP: Return unread list APP->>APP: Update bell icon badge count