My personal educational project that consists of the REST API built with Django and the web application on React.
API provides endpoints for retrieving random drink information, list of drinks, list of ingredients, drink and ingredient details,
list of similar drinks to a particular drink. Endpoints are implemented using DRF. API supports pagination for getting list of items. All data is retrieved from TheCocktailDB.com
and saved to the database in a more convinient way. It is possible to update data using django-admin command loaddata
, also Celery task is set
to load and update data every midnight. When data is updated similarity metrics are counted and stored in the Redis storage for a faster access.
Also searching and filtering through different list of items is available. Backend is containerized using Docker Compose, instructions for how to
setup and launch it are in the appropriate folder.
The frontend web application is built with React. React Router is used to implement navigation between pages. For the majority of visual items React Bootstrap is used.
Technologies: Django, DRF, Celery, Redis, aiohttp, Docker Compose, React
List of all drinks that are loaded by portions in a infinite manner:
Filters on the list of drinks:
Search for a drink by its name:
List of all ingredients that are loaded by portions in a infinite manner:
Search for an ingredient by its name:
Random drink generator:
Detail of a drink:
Detail of an ingredient:
DRF API docs:
Example of GET request to the drinks endpoint:
Example of GET request to the ingredients endpoint: