Tracking app for playlists by categories .
- Docker
- Run command
docker-compose up
to start up the RabbitMQ, Redis, flower and our application/worker instances. - Navigate to the http://localhost:8000/docs and execute test API call. You can monitor the execution of the celery tasks in the console logs or navigate to the flower monitoring app at http://localhost:5555 (username: user, password: test).
inside app/spotify_app insert SpotifyAPI key and client secret. this currently includes my API keys for the free version, I dont use spotify, so i dont care if you use/abuse this key
most servers chosen were bitnami servers so everything works together
- web server is FastApi over hypercorn
- swagger is at : http://localhost:8000/docs
- celery managed by flower > http://localhost:5555 user=user, password=test
using celery-flower preconfigured image
- rabbit is celery queue, rabbit managment is at [http://localhost:15672/] user=rabbitmq
- redis is celery backend
- Redis
- as backend for celery
- as db for the project
- manage with redisinsight webserver [http://localhost:8001] user=password1
-
Python >= 3.8.5
-
RabbitMQ instance
-
Redis instance
The RabbitMQ, Redis and flower services can be started with
docker-compose -f docker-compose-services.yml up
Execute the following command: poetry install --dev
- Start the FastAPI web application with
poetry run hypercorn app/main:app --reload
. - Start the celery worker with command
poetry run celery worker -A app.worker.celery_worker -l info -Q test-queue -c 1
- Navigate to the http://localhost:8000/docs and execute test API call. You can monitor the execution of the celery tasks in the console logs or navigate to the flower monitoring app at http://localhost:5555 (username: user, password: test).
spotify_app:
can be run