https://github.com/zaida04/hackprinceton-2023
🏆 1st place, education track @ HackPrinceton. Platform allowing students to stream review sessions for their classes.
https://github.com/zaida04/hackprinceton-2023
Last synced: 11 months ago
JSON representation
🏆 1st place, education track @ HackPrinceton. Platform allowing students to stream review sessions for their classes.
- Host: GitHub
- URL: https://github.com/zaida04/hackprinceton-2023
- Owner: zaida04
- Created: 2023-04-01T00:39:52.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-04-11T01:45:17.000Z (about 3 years ago)
- Last Synced: 2025-02-06T07:32:19.776Z (over 1 year ago)
- Language: JavaScript
- Homepage: https://edulive.tech
- Size: 151 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# `edulive`
> Update: 🏆 Education track at [HackPrinceton](https://www.hackprinceton.com/)
Built in **under** 32 hours.
## Overview
Idea name options: `ClassCast`, `StudentCast`, `StuTube`, `EduStream`, etc?
Description: Platform that enables students to have paid entrance college-level localized livestreams for their fellow classmates for college. Exploring opportunity for potential localized tutoring.
Potential markets: College local courses (per-college basis) or High school local courses.
Stack: `TypeScript`, `Next.JS`, `React`
Providers: `Cloudflare`, `Vercel`
### Page - `/create`
**Phase 1 - Creating the stream**
When you click the "Create Stream" button, the first thing that happens is the react client makes a `POST` request to Cloudflare's API to make the stream. Do note, no content is being broadcasted yet. The API then returns the url and token we can use for broadcasting.
**Phase 2 - Broadcasting to the stream**
Now that we have a created stream, we need to broadcast to it. Using [`OBS`](https://obsproject.com/), we set the [_RTMP url and token_](https://www.youtube.com/watch?v=EygAwWRN_G0). Once we have that, we just click "Start Streaming" and viola, your stream has started.
**Phase 3 - Watching the stream**
Now, all you have to do is distribute the viewing URL to your viewers (`http://domain-or-localhost/streams/:stream_id) and now people can see your live stream.
## What next?
- [x] OAuth login and email/pass support
- [x] User flow for associating a user with a university (use their sign up email and map it to the college they go to)
- [x] Home page with scheduled/current streams
- [ ] Dashboard for creators to see their scheduled streams (add stuff like being able to cancel a stream and etc).
- [x] Fake checkout page for viewers that simulates buying access to the stream
- [x] User view for streams
## Team Members
- Nico: backend & frontend
- Mudassir: backend & frontend
- Ellis: frontend
- Ishita: frontend