Phase 4: Information channel and SSE

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:

Posts from the instructor

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:

  • editable (and edited posts must clearly indicate that they have been modified),
  • deletable.

Automatically generated events

These records are created automatically, for example when:

  • the instructor adds a new study material,
  • a new activity or quiz is created.

Each event and post must have a timestamp so that it is clear when they occurred.

Real-time updates using SSE

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.

Technical requirements

  • All channel content (posts and automatic events) must be stored in the database.
  • Each post must have a unique identifier.
  • All data must include a timestamp.