This project proposes a music web platform based on Spotify/SoundCloud. Developing a client-server system, employing NodeJS, Express, MongoDB, Firebase and Cloudinary for the back-end implementation, and ReactJS + Redux for the front-end.
You can see deployed our application here link
Get a clone of the project in local. You need to have installed nodejs and yarn in your computer to develop the proyect.
You need to install nodejs
Go to NodeJs web page download and install the program.
Then you have to install yarn
npm install --global yarn
When you have installed this two programs you need to create acounts in:
- Firebase
- MogoDB Atlas
- Cloudinary
- Google ReCaptcha
First clone the repository
git clone https://github.com/Musikverein/musikverein-project.git
Then run yarn install in the base folder
yarn install
When you have all the dependencies installed you need to create two .env files, one in web folder, and the other in api folder
The web .env file need to contain the next variables:
REACT_APP_API_BASE_URL= http://localhost:4000
REACT_APP_API_KEY = Your FireBase Api key
REACT_APP_AUTH_DOMAIN = Your FireBase auth domain
REACT_APP_PROJECT_ID = Your FireBase project id
REACT_APP_STORAGE_BUCKET = Your FireBase storage bucket
REACT_APP_MESSAGING_SENDER_ID = Your FireBase messaging sender id
REACT_APP_APP_ID = Your FireBase app id
REACT_APP_CLOUDINARY_IMG_URL = Your Cloudinary img url
REACT_APP_CLOUDINARY_PRESET_PROFILE_IMG = A Cloudinary preset to upload profile images
REACT_APP_CLOUDINARY_PRESET_SONGS = A Cloudinary preset to upload songs
REACT_APP_CLOUDINARY_PRESET_COVERS = A Cloudinary preset to upload covers images
REACT_APP_CLOUDINARY_PRESET_PLAYLIST = A Cloudinary preset to upload playlist images
REACT_APP_RECAPTCHA_WEB_KEY = Your Google ReCaptcha web key
The api .env file need to contain the next variables:
FB_CERT_TYPE= Your FireBase cert type
FB_CERT_PROJECT_ID= Your FireBase project id
FB_CERT_PRIVATE_KEY_ID= Your FireBase private key id
FB_CERT_PRIVATE_KEY= Your FireBase private key
FB_CERT_CLIENT_EMAIL= Your FireBase client email
FB_CERT_CLIENT_ID= Your FireBase client id
FB_CERT_AUTH_URI= Your FireBase Auth uri
FB_CERT_TOKEN_URI= Your FireBase token uri
FB_CERT_AUTH_PROVIDER_X_509_CERT_URL= Your FireBase cert auth provider x 509 cert url
FB_CERT_CLIENT_X_509_CERT_URL= Your FireBase cert client x 509 cert url
MONGO_DB_URL_PRODUCTION= Your MongoDB Atlas connection url for producction
MONGO_DB_URL_DEVELOPMENT= Your MongoDB Atlas connection url for development
MONGO_DB_URL_TEST= Your MongoDB Atlas connection url for test
RECAPTCHA_KEY = Your Google ReCaptcha secure api key
If you want to contribute, please fork the repository, create a new branch whit your contribution, and push the branch as a pull requests.
- You can find more information of how the app works in the TDR file.
- You can also check the full Memory on PDF.
- You can also check the custom hooks documentation file.
Thanks goes to these wonderful people (emoji key):
vvelazquez 💻 🎨 🖋 🤔 |
Raúl Cátedra Martínez 💻 |
Ramon 💻 |
Jose Ramón Serralvo Rojo 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!