🎵 MusicVoting

Keine langweiligen Partys mehr

Die Gäste bestimmen die Musik – live, anonym, per Smartphone.

❌ Problem

  • Der Gastgeber hat keine Zeit, sich um die Musik zu kümmern
  • Oder: Er hat nicht den gleichen Musikgeschmack wie die Gäste
  • Ergebnis: schlechte Stimmung auf der Party

✅ Lösung

  • Gäste schlagen eigene Songs vor
  • Per Likes wird abgestimmt, was als Nächstes läuft
  • Die Musik läuft über den Spotify-Premium-Account des Gastgebers

👥 Rollen

  • Gast (Smartphone): tritt anonym bei, sucht, fügt hinzu, liked
  • Gastgeber (Host): erstellt die Party, steuert die Wiedergabe
  • Monitor/TV: spielt die Musik ab und zeigt alles live an

📱 Beitreten

  • QR-Code am Monitor scannen – oder
  • 5-stelligen PIN eingeben
  • Kein Account, kein Name → Gäste bleiben anonym

🗳️ Voting & Warteschlange

  • Sortierung: mehr Likes zuerst, bei Gleichstand der ältere Wunsch
  • Ein Like pro Gast und Song (umschaltbar)
  • Updates erscheinen live auf allen Geräten

🛡️ Regeln

  • Songs nur über die Suche – keine Duplikate
  • Limit: max. 10 Songs pro Gast und Minute
  • Blacklist: der Host kann unerwünschte Wörter sperren

🖥️ Dashboard (Monitor/TV)

  • QR-Code zum Beitreten
  • Aktueller Song mit animiertem Fortschrittsbalken
  • Die sortierte Warteschlange
  • Keine Host-Bedienelemente, keine Anzeige wer was gewünscht hat

⚙️ Technischer Stack

  • Backend: Quarkus (Java 21), REST + SSE
  • Frontend: Angular (Gast, Host, Dashboard)
  • Datenbank: PostgreSQL 16
  • Mobile (optional): SwiftUI iOS-App

🎧 Spotify-Anbindung

  • Wiedergabe über das Spotify Web Playback SDK (läuft am Monitor)
  • OAuth-Login pro Party (Premium-Account erforderlich)
  • Access Token läuft nach 1 h ab → wird automatisch erneuert

🔄 Live-Updates (SSE)

  • Server-Sent Events statt Polling
  • Queue, Likes, aktueller Track und Fortschritt aktualisieren sich sofort
  • Clients reconnecten nach Verbindungsabbruch automatisch

🚀 Deployment

🎯 Ergebnis

Eine einfache, voll funktionsfähige Party-Musik-App

  • Intuitiv bedienbar, anonym für Gäste
  • Spotify-kompatibel, live und deployed

🙌 Team

  • Miriam Gnadlinger – Project Lead
  • Simone Sperrer
  • Marlies Winklbauer