Spotify
A full stack Spotify clone built using the MERN (MongoDB Express.js React.js Node.js) stack.
๐ Demo
https://maqsud-spotify.vercel.app/signup
Project Screenshots:
๐ป Built with
Technologies used in the project:
- React: a library for web and native user interfaces
- Redux: lets your React components read data from a Redux store, and dispatch actions to the store to update state.
- MongoDB: a document database designed for ease of application development and scaling
- Node.js: A JavaScript runtime environment used to run the server-side application.
- Express.js: A web application framework for Node.js used to build the server-side API.
๐ง Features
Here're some of the project's best features:
- User authentication and authorization
- Search functionality to find songs playlists and artists
- Create edit and delete playlists and songs
- Play songs and control playback (play pause skip etc.)
- Admin page for managing songs and see statistics
- Listen to songs in your queue
- Control player with MacBook Pro touch bar
๐ ๏ธ Installation Steps:
1. Close the repository:
git clone https://github.com/maqsudtolipov/spotify-clone
2. Navigate to the project directory:
cd spotify-clone
3. Install the dependencies:
npm install
4. Set up the environment variables:
- Create a
.env
file in the root directory - Add the following variables:
-
DATABASE=YOUR MONGODB DATABASE URL DB_PASSWORD=MONGODB PASSWORD JWT_SECRET=VERY SECRET WORD FOR HASHING // If you want to add email system SMPT_SERVER=smtp-relay.brevo.com SMPT_PORT=587 BREVO_USER=BREVO USERNAME BREVO_PASS=BREVO PASS
5. Start the development server both in client and server folders:
npm start
6. Open your browser and visit `http://localhost:3000`
๐ง๐ปโ๐ป Contributing:
Contributions to this project are welcome! If you would like to contribute, please follow these steps:
- Fork the repository
- Create a new branch
- Make your changes and commit them
- Push your changes to your forked repository
- Submit a pull request
Please make sure to follow the code style and include tests for your changes.
๐ก๏ธ License:
This project is licensed under the MIT