DEV Community

Cover image for ๐—Ÿ๐—ผ๐—ผ๐—ฝ๐˜† ๐Ÿ‘พ
Shinn Thant
Shinn Thant

Posted on

๐—Ÿ๐—ผ๐—ผ๐—ฝ๐˜† ๐Ÿ‘พ

A video conference app using Mediasoup. WebRTC is something that developers will likely encounter sooner or later, so let's dive into Mediasoup.

๐—ฆ๐—ผ, ๐—ช๐—ต๐—ฎ๐˜โ€™๐˜€ ๐— ๐—ฒ๐—ฑ๐—ถ๐—ฎ๐˜€๐—ผ๐˜‚๐—ฝ?

As the name suggests, itโ€™s a bit like cooking a dish yourself xD. It provides an SFU (Selective Forwarding Unit) architecture as a recipe, and you build a flexible and scalable WebRTC app using your own logical approach.

๐—•๐—ฟ๐—ถ๐—ฒ๐—ณ๐—น๐˜†: An SFU is a selective forwarding unit, meaning it builds transports and manually selects the peers that need the media streams. This helps save bandwidth and significantly boosts performance for multi-party apps.

๐—ง๐—ฒ๐—ฐ๐—ต ๐—ฆ๐˜๐—ฎ๐—ฐ๐—ธ

๐—™๐—ฟ๐—ผ๐—ป๐˜๐—ฒ๐—ป๐—ฑ: Shadcn, Vite, React, MediasoupClient, and Clerk for authentication.

๐—•๐—ฎ๐—ฐ๐—ธ๐—ฒ๐—ป๐—ฑ: Mediasoup for WebRTC, Socket.io for signaling, and Express for the server.

๐—–๐—ผ๐—ฑ๐—ฒ ๐—ฆ๐˜๐—ฟ๐˜‚๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ: Written in an object-oriented approach with class data structures, making the data encapsulated, scalable, and well-organized.

๐—™๐—ฒ๐—ฎ๐˜๐˜‚๐—ฟ๐—ฒ๐˜€

โ€ข Authentication (Including OAuth: Google, Github)
โ€ข Room Creation/Joining (Quick Start)
โ€ข Preview Section before Joining:
โ€ข Mic/Speaker Testing
โ€ข Pre-select Devices (Mic, Speaker, Camera)
โ€ข Pre-configure Devices (Mic, Camera Toggle)
โ€ข Screensharing
โ€ข Chat System
โ€ข Raise Hand
โ€ข Emojis Display
โ€ข Notification System (For participants' activities)
โ€ข Participant Controls (Leave, End, Device Settings)
โ€ข Room Status Bar
โ€ข Input/Output Sound Signaling Indicator for Participants

If you're interested, feel free to try it out and share any feedback :3.
You can contribute to bug fixes or refactors too!

Note: Mobile responsiveness isnโ€™t fully implemented yet, I got a bit lazy with that part xD.

๐—š๐—ถ๐˜๐—›๐˜‚๐—ฏ ๐—ฅ๐—ฒ๐—ฝ๐—ผ - https://github.com/devshinthant/loopy
๐—Ÿ๐—ถ๐˜ƒ๐—ฒ ๐—Ÿ๐—ถ๐—ป๐—ธ - https://loopy-ashen.vercel.app/

Top comments (0)