A scalable and secure backend API for a Spotify Clone application built with Node.js, Express.js, and MongoDB. This project provides user authentication, music and album management, file uploads, and protected API endpoints for a complete music streaming application.
- 🔐 JWT Authentication
- 👤 User Registration & Login
- 🎵 Music CRUD Operations
- 💿 Album Management
- ☁️ Audio & Image Uploads
- 🔒 Protected Routes
- ✅ Request Validation
- ⚡ Centralized Error Handling
- 📁 Modular MVC Architecture
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT (JSON Web Token)
- Multer
- dotenv
- bcrypt
src/
│
├── controllers/
├── database/
├── middlewares/
├── models/
├── routes/
├── services/
└── app.js
server.js
package.json
.env
git clone https://github.com/jatinbansal2705/spotify-clone-backend.gitCreate a .env file in the project root.
- Register User
- Login User
- Upload Music
- Get All Songs
- Get Song by ID
- Update Song
- Delete Song
- Create Album
- Get Albums
- Update Album
- Delete Album
Protected endpoints require a JWT token.
- Express
- Mongoose
- JWT
- bcrypt
- Multer
- dotenv
- Nodemon
- Playlist Management
- Like/Favorite Songs
- Recently Played
- Search API
- Artist Profiles
- Admin Dashboard
- Role-Based Access Control
- Pagination & Filtering
- API Documentation (Swagger)
- Unit & Integration Tests
Contributions are welcome.
- Fork the repository
- Create a feature branch
- Commit your changes
- Open a Pull Request