Welcome to MusicApp, a web application built with the MERN stack, Firebase authentication, and Google Cloud Bucket storage.
MusicApp allows users to stream music, manage playlists, upload songs, and enjoy a personalized listening experience. It integrates Firebase for user authentication and Google Cloud Bucket for storage, ensuring a seamless and secure music streaming platform.
- User Authentication with Firebase
- Playlist Management
- Song Uploading and Storage on Google Cloud Bucket
- Seamless Music Playback
-
Only admin have access to the dashboard from home page, other users don't have Dashboard option in the dropdown
-
Below are the dashboard features in screenshots
-
Managing users and their permission
-
From Songs, Artists, Albums admin can manage all the sites uploaded assets
-
From Songs page there is another page from where admin can add songs, artist and album information
- MongoDB: Database for storing user data, playlists, and songs.
- Express.js: Backend framework for routing and API development.
- React: Frontend library for building the user interface.
- Node.js: Server-side JavaScript runtime for backend logic.
- Firebase Authentication: Secure authentication service for users.
- Google Cloud Bucket: Storage solution for admin(for now only admin can upload songs)-uploaded songs.
- HTML/CSS: Markup and styling for the frontend.
- JavaScript (ES6+): Programming language for frontend and backend logic.
- Clone the repository:
git clone https://github.com/matin676/music-app
- Navigate to the project directory:
cd music-app
- Install dependencies:
npm install
- Set up Firebase and Google Cloud Bucket credentials (refer to respective documentation).
- Start the development server:
npm start
- Once you setup the project, you can change the admin functionality for yourself by changing the details of MongoDB details
Deploy the application to your preferred hosting platform. Ensure Firebase and Google Cloud Bucket configurations are correctly set for production deployment.
Contributions are welcome! Fork the repository, create a new branch for your feature or bug fix, make your changes, and submit a pull request.
This project is licensed under the Apache 2.0 license.