Skip to content

feat: implement real-time study group rooms (closes #502)#789

Open
singhanurag0317-bit wants to merge 1 commit into
Charushi06:mainfrom
singhanurag0317-bit:fix/issue-502
Open

feat: implement real-time study group rooms (closes #502)#789
singhanurag0317-bit wants to merge 1 commit into
Charushi06:mainfrom
singhanurag0317-bit:fix/issue-502

Conversation

@singhanurag0317-bit
Copy link
Copy Markdown

Summary

Resolves #502

This PR implements the requested Study Group Rooms feature allowing users to join collaborative focus sessions in real-time.

Changes

  • Backend (server.js, socket.js):
    • Integrated socket.io for real-time WebSocket communication.
    • Added in-memory room tracking to handle participant limits, host assignment, and synchronized timer states (duration, remaining, isRunning).
    • Designed socket events to handle goal updates, timer starts/pauses/resets, and participant join/leave broadcasts.
  • Frontend (index.html, room.js):
    • Added a "Study Rooms" tab to the main sidebar.
    • Built a dynamic lobby interface to either create a new room or join via a generated invite code.
    • Implemented the active room dashboard, featuring a synchronized circular SVG timer, shared goal input, live invite link display, and a real-time participant list.
    • Restricted timer controls (Start/Pause/Reset) to the room Host.

Verification

  • Verified that multiple clients can join the same room via an invite link.
  • Verified that the participant list dynamically updates as users connect and disconnect.
  • Verified that starting, pausing, or resetting the timer immediately synchronizes across all connected clients.
  • Verified that only the room host is allowed to modify the timer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Study Group Room

1 participant