Each course will have its own information channel (something like a simple “feed” similar to what you know from social networks, for example). This channel will display news and events related to the course so that participants can easily see what’s new without having to search for anything.
The channel content will consist of two types of posts:
The instructor will be able to add their own text messages, such as notifications that new materials will be published later than expected. Posts must be:
These records are created automatically, for example when:
Each event and post must have a timestamp so that it is clear when they occurred.
In order for participants to see new posts and events immediately, the information channel will use Server-Sent Events (SSE) technology.
When using SSE, the browser (user) opens a persistent connection to the server. The server can then send new messages to the user at any time—there is no need to refresh the page or repeatedly send requests, as is the case with the classic REST API.
Example of behavior in practice: The instructor adds a post → the server saves the message to the database → immediately sends it to all connected users via SSE → the post is displayed in the channel for everyone.