A comprehensive API for managing customer information. This API provides CRUD functionalities to handle customer data efficiently. It utilizes various technologies and tools for a seamless development and deployment experience.
- Docker: Containerization for easy deployment and management.
- Redis and Celery: Asynchronous task processing for improved performance.
- Flower: Monitor Celery tasks in real-time.
- Django Rest Framework (DRF): A powerful and flexible toolkit for building Web APIs.
- Bash Scripts: Convenient scripts for efficient database management and backups.
- MailHog: Test and visualize email communication during development.
- Django Allauth: Simplify authentication, registration, and account management.
- Nginx: High-performance web server for routing and serving API requests.
- Redoc: Interactive API documentation to facilitate API exploration.
- Docker
-
Build the project:
make build
-
Start the project:
make up
- API Documentation: Access the API documentation at localhost:8080/redoc.
- Celery Task Monitoring: Monitor Celery tasks in real-time at localhost:5555.
- MailHog Interface: Test and visualize emails at localhost:8025.
-
Show API Logs:
make show-logs-api
-
Run Flake8:
make flake8
-
Run Black Code Formatter Checks:
make black-check
-
Run Black Code Formatter and Display Differences:
make black-diff
-
Run Black Code Formatter:
make black
-
Run Isort Checks:
make isort-check
-
Run Isort and Display Differences:
make isort-diff
-
Run Isort:
make isort
-
Access Django Shell:
make shell
-
Stop and Remove Containers:
make down
-
Remove Containers Along with Volumes:
make down-v
-
Flush the Database:
make flush
-
Access PostgreSQL Shell for the Customers Database:
make customers-db
To remove all Docker volumes created by the project:
make volume