🌟 This project is categorized as "Advanced" on the roadmap.sh website, and you can view the project details at the link below 🌟
The goal of this project is to help you understand how to implement complex business logic i.e. seat reservation and scheduling, thinking about the data model and relationships, and complex queries
- User Authentication and Authorization
- JWT
- Movie Management
- Reservation Management
- Dockerized
- Using Poetry
- Fake data
- Fully api documentation (Swagger ui)
- Using nplusone for optimizing queries (N + 1)
- Using django debug toolbar for monitoring
-
Clone the repository
git clone https://github.com/Aron-S-G-H/django-movie-reservation.git
cd MovieReservation
-
Create and activate a virtual environment
python3 -m venv venv
orvirtualenv venv
source venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
orpoetry install --with dev
-
Setup DB
python manage.py migrate
-
Generate fake data
python manage.py generate_fake_data
-
Start the app
python manage.py runserver
-
Clone the repository
git clone https://github.com/Aron-S-G-H/django-movie-reservation.git
then...
cd MovieReservation
-
Create an image
docker build -t movieReservation:latest --no-cache .
-
Run a container
docker run --name movieReservation -p 8000:8000 -d movieReservation:latest
Note : If you encounter the error 'ERROR: Exception TimeoutError: timed out' or something strange while creating the image, go to the Dockerfile and either remove or comment out line 20. Then, try building the image again.
http://127.0.0.1:8000/api/schema/swagger-ui/
or http://127.0.0.1:8000/api/schema/redoc/