Added `featuredCategories` section, Added personalised variations of HomePage contents; - Removal of redundant/unused files from backend; - Update to README: Updated to current method for deploying; - Known bug: StreamsContext is being called before AuthContext, leading to unpersonalised streams & categories each time, even when logged in;
73 lines
2.4 KiB
Markdown
73 lines
2.4 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:
|
|
|
|
- Pre-requisites:
|
|
- Docker
|
|
- Docker Compose
|
|
- Node.js & npm
|
|
|
|
1. Replace `.env.example` with `.env` and fill in the required environment variables
|
|
2. Launch Docker containers using either:
|
|
- `docker-compose up --build` in terminal
|
|
- Right click within the editor within `docker-compose.yml` and select `Compose Up`
|
|
This will start the frontend, backend, and database services
|
|
3. Access the frontend at `localhost:8080` in your browser
|