This is a DRF project for managing various components of a theater, including performances, shows, tickets, and users. The API supports authentication and user management and provides detailed documentation via Redoc and Swagger.
- API Endpoints for managing:
- Performances
- Shows and Screenings
- Tickets
- Users
- User Authentication:
- User registration
- JWT authentication
- API Documentation - Redoc and Swagger
- Database Management - PostgreSQL
- Containerized Deployment - Docker and Docker Compose
- Backend: Python 3.12, Django 5.1.4, Django REST Framework
- Database: PostgreSQL
- Authentication: Simple JWT
- Containerization: Docker, Docker Compose
- Environment Management: Poetry, Python-dotenv
- Python 3.12+
- Poetry
- Docker and Docker Compose
- Make
git clone https://github.com/molodsh1y1/theatre-api
cd theater-api
Fill in the .env
file, use .env.template
as a reference to that.
Run the following command to install dependencies using Poetry:
poetry install
Run database migrations:
make migrate
Start the Django development server:
make runserver
The server will be available at http://127.0.0.1:8000.
Use Docker Compose to build and run the application and database:
docker-compose up --build
- The API will be available at http://127.0.0.1:8000.
- The PostgreSQL database will be available on port 5432.
API documentation is available via Redoc at: http://127.0.0.1:8000/redoc/
and via Swagger at: http://127.0.0.1:8000/api/doc/swagger/