This is a simple web streaming service platform written in Python's web framemork - Flask. The platform is designed to allow users to request, watch and bookmark movies and TV shows available on the platform's server. The project was created to serve as a local streaming service platform for a small community or organization. The platform is designed to be simple and easy to use, with a modern, responsive user interface.
This project integrates a React frontend with a Flask backend to create a full-stack web application. The React app serves as the user interface, allowing users to interact with the application through a modern, responsive design. The Flask backend handles API requests, business logic, and interactions with the database, providing a robust server-side platform.
- Modern React frontend
- Flask backend with RESTful API
- User authentication and authorization
- Responsive design suitable for all devices
- User's ability to upload and manage their own movies
- P2P streaming
- NVM (https://medium.com/@imvinojanv/how-to-install-node-js-and-npm-using-node-version-manager-nvm-143165b16ce1)
- Node.js and npm (https://nodejs.org/)
- Python 3 (https://www.python.org/downloads/)
- Flask (https://palletsprojects.com/p/flask/)
- Dependencies (see requirements.txt)
- Clone the repository
git clone https://github.com/NaviteLogger/Local-Web-Streaming-Service-Python-Flask.git
1.2. Create a virtual environment (optional)
python3 -m venv venv
1.3. Activate the virtual environment (optional)
source venv/bin/activate
- Install the dependencies
pip install -r requirements.txt
- Install the frontend dependencies (Next.js development server)
cd my-app
npm install
- Set the environment variables: fill in the .env file with your own values
cp .env.example .env
- Run the backend server
flask run
- Run the frontend development server
cd my-app
npm run dev
- Open the application in your web browser
http://localhost:3000
The documentation for this project can be found in the docs directory. The built documentation can be found in the build/docs directory.
Contributions are welcome! Please see the contributing guidelines for more information.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.