A live-streaming web application similar to Twitch. Users will be able to sign up and start a stream or view an existing stream made by another user. There will be a chat window where users can write something that they would like to communicate with the streamer and other users watching the stream. Users will also be able to make donations to the streamer.
Jaired Jawed - JaireddJawed
Pallav - notpallav
Aryan Obrai - Aryan-Obrai
Zhenjie Liu - 2314577483
React
Nextjs
Express
Stripe
nginx-rtmp-server
Video.js
Tailwind
Firebase Authentication and Firestore
Website Live on Vercel Streaming Server hosted on a Google Cloud VM Database stored in Firestore
1.Authentication
2.Sending/Deleting Messages in Chat
3.Ban users from a specific chat or the whole website
4.Different roles like streamer, global admin, moderator - chat badges
5.Store chat history
6.Profile Page with user information like a bio
7.Donation and Subscription system w/ Stripe
8. Viewer count, stream title, category and other streaming information about the video being
9. Following streamers and email notifications
10. Search for category, or user, or streams (title, description, streamer name, category name)
- Profile Picture
- Dark Mode
- Listing Past Streams
- Donation History
- Recommendation System
- VOD history and Clips
- emotes, global and per channel
- sub badges
- linking external social media to profile
As a viewer, I want to be able to watch livestreams so that I can be entertained. (4 points)
As a streamer, I want to be able to stream my games or videos so that my community can enjoy my content. (4 points)
As a user, I want to chat with others on the stream so that I can communicate with the steamer and other users about the stream being watched. (3 points)
As a viewer, I want to be able to follow the streamer’s account and receive a notification when they start streaming. (2 point)
As a user, I want to be able to login so that I can keep track of the streamers that I watch seamlessly and be able to easily talk to others in chat. (2 points)
As a streamer, I want to be able to delete messages in my chat, as well as allow others to delete messages so that the chat can be enjoyable to read. (1 point)
As a streamer, I want to check the chat history when I was streaming. So I can interact with viewers. (1 point)
As a user, I want to be able to donate to streamers because I want to be able to support the content creators that I am familiar with. (1 point)
As a user, I want to be able to add information to my profile because I want to be able to personalize my profile. (1 point)
As a user, I want to check my donation history so I can check which streamer I have donated. (1 point)