Das Projekt

Kennst du das Gefühl, wenn dir wochenlang eine Passage eines Songs im Kopf herumschwirrt und der Name des Titels will dir einfach nicht einfallen? Frustriert es dich noch mehr zu wissen, dass sich dieses Lied ganz sicher irgendwo unter deinen unzähligen Lieblingssongs auf Spotify befindet? Genau diese Situation war für mich Anstoß für die Entwicklung dieses kleinen Projekts :-)

Spolyr (Spotify Lyrics) sieht sich deine Lieblingssongs auf Spotify an und versucht automatisch die richtigen Lyrics zu jedem Lied zu finden. Anschließend kannst du über eine Volltextsuche endlich diesen EINEN Song finden.

Das Backend ist in Go implementiert, das Frontend nutzt Bootstrap 4. Die Lieder und die dazugehörigen Lyrics werden in einer MongoDB gespeichert. Spolyr nutzt die Volltextsuche-Features der Datenbank und kann daher auch einfache inklusive und exklusive Kriterien bearbeiten. Um beispielsweise alle Lieder zu finden, die "stripes", "stars" aber nicht "people" enthalten, kann man "stripes stars -people" als Suchanfrage angeben.

Spolyr ist für den privaten Zweck gedacht und soll daher selbst gehostet werden. Das Projekt kann dazu bequem per Docker installiert werden. Zu jedem Release wird automatisch ein Docker Image per Github Actions gebaut und auf Docker Hub veröffentlicht.

Dank dieses Projekts habe ich mehr Erfahrung mit der Sprache Go, Testing in Go, Github Actions, Dependabot und Release-Management gewonnen.

Version 1.0.0

Mit V1 wurde das komplette Frontend mit dem Framework Vue.js neu implementiert und die Go-Templates wurden in Rente geschickt. Die Browseranwendung kommuniziert nun über eine JSON-API mit dem Go-Backend. Die Bedienung fühlt sich nun viel "runder" an. Mit dem Update wurde das Projekte um viele technische Aspekte erweitert, wie zum Beispiel JWT-Tokens, OpenAPI-Contracts zur Generierung von Client und Server-Stubs, E2E-Testing mit Cypress und vieles mehr.