Movies Together is a Python-based web application that allows you to watch movies together with your friends, family, or anyone you choose, no matter where they are in the world. The application uses a variety of different Python technologies, including Django, FastAPI, Flask, Elasticsearch, Redis, and WebSockets, to provide an immersive and interactive experience.
Movies Together has several unique and exciting features that set it apart from other movie-watching platforms. These features include:
The Django Admin Panel is used to manage the backend of the application. This is where the administrator can manage movie listings, and perform other administrative tasks.
The Movie Together Service is a FastAPI-based service that allows users to watch movies together in real-time. This service includes features such as chat, jointly movie control, and party control, all of which are implemented with WebSockets.
The Authentication Service is a Flask-based service that provides authentication and authorization capabilities to the application. This service uses JWT to authenticate users, ensuring that only authorized users can access the application.
The Movie Search Service is another FastAPI-based service that uses Elasticsearch and Redis to allow users to search for movies. This service provides a comprehensive search capability, allowing users to search for movies by title, genre, rating, or other criteria.
The frontend of the application, providing an elegant and user-friendly interface that is easy to navigate and use.
First, you will need to create .env
file by copying the .env.example
file. Then, you will need to fill in the values for the environment variables. The values for the environment variables can be found in the .env.example
file.
docker-compose up --build
make migrate
This will build and start all of the required services, including the frontend, backend, and database.