Agora supports a variety of use cases and SDKs, and while short tutorials are great to actually learn about them, larger projects allow you to see how everything works together. With all the tools Agora offers, you can very quickly build complex apps that might take a whole developer team multiple months, maybe even years to complete.
Using Agora, I was able to build a livestreaming app that can:
- Have a stage and a lobby
- Allow the host to move people between stage and lobby
- Transcode and broadcast the users on the stage to multiple streaming platforms like YouTube and Twitch
- Allow the host to control the video and audio of the users
This video walks you through the whole process of thinking through and planning how to manage state with agora_rtm and agora_rtc_engine. The state management solution we use here is riverpod. Outside of a couple of UI packages for buttons and pop-up windows, the code is native Flutter. The final project looks like this:
You can find the code for this project on GitHub:
Let me know your thoughts in the YouTube comments!