Node.js Real-Time Streaming Backend

Job ID: 39893683

Budget: ₹12,500 – ₹37,500 INR

I’m building a mobile live-streaming application and now need the entire real-time backend put in place. The stack is fixed—Node.js with MongoDB for persistence, ZEGOCLOUD’s SDK to handle the video streams, and a Socket.io layer (with Redis adapter) for fan-out messaging. Your main goal is to wire these pieces together so viewers can tap the screen and instantly send “like” or “heart” reactions to everyone watching the same broadcast.

Core requirements
• Integrate ZEGOCLOUD for room creation, token generation and stream lifecycle callbacks.
• Design MongoDB schemas for users, streams, and interaction logs.
• Build a Socket.io gateway that publishes broadcast messages through Redis so we can scale horizontally. Only broadcast chat is needed—no private or group DM at this stage.
• Expose REST endpoints (or GraphQL if you prefer) for user auth, stream start/stop, and historical interaction stats.
• Ensure sub-second propagation of reaction events; I’ll verify with a 500-concurrent-user load test.
• Provide concise README, .env.sample and postman collection so my mobile team can hit the ground running.

Acceptance criteria
1. A streamer presses “Go Live” in our test client and receives a ZEGOCLOUD token, room ID and websocket URL.
2. Viewers join, send hearts, and every client sees the reaction in under 400 ms round-trip.
3. Stream and interaction data persist correctly in MongoDB and can be queried later.
4. Horizontal scaling demo: spin up a second Node instance, prove reactions continue to broadcast seamlessly through Redis.

If you’ve already built similar Socket.io + Redis setups or worked with any RTMP WebRTC cloud provider, I’d love to see a short demo link or repo. Looking forward to collaborating!