Skip to content

d-aggarwal/MusicMate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 

Repository files navigation

🎵 MusicMate

Let Your Fans Choose the Beat

A real-time collaborative music streaming platform where creators share their queue and fans vote on what plays next.

Next.js Prisma PostgreSQL TypeScript

Report Bug · Request Feature


Features

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
▶️ Auto-Advance When a song ends, the next highest-voted track plays automatically
🔐 Auth Google OAuth & email/password sign-in via NextAuth.js

Getting Started

Prerequisites

  • Node.js ≥ 18
  • PostgreSQL running locally or a hosted instance
  • Google OAuth credentials from Google Cloud Console

1. Clone the repo

git clone https://github.com/d-aggarwal/MusicMate.git
cd MusicMate/next-app

2. Install dependencies

npm install

3. Set up environment variables

Create 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"

4. Initialize the database

npx prisma db push
npx prisma generate

5. Start the dev server

npm run dev

Open http://localhost:3000 and you're live! 🎉



Built with ❤️ by Drish Aggarwal

⭐ Star this repo if you find it useful!

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors