A Music Streaming Web App developed with ReactJs🚀 and Firebase🔥
Click Here to view the Live Website
-
SongList (Current Playlist)
User can add and remove Songs to the SongList. SongList is Implemented using Browser's Session Storage for saving the Songlist temporarily for the Current Session. -
Favourites and Playlist
User can add songs to their Favourites List or can create their own Playlist. -
Recently Played Songs
The Recently Played Songs are stored in Local Storage. -
Media Session API
Media Session allows the user to Control the playing song using Keyboard buttons. Essentially allowing user to know what song is playing and to control it, without needing to open the Webpage. Checksrc/Player.js
Component for the code Implementation. (Click Here to see the Docs)
- Clone the repo, and cd into it
- Install all the dependencies from package.json
- Create a firebase project and enable Firestore database, Google login and Email-Password for Authentication
- Create a file .env and place firebase project Keys inside as shown in .env.example
- Run app by typing
npm start
in command line - Make sure to read the Note section below to know about setting up Indexes in firestore
You will have to create an Index in firestore, as PlayListPage, LibraryPage uses Nested Queries to fetch data from Firestore. While Developing in localhost there will be an error in Browser console stating you to create an Index in Firestore. That Error will provide a link to create an Index in Firestore , you can click on the link and create an Index. (This Error will be solved after that particular Index is created)