Real-time collaborative help board where users create or join a room and post doubts instantly, with live updates across all participants.
- Create or join a room using a unique room code
- Post doubts and get instant replies in real time
- Mark doubts as resolved
- Live member count tracking per room
- Host controls to manage or end a room, with automatic host reassignment if the host leaves
- Session persists on refresh, no accidental logouts
- React (Vite) frontend communicates with a Flask backend
- Real-time updates handled through Flask-SocketIO and Socket.IO Client
- Room and doubt data stored using SQLAlchemy with SQLite
- Backend deployed on Render, frontend deployed on Netlify
Room Management
POST /create-roomβ creates a new room and returns a unique room codePOST /join-roomβ joins an existing room using{ "code": "AB12" }GET /room-items/<room_code>β fetches all doubts for a room
Doubt Management
POST /itemsβ creates a new doubt
{
"room_code": "AB12",
"guest_name": "User",
"type": "doubt",
"title": "Sample doubt",
"description": "Optional description"
}POST /resolveβ marks a doubt as resolved
{ "item_id": 1 }Reply System
POST /replyβ adds a reply to a doubt
{
"item_id": 1,
"guest_name": "User",
"message": "Reply message"
}WebSocket Events (Socket.IO)
join_roomβ join a specific roomitem_createdβ broadcast new doubtitem_repliedβ broadcast new replyitem_resolvedβ broadcast resolved doubtitem_flaggedβ broadcast auto-flagged doubtsforce_leave_allβ host ends the room for allmember_updateβ live member count updatehost_changedβ new host assignment
Frontend
- React (Vite)
- JavaScript
- HTML5
- CSS3
- Socket.IO Client
Backend
- Python
- Flask
- Flask-SocketIO
- SQLAlchemy
- SQLite
Deployment
- Render (Backend)
- Netlify (Frontend)
Version Control
- Git
- GitHub
Mohnish KJ Final Year B.E CSE (AI&ML) Student | AI & ML Enthusiast
- LinkedIn: www.linkedin.com/in/mohnishkj
- Project: HelpWave β Real-Time Collaborative Doubt Board
Built as a full-stack real-time web application using React, Flask, and Socket.IO.