team-4/README.md
2025-08-02 13:28:10 +02:00

3 KiB

🎵 Supa Tunes

A collaborative music queue app built by Supa Duo

Turn any space into a shared music experience! Supa Tunes lets people vote on songs, add their favorites, and enjoy music together in real-time.

Features

  • 🎧 Real-time collaborative queue - Everyone can add songs and vote
  • 🎵 Spotify integration - Play music directly through Spotify
  • 🤖 AI-powered suggestions - Get song recommendations based on vibes and room themes
  • 📱 QR code sharing - Easy room access via QR codes
  • Live updates - Real-time sync across all devices
  • 🗳️ Smart voting system - Rate-limited voting to keep things fair
  • 🎯 Room rules - Set the vibe with custom music rules

🚀 Quick Start

Prerequisites

  • Deno (for backend)
  • Node.js (for frontend)
  • Spotify Premium account
  • API keys for Spotify, YouTube, and Google Gemini

Backend Setup

  1. Navigate to the backend directory:
cd backend
  1. Create a .env file with your API keys:
PORT=8000
GEMINI_API_KEY=your_gemini_api_key
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
YT_API_KEY=your_youtube_api_key
  1. Run with Docker:
docker build -f Dockerfile -t supa-tunes-backend .
docker run --rm -p 8000:8000 supa-tunes-backend

Or run directly with Deno:

deno run --allow-net --allow-env main.ts

Frontend Setup

  1. Navigate to the frontend directory:
cd frontend
  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev

🎮 How to Use

  1. Create a Room: Connect your Spotify account and create a new music space
  2. Share the QR Code: Others can scan to join your room
  3. Add Songs: Search for music using natural language (e.g., "upbeat 80s vibes")
  4. Vote: Everyone gets votes to influence what plays next
  5. Enjoy: Music plays automatically based on the queue and votes!

🛠️ Tech Stack

Backend (Deno/TypeScript)

  • Deno runtime with TypeScript
  • Google Gemini AI for music suggestions
  • Spotify Web API integration
  • YouTube API for video content
  • RESTful API design

Frontend (SvelteKit)

  • SvelteKit with TypeScript
  • Supabase for real-time database
  • Tailwind CSS for styling
  • Real-time subscriptions for live updates

Infrastructure

  • Docker containerization
  • Supabase for database and real-time features
  • Railway for deployment

🎵 API Endpoints

  • POST /music - Search for songs with AI
  • POST /newSuggestions - Get AI-powered room suggestions
  • POST /track - Get track details by ID
  • POST /video - Find YouTube videos for tracks
  • GET /health - Health check

🚀 Deployment

The app is containerized and ready for deployment on Railway or any Docker-compatible platform.

👥 Team Supa Duo

Built with ❤️ by the Supa Duo team!

Thanks

Special thanks to Konverto Lab for providing this challenge!