Technology choices:
- PostgreSQL, as it was mandatory;
- FastAPI, as a simple (yet more powerful than Flask) HTTP microframework;
- sqlalchemy, as it plays well with FastAPI;
- Docker, for production-ready images.
For ease of use, this project is powered by Docker.
It creates a PostgreSQL and a FastAPI container.
Or just follow this guide
git clone [email protected]:Laegel/groover-spotify.git
In docker-compose.yml, replace "XXX" placeholders with the real credentials.
At the root of the repository, to build the image, execute:
docker-compose build
then:
docker-compose up -d
Latest releases are fetched once at startup then periodically (once every 12 hours) with a cron job. At least, it should have worked but cron jobs and Docker don't seem to work well. To fetch releases manually, run:
docker exec -it groover-spotify_backend python -m grooverspotify.fetch_releases