Videoflix uses Django and Django Restframework (DRF) to provide individual endpoints, authentication and permissions. PostgreSQL as database and Redis for Caching-Layer. FFmpeg including Django-RQ is used to convert the videos.
This project is part of the videoflix_frontend.
Python version >= 3.10
- Clone this repository:
git clone <GitHub repository link>
- Create a virtual environment (in the project folder):
python3 -m venv env_lin
- Install the dependencies:
activate the virtual environment: source env_lin/bin/activate
pip install -r requirements.txt
- Install packages:
sudo apt-get install ffmpeg
sudo apt install redis-server
sudo apt install postgresql postgresql-contrib
(--> edit password in redis.conf)
(--> set up postgres database)
- Set the environment variables:
rename the .env-template file to .env and fill out the environment variables
- Run background processes:
sudo service redis-server start
sudo service postgresql start
python manage.py rqworker
- Apply migrations:
python manage.py makemigrations
python manage.py migrate
- Create a Superuser/ Admin: (only superuser can add videos)
python manage.py createsuperuser
- Create static files:
python manage.py collectstatic
- Run the local development server (on path: 127.0.0.1:8000):
python manage.py runserver
- Start videoflix_frontend:
clone the repository and run the liveserver on path 127.0.0.1:4200