REST API backend for Melodia music streaming app
Deployed on Vercel — https://melodia-server.vercel.app
35+ REST endpoints across:
- Auth (JWT + Google OAuth)
- Songs (streaming, search, filters)
- Playlists (CRUD, AI generation)
- Users (likes, history, stats, profile)
- Artists (pages, follow)
- Albums
- AI (smart playlist, song radio)
Full API documentation: Notion API Docs
| Layer | Technology |
|---|---|
| Runtime | Node.js |
| Framework | Express.js |
| Database | MongoDB Atlas + Mongoose |
| Auth | JWT + Bcrypt |
| AI | Google Gemini API |
| Music | Jamendo API |
| Deployment | Vercel Serverless |
server/ ├── controllers/ # Business logic ├── models/ # Mongoose schemas ├── routes/ # Express routers ├── middleware/ # JWT verification ├── scripts/ # DB seeding scripts └── index.js # Entry point
git clone https://github.com/SathvikaSingoti/melodia-server
cd melodia-server
npm installCreate .env:
PORT=5000
MONGO_URI=your_mongodb_uri
JWT_SECRET=your_secret
GEMINI_API_KEY=your_key
JAMENDO_CLIENT_ID=your_id
GOOGLE_CLIENT_ID=your_id
GOOGLE_CLIENT_SECRET=your_secret
node index.jsAPI available at http://localhost:5000
MIT © Sathvika Singoti Built as part of Xebia Vibecoding Internship 2026