A real-time collaborative music streaming platform where creators share their queue and fans vote on what plays next.
| Feature | Description |
|---|---|
| 🎶 YouTube Integration | Paste any YouTube link to add songs to the queue |
| 🗳️ Fan Voting | Fans upvote/downvote songs — the most popular plays next |
| 🔗 Shareable Links | Creators share a link so fans can join and vote in real-time |
| 🔄 Live Sync | Now-playing state & votes sync across all viewers every 2 seconds |
| When a song ends, the next highest-voted track plays automatically | |
| 🔐 Auth | Google OAuth & email/password sign-in via NextAuth.js |
- Node.js ≥ 18
- PostgreSQL running locally or a hosted instance
- Google OAuth credentials from Google Cloud Console
git clone https://github.com/d-aggarwal/MusicMate.git
cd MusicMate/next-appnpm installCreate a .env file in the next-app directory:
DATABASE_URL="postgresql://user:password@localhost:5432/musicmate"
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
NEXTAUTH_SECRET="your-nextauth-secret"
NEXTAUTH_URL="http://localhost:3000"npx prisma db push
npx prisma generatenpm run devOpen http://localhost:3000 and you're live! 🎉
Built with ❤️ by Drish Aggarwal
⭐ Star this repo if you find it useful!