This project enables an API for managing and searching products and create product ratings.
- Python 3.10.0
- Docker 20.10.16
- Clone the project
- Optionally create virtual environment and install dependencies, since app runs in Docker
- Run
docker-compose up --build
- Get inside app container with
docker exec -it shop sh
- Create a superuser
python manage.py createsuperuser
- Load fixture data for testing the app
python manage.py loaddata products.json
- Login with superuser in /admin and create users for testing the ratings functionality
.env file is checked in the repository for convenience, for production purposes it would be stored on secured location and pulled on deployment.
User the browsable api for search and CRUD operations on products and ratings. Interface provides all the required forms for mentioned operations.
API runs on port 8000.
Upper right corner in /products contains 'Filters' button with ordering and search functionality.
Synced products in Elasticsearch used for enhancing search functionalities are visible on port 5601 in kibana. For more information use official docs.
OpenAPI documentation is available on /docs endpoint.