Communication Module

Disseminate information rapidly using Notice Boards and robust multi-channel Background Broadcasts.

1. Notice Board & Teacher Lockouts

Post critical circulars to the respective dashboards of Students, Parents, or Staff.

  1. Go to Communication > Notice Board.
  2. Define the Title, Content, and select the specific `Recipient Type` (e.g., All Parents, Specific Class).
Teacher Lockout Rules: The `NoticeController` enforces rigid bounds on Staff members. A logged-in Teacher is completely blocked from broadcasting to "All Parents" or the "Entire School". They are algorithmically restricted to ONLY sending notices to the specific Classes/Sections they are officially allotted to.

2. Multi-Channel Broadcasts

Engineered for massive-scale messaging without crashing the server.

Queue Offloading: Hitting 'Send' to 5,000 parents will not freeze your browser. The `BroadcastController` instantly hands the payload off to the `ProcessBroadcast::dispatch` background job, which handles the heavy API calls silently in the background.

You can monitor real-time delivery analytics (Sent, Delivered, Opened, Failed) from the Broadcast History dashboard.

3. Event Calendar

Manage holidays, exams, and celebrations appearing on the global dashboard calendar.

Screenshot