ILikeToasts-Sonder

What is this projet?

This is a personnal project I developped during the Summer 2025 to test my web application developpement skills. It’s a web application to store my favorite artists, albums, tracks/singles and will eventually contain stuff like, trips, games etc. For now, everything is hosted locally.

Want to see what it looks like ?

Small demo video

Features :

Technologies used :

Frontend

My frontend is in React(TypeScript) and I used Vite to setup my frontend.

I used some components from ReactBits and shadcn to make the app prettier. Both of those libraries are under the MIT License.

Backend

My backend was developped with Python(Django). I use models, serializers, views and urls to handle data. I also have some automated tasks using a combination of Celery and Redis.

APIs

I used SpotifyWebAPI, LastFM API and YTMusicAPI to fetch the appropriate data. All the secrets are stored in a .env file.

Website API (Swagger)

To test my multiple endpoints I use Swagger. Thats also what I use to add data to my app for now.

Current endpoints :

alt text

Automated task

I use celery to handle the task which includes a worker and a beat and also a message broker (redis). I also configured flower to monitor the queue, task progress and potential errors.

The tasks are also registered and can be seen in Django Admin : alt text

alt text

Database

I use a simple MySQL Database!

Tests

I used pytest to develop a test suite. I simply created to markers unitand integration to specify the test types.

Test coverage as of 8/18/2025

alt text

Here is an example of an integration test for a view :

alt text

DevOps

I simply used Github Actions.

CI

CD

The CD pipeline might eventually get developped once I decided to host the web app.