Skip to main content

Notice Board & Alerts

Every announcement in Scholiphi flows through a single Alerts pipeline. Teachers pick a typed form (urgent, holiday, PTM, exam, school event, result declaration, homework notice, general notice), aim it at the whole school, specific classes, or specific sections, and publish. The same record then surfaces in the right place for each audience: the student Notice Board, the parent Notice Board, push notifications, and — depending on type — dashboard cards for upcoming events.

At a glance

Who can do thisTeachers / class teachers create & publish alerts · Students see filtered notices on their notice board · Parents see all alert types in their feed
Where it livesTeacher app /dashboard/alerts (list) · /dashboard/alerts/{type} (create) · /dashboard/alerts/{type}/:id/edit (edit draft) · /dashboard/alerts/:id/sent (read-only sent view) · Student app /dashboard/notice-board · Parent app /notice-board
Triggers notifications?Yes — push + in-app to every targeted student and their parents on publish
Related featuresNotifications · Homework · PTM · Exams

Alert types

The 8 typed forms behind the + Create button on the alerts page:

Type codeLabelUse caseDistinct fields
NOTICEGeneral NoticeCatch-all infotitle, description, attachments, priority
URGENTUrgent AlertAnything that needs immediate attention (closure, safety, surprise schedule change)priority defaults HIGH, surfaces with red treatment
HOLIDAYHoliday AnnouncementSchool off / breakstart date, end date
EVENTSchool EventSports day, fair, culturalevent date, venue, agenda
PTM / MEETINGPTM MeetingParent-teacher meetmeeting date, slots / link — feeds the PTM flow
EXAMExam AnnouncementSchedule a test for a classexam date, subject — drives Exams listing
HOMEWORKHomework NoticeHeads-up about a homework droplinked homework metadata — see Homework
RESULTResult DeclarationMarks released for an examexam reference, declaration date

Each alert also carries: priority (LOW / MEDIUM / HIGH), status (DRAFT / PUBLISHED / SENT), scheduledAt, docAttachmentsUrls[], and target audience.

How it flows

Status lifecycle

Draft is teacher-only. Students/parents only ever see Published (scheduled future) or Sent alerts.

Step-by-step

1. Teacher opens the alerts hub

  • Route: Teacher app → /dashboard/alerts
  • Top bar: search icon, filters (date range), and + Create button.
  • Stats strip: Active alerts, Upcoming events, Sent this week.
  • Tab filter: All, Exam, PTM, Event, Holiday, Urgent, Notice, Homework, Result.
  • Cards show type, title, target classes, scheduled time, status, attachments badge.

2. Create a new alert

  • Tap + Create → bottom sheet with 8 typed action cards.
  • Pick a card → navigates to the type's form (/dashboard/alerts/general-notice, /dashboard/alerts/urgent-alert, /dashboard/alerts/holiday-announcement, /dashboard/alerts/school-event, /dashboard/alerts/ptm, /dashboard/alerts/exam-announcement, /dashboard/alerts/homework-notice, /dashboard/alerts/result-declaration).
  • Form fields are typed-specific (see table above) but every form has: title, description (rich text), attachments (PDF / images), priority.

3. Save as draft or publish

  • Save Draft persists the alert with status=DRAFT. It only shows up on the teacher's alerts list.
  • Publish opens the Audience & Schedule sheet:
    • Target classes (e.g. ["Class 5", "Class 6"]) — translates to all sections of those classes.
    • Target sections (e.g. ["5-A", "6-B"]) — narrower; specific sections only.
    • Empty target → defaults to whole school.
    • Send at — now or schedule for later.
  • Confirm → status flips to PUBLISHED; backend fans out push + in-app notifications.

4. Editing & deletion

  • Tapping a DRAFT card on the list re-opens the typed form prefilled (/dashboard/alerts/{type}/:id/edit).
  • Tapping a SENT card opens a read-only detail page (/dashboard/alerts/:id/sent) with delivery info.
  • Drafts can be deleted via the card menu.

5. Student visibility

  • Route: Student app → /dashboard/notice-board
  • Surfaces only NOTICE, URGENT, HOMEWORK types (the rest live elsewhere — exams in /dashboard/exams, results in /dashboard/school/results, holidays/events in dashboard widgets).
  • Cards group by date, sorted newest-first. Tap → detail drawer with full description, attachments, teacher review/notes.
  • Pull-to-refresh; deep-link ?id= or ?alertId= opens drawer directly (used by push-tap).

6. Parent visibility

  • Route: Parent app → /notice-board
  • Shows all 8 alert types (parents are the catch-all audience).
  • Filter chips: All · Exam · Homework · Notice · Event · Holiday · Urgent.
  • Cards include type icon, badge, relative time, and any attachments.
  • Multi-child parents: notice list is contextual to the child currently selected on the parent dashboard.

7. Cross-feature surfacing

Some alert types double as inputs for other features:

  • EXAM → also appears in student/parent Exams listing.
  • PTM → drives the PTM RSVP / scheduling flow.
  • HOLIDAY / EVENT → render on the dashboard calendar widget on all 3 apps.
  • RESULT → links to the Results page once marks are populated.
  • HOMEWORK (notice) is a lightweight announcement; it does not create a homework record by itself — the teacher must still create the homework in Homework for submission tracking.

Edge cases & things to test

  • Whole-school target: leaving target classes/sections empty must reach every section in the school (not zero recipients).
  • Section-specific targeting: target 5-A only — students in 5-B must NOT see the notice.
  • Multi-section targeting: target both 5-A and 6-B — the alert should appear once for each student in either section, not twice.
  • Scheduled-future alert: set scheduledAt to tomorrow 9 AM — students must NOT see it before 9 AM tomorrow; teacher card should show countdown / scheduled state.
  • Edit a draft after attachments uploaded: re-opening must restore attachment list; saving without re-upload must not lose them.
  • Deleting a draft with attachments: confirm attachments are not orphaned in S3 (or are tolerated as orphan).
  • Type-specific surfacing: EXAM published — does it appear in both the parent notice board AND the parent exams page?
  • Priority URGENT: card must render with red highlight on student notice board AND drive a higher-priority push.
  • Push tap deep-link: tap a NOTICE push on student app — must land on /dashboard/notice-board?alertId=… with drawer pre-opened.
  • Section reassignment: a student moves from 5-A5-B after an alert was sent to 5-A — should the alert remain visible in their feed? (Document expected behavior.)
  • Class teacher vs subject teacher: which teacher roles can publish each type? (e.g. only class teachers should publish RESULT.)
  • Multi-child parent: parent has children in 5-A and 8-C — feed should de-dupe alerts that target both classes / whole school, not show twice.
  • Notifications — every publish fans out push + in-app
  • HomeworkHOMEWORK alert is the announcement layer; the homework record is separate
  • PTMPTM alerts kick off the meeting RSVP flow
  • ExamsEXAM and RESULT alerts feed the exams pages