A FastAPI-based WebSocket server for managing real-time study sessions with JWT authentication.
- JWT token-based authentication
- WebSocket connections for real-time messaging
- Session management with host and member roles
- Real-time event broadcasting (member-joined, member-left, session-ended, receive-message)
Install dependencies using pip:
pip install -r requirements.txtStart the server with Uvicorn:
uvicorn main:app --reloadThe server will be available at http://localhost:8000
- Endpoint:
POST /create-session - Parameters:
token(query parameter) - Response:
{"session_code": "abc123"}
- Endpoint:
WS /ws/{session_code} - Parameters:
session_code(path parameter)token(query parameter)
- Events:
member-joined: When a user joins the sessionreceive-message: Real-time messages from membersmember-left: When a member disconnectssession-ended: When the host disconnects
SECRET_KEY: JWT secret key (update in production)ALGORITHM: JWT algorithm (default: HS256)