SKOLE-CALS — Academic Calendar Module
Module ID:SKOLE-CALS | Version: 1.0 | Status: ActiveProducts: Parent App (read) · Teacher App (manage) · Web App (manage)
1. Overview
Scope In
- Create, update, soft-delete academic events with date range, event type, time
- Parent and Teacher views of upcoming events
- Filter by event_type
Scope Out
- iCal export / Google Calendar sync
- Parent RSVP
2. Requirements
Functional Requirements (FR)
What the module must DO — actions, behaviors, and outcomes.- SKOLE-CALS-FR001: The module shall allow admins and teachers to create academic events with titles, descriptions, types, date ranges (from/to), and times.
- SKOLE-CALS-FR002: The module shall support categorized event types: holiday, exam, sports, ptm, cultural, and other.
- SKOLE-CALS-FR003: The module shall enable authorized users to update and soft-delete calendar events.
- SKOLE-CALS-FR004: The module shall allow all users to view upcoming school events, filterable by their type.
- SKOLE-CALS-FR005: The module shall perform chronological display of events, sorted by the start date in ascending order.
Non-Functional Requirements (NFR)
How well the module must do it — performance, security, and reliability.- SKOLE-CALS-NFR001: The module shall behave reliably by excluding soft-deleted events (
deleted_status = 1) from visibility across all apps. - SKOLE-CALS-NFR002: The module shall perform multi-tenant isolation by scoping all events strictly to the school’s
skole_id.
Constraints
Rules and boundaries — tech choices and platform restrictions.- C001: We must implement event duration support where the end date can differ from the start date to accommodate multi-day events like exams or sports days.
- C002: We must use a dedicated
academic_eventstable to separate formal calendar dates from activity-based social content.
3. Sub-modules / Backlog
4. Logical Implementation
5. UI Requirements
Teacher App — CalendarScreen
Components: