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)