64 lines
2.7 KiB
Markdown
64 lines
2.7 KiB
Markdown
# **Team 11 - Live Streaming Platform**
|
|
|
|
## Overview
|
|
|
|
Our project is a live streaming service that enables content creators to broadcast to viewers through a web-based platform. The application consists of a React-based frontend that users access to watch streams, and a Flask backend that manages the core functionality and business logic.
|
|
|
|
## Access Control Levels
|
|
|
|
The platform implements three-tier access control:
|
|
|
|
1. **No Access** (Non-authenticated Users)
|
|
- View live streams
|
|
- Browse available content
|
|
|
|
2. **Regular Access** (Authenticated Users)
|
|
- All features available to non-authenticated users
|
|
- Ability to donate to streamers through Stripe integration
|
|
- Interact with streams through comments
|
|
- Follow other users
|
|
- Option to become a content creator and start streaming
|
|
|
|
3. **Admin Access**
|
|
- Complete platform management capabilities
|
|
- Content moderation tools
|
|
- User account management
|
|
- System configuration controls
|
|
|
|
## Technical Stack
|
|
|
|
### Frontend
|
|
- React with TypeScript for type safety
|
|
- Tailwind CSS for styling
|
|
- Video.js for stream playback
|
|
- Stripe integration for payment processing
|
|
|
|
### Backend
|
|
- Python with Flask web framework
|
|
- SQLite database for data persistence
|
|
- Flask-Session for user session management
|
|
- Nginx RTMP module for stream handling
|
|
|
|
### Infrastructure
|
|
- Docker for containerization and deployment
|
|
- Docker Compose for multi-container orchestration
|
|
- Nginx for reverse proxy and RTMP streaming server
|
|
|
|
## Future Development
|
|
|
|
While our current focus is on the web platform, we've architected the system with potential mobile expansion in mind, particularly through React Native for Android development.
|
|
|
|
## Development
|
|
|
|
This project is actively maintained on GitHub with all team members contributing through version control. We follow collaborative development practices with regular code reviews and feature branches.
|
|
|
|
|
|
# Running the Current Implementation of the Project
|
|
The current implementation can be run, in development mode, using the following method:
|
|
1. With the Docker VSCode extension installed, right click within the editor with the `docker-compose.yaml` file active.
|
|
Select `Compose Up`
|
|

|
|
Now the backend is up and running on `http://127.0.0.1:8080`.
|
|
2. Next, having Node.js & Vite installed, `cd` into `web_server/frontend` and execute the command `npm run dev`. This should startup the frontend section of the application. However, this is only a temporary method as a Docker solution is in development for this frontend part of the project.
|
|
3. Navigate to the localhost link given in the terminal upon executing the last command (`http://localhost:5173/`).
|