Ein Projekt von Alexander Bergmann & Robin Steil für das Modul Musikinformatik von Prof. Dr. Jochen Steffens an der Hochschule Düsselorf.
Diese Applikation schlägt den Nutzenden Lieder vor, auf der Basis der Lieblingssongs bei Spotify, welche diese "Liken" oder "Disliken" können.
Damit werden zwei Ziele verfolgt, welche in Zukunft weiter ausgebaut werden könnten.
- Private Nutzung: Nutzende können neue Lieder entdecken und die Parameter, welche für die Generierung der Vorschläge genutzt werden, transparent beeinflussen.
- Akademische Nutzung: Zu den Vorschlägen werden einige Daten gepeichert, welche es ermöglichen verschiende Forschungsthemen zu analysieren. Beispielsweise kann die Qualität der generierten Vorschläge beurteilt werden oder untersucht werden wie sich die bewerteten Songs zu den Favoriten der Person verhalten.
- "npm install" und "npm run generate" ausführen
- docker installieren
- unter https://developer.spotify.com/dashboard eine Spotify App erstellen.
- als Redirect URI folgende URL eintragen: "http://localhost:3000/api/auth/callback/spotify"
- Die Datei .env.example zu .env.local umbenennnen und dort die Werte für SPOTIFY_CLIENT_ID und SPOTIFY_CLIENT_SECRET einfügen
- "npm run dev:docker:build" ausführen Das frontend ist auf http://localhost:3000 verfügbar und die Datenbank kann über http://localhost:8080 mittels adminer erreicht werden
- Analog zu Developement
- "npm run prod:docker" ausführen (statt "npm run dev:docker:build")
Die Applikation nutzt folgende Technologien:
- Next.js für Front- und Backend
- TypeScript
- Postgres als Datenbank
- Prisma als ORM
- Docker
- Spotify Web API
- Spotify Web Playback SDK für das Abspielen von Musik
- Auth.js für die Authentifizierung
- zustand für das Datenmanagement
- Zod für Schema Deklaration and Validierung