NOTE: This project is part of CS-554 coursework at Stevens for Spring 2023
Synth is a web application that allows you to stream audio and find new tracks. Synth allows you to make playlists and look for songs, artists, albums, or playlists. You can also explore artist and album pages, as well as listen to top tracks by an artist. The music player allows you to manage core functions like play/pause, continue, and volume control, as well as view song information like artist, album, and song length. You can update your profile picture, login, and password as well as manage your profile details.
https://github.com/namz11/synth
This is the main repo which holds the entire codebase. It has 2 github submodule repos for the backend and frontend code.
Backend-https://github.com/namz11/synth-backend
Frontend-https://github.com/namz11/synth-frontend
The root project contains the backend and frontend codebase for Synth. After cloning the main repo run the below command on the root of the project to clone the submodules.
git submodule update --init
From the root of the project, navigate to /backend & run the below scripts -
- Install the node_modules using npm
npm install
- Run the server. This will run the server on http://localhost:8888/
npm start or npm run devStart
From the root of the project, navigate to /synth-frontend & run the below scripts -
- Install the node_modules using npm
npm install
- Run the client. This will run the client on http://localhost:3000/
npm run dev
We are using Firebase products - Firestore & Cloud Storage. We have given firebase access to the email id - fappolonia@gmail.com. The link to our firebase console - https://console.firebase.google.com/u/0/project/synth-6f232/overview
We have created user with following credentials for you to test.
- wafek87099@glumark.com - Admin@123
- tekixib833@dekaps.com - Admin@123
- nexeley426@glumark.com - Admin@123
We have setup the following domains for our backend & frontend code using Vercel. They communicate with each other. Both prod builds are created of 'master' branches of the respective submodule repos mentioned above.
Main Website - https://synth-music.vercel.app/
Backend - https://synth-backend.vercel.app/api/
All our prod build use the below redis cloud credentials.
DB alias - redis-13481.c281.us-east-1-2.ec2.cloud.redislabs.com:13481
Username - default
Password - UcmL3LN30VRZ2LMZJKXngs9akGf57C2f
We have setup the following staging environment for our backend & frontend code using Vercel to test our code. Both staging builds are created of 'dev' branches ONLY.
Main Website - https://synth-frontend-git-dev-namz11.vercel.app/
Backend - https://synth-backend-git-dev-namz11.vercel.app/
We are using the spotify api which limits the number of devices playing music simultaneously to only one. So irrespective of the user logged in at a time only one person can play music on one device.
The datepicker gives some tota11y issues.
We are the Bug Squashers.
Narmit Mashruwala |
Vatsal Patel |
Aman Patel |
Dominick Varano |
Synth is available under the MIT license. See the LICENSE file for more info.