API service for theatre management written in Django Rest Framework (DRF).
Make sure you have Python and Docker installed. Follow these steps to set up the project:
# Clone the repository
git clone https://github.com/Wallian169/theater-api-service.git
# Change directory into the project
cd theatre-api-service
# Set up a virtual environment (optional but recommended)
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
# Install required packages
pip install -r requirements.txt
# Run migrations
python manage.py migrate
# Start the development server
python manage.py runserver
# (Optional) Build and run with Docker
docker build .
docker-compose upTo access the API, follow these steps:
- Create a user account to gain access via user/register/.
- Authenticate using your credentials.
- Access the endpoints as listed in the documentation.
- Admin panel.
- Creating user via email.
- Managing own profile.
- For Admin user added possibility to manage Plays, Performances, Theatre Halls and more.
- Filtering Plays by name, genres and actors.
- Creating reservation for chosen Performance.
- Added different permissions for different actions.
- Added tests for different endpoints.
- JWT authenticated.
- Documentation located at /api/doc/swagger/
- Uploading poster to each Performance via separate endpoint
