Skip to main content

What is Room Manager?

Understanding what Room Manager is and why it exists

Room Manager is a development tool that simplifies getting started with Fishjam by providing a simple backend for testing, eliminating the need to build your own server initially.

What can Room Manager do?

Room Manager is an HTTP server that comes with Fishjam's Sandbox environment. It provides basic room creation and peer management functionality without requiring you to set up your own backend infrastructure.

Key Characteristics

  • Batteries-included: No extra setup required to start using room manager.
  • Development-focused: Designed for initial development and testing
  • No authentication: Simplified access for quick prototyping
  • Sandbox-only: Only available in the Sandbox environment

The Problem Room Manager Solves

When starting with videoconferencing or livestreaming development, you typically need:

  1. A Backend server to create rooms
  2. An Authentication system to manage users
  3. Token management for secure peer access
  4. API endpoints for your frontend to call

This creates a problem: to test your frontend, you need a backend, but during prototyping you want to focus on frontend development first. Room Manager mitigates this issue and allows you to start frontend development ASAP.

Relationship to Server SDKs

Room Manager is essentially a simplified application built using the Fishjam Server SDKs:

// What Room Manager does internally (simplified) const fishjamClient = new FishjamClient({ fishjamUrl, managementToken }); app.get( "/room-manager", async (req: express.Request, res: express.Response) => { const { roomName, peerName, roomType } = req.query; // Create or get room const room = await fishjamClient.createRoom({ roomType: roomType as RoomConfigRoomTypeEnum, }); // Create or get peer const { peer, peerToken } = await fishjamClient.createPeer(room.id); res.json({ peerToken, url: fishjamUrl }); }, );

This shows you exactly what your production backend needs to do, just with proper authentication and error handling.

See also

To understand how to use Room Manager for development:

To learn about building your own backend:

To understand the security model: