Skip to content

6. sprint

Vukasin Markovic edited this page Mar 5, 2025 · 9 revisions

4.2 - 17.2

Planned for this sprint:

Vukašin Markovic, 1051/2024

Adding support for REAL-TIME message sending and receiving in the Chat session [WebSocket]

Natalija Filipović, 1013/2024


Milan Mitreski, 1073/2024


Milenković Stefan, 1076/2024

  • Resolve all open issues
  • Create the frontend skeleton for the analytics service

Labović Aleksandra, 1025/2024


Completed in this sprint:

Vukašin Markovic, 1051/2024

  1. Adding WebSocket support for real-time message sending in ChatService
  • Implemented WebSocket integration into ChatService for enabling real-time message transfer.
  • Ensured seamless communication between clients and the backend using WebSockets.
  • Optimized WebSocket connection management for more efficient message delivery.
  1. [WebSockets] Support for multiple simultaneous connections via tabs and servers for the same chat session
  • Enabled simultaneous establishment of multiple WebSocket connections for the same chat session, allowing both client and trainer to join the session at the same time.
  • Tested connection to the same chat session from different server ports (e.g., 8080 and 8081) using multiple open tabs in the browser.
  • Ensured message synchronization between all active connections within the same session, without duplication or data loss.
  1. Setting up initial and dynamic scrolling in the chat session
  • When the user opens the chat session, the scrollbar is automatically placed at the bottom to immediately show the latest messages.
  • When new messages arrive, if the user was previously at the bottom, the chat automatically scrolls down (showing the latest messages).
  • If the user has scrolled up to read previous messages, the arrival of new messages does not move the scrollbar to the bottom, allowing them to continue reading.

Summary

This sprint focused on improving the real-time communication experience in ChatService through WebSocket integration, enabling multiple simultaneous connections for the same chat session, and enhancing the chat user interface. Now, both client and trainer can simultaneously be connected to the same session from different tabs and server ports, with synchronized message display without duplication or data loss. Additionally, automatic scrolling has been improved so users have an optimal view of new messages without disrupting the reading of previous ones.

Real-Time Chat Performance Demo

This video demonstrates the real-time messaging capabilities of the ChatService using WebSockets.

Watch the Demo

Natalija Filipović, 1013/2024


Milan Mitreski, 1073/2024


Milenković Stefan, 1076/2024

  • Synced version of mssql Docker container and resolved related bugs
  • Deployed initial version of the frontend for clients that fetches data from the database initial_frontend_client
  • Changed API calls in the analytics service to match the frontend

Labović Aleksandra, 1025/2024


Clone this wiki locally