Music application made with the MERN stack (MongoDB, ExpressJS, ReactJS, NodeJS).
Users can create an account, log in, listen to music, upload their own music, create playlists, add to favorites, and more.
Create an .env file, using variables from
.env.example
and add Firebase settings and Base URL (http://localhost:4000)
Then use npm
commands to install package dependencies and start up the application on localhost.
npm install
npm run dev
A variety of technnologies were used during app development:
- NodeJS
- ExpressJS
- Mongo
- Moongose
- Cloudinary
- Firebase
Dependencies and libraries included in this project:
- Dotenv
- Nodemon
- Express-paginate
- Helmet
- Morgan
- Cors
- Multer
- CRUD operations, full API with Users, Songs, Albums, Playlist and Genre
- Cloudinary as storage for images and audio
- Pagination using express-paginate middleware
- Authentication using Firebase
To access all the functionalities, developers must clone the following repository:
git clone https://github.com/SquadTuring1/final-project-back.git
cd project-folder/
npm install
To see this web in a browser, clone this repository for the frontend:
git clone https://github.com/SquadTuring1/final-project-front.git
cd project-folder/
npm install
- Development and production configurations in can be found in `src/config/config.js
- After starting the project using
npm
, databases can be seeded using the following files: seedAlbum.js, seedGenres.js, seedPlaylist.js, seedSongs.js, seedUsers.js
© MIT
- Testing with JEST
- Implementation of Laravel and PHP API points for collecting statistics
- Completion of implementation of Swagger for API documentation