A REST API for managing restaurant menus.
- Django Rest Framework for API implementation
- Postgresql database engine
- Swagger UI for documentation
- drf-spectacular package for automatic generation of Swagger UI schema
- docker-compose for app deployment
- Mailtrap for email functionality testing
Docker, docker-compose.
Clone the repository.
git clone https://github.com/BryanNemesis/emenu.git emenu
Change the working directory to the repository root.
cd emenu
Make sure the line endings in dailyreport.sh were not changed to CRLF, if you're on Windows. If so, do git config --global core.autocrlf false
and checkout the repo again.
Build and run.
docker-compose up -d
After first run, perform db migrations inside 'web' container.
docker-compose run web python manage.py migrate
API will be available under http://localhost:8000/.
Documentation of endpoints will be available under http://localhost:8001/.
To update Swagger UI schema after making changes in the API, run python manage.py spectacular --file schema.yml
inside the working directory or in the 'web' app and restart the 'docs' container.