I wanted to show that I know and I can. It requires a refactoring. The code is not perfect. Thanks :)
Python3.10, Django Rest Framework, PostgreSQL, Celery, Redis, Prometheus, Grafana.
Numbers: 3, 5, 6(django admin), 8, 10(partially)
Clone this repository and enter into root directory. Run the following command:
docker-compose up
This should create and run docker containers such as:
- Web application (http://127.0.0.1:8000)
- Redis
- PostgreSQL
- Celery worker
- Celery beat
- Celery flower (http://127.0.0.1:5555)
- Prometheus (http://127.0.0.1:9090)
- Grafana (http://127.0.0.1:3000)
- To access the Admin panel, you need create a superuser. Open the terminal in a new tab and enter into docker container, then create a superuser:
docker exec -it mailing-service_webapp_1 sh
./manage.py createsuperuser
- You can see on the API documentation http://127.0.0.1:8000/api/docs/
- Before creating a client or a maling, you need to create some tags and mobile operator's codes by using the Admin panel http://127.0.0.1:8000/admin
- Then, try to use an API through Swagger.
- Tasks monitoring (Celery flower http://127.0.0.1:5555)
- Prometheus (http://127.0.0.1:9090)
- Grafana (http://127.0.0.1:3000)
- Celery beat for crontab tasks