This project is a music player application that allows users to listen to music together with friends in real-time while also providing a chat system for collaboration. Users can create a room, share the room code with friends, and enjoy listening to music together while chatting.
- Real-Time Collaboration: Listen to music together with friends in real-time.
- Create and Join Rooms: Users can create rooms and share the room code with friends to join.
- YouTube API Integration: Utilizes the YouTube API to play songs.
- Firestore Database: Firestore is used for storing room information, user data, and chat messages.
- Firebase Authentication: Authentication is handled through Firebase Auth using Google authentication.
- Play Next and Add to Queue: Users can add songs to the queue and play next.
- Shuffle: Shuffle feature allows users to randomize the playback order of songs.
- Real-Time Chat System: Chat with friends while listening to music together.
- React.js: Front-end library used for building the user interface.
- YouTube API: Used for fetching and playing music.
- Firestore: Firestore is used as a NoSQL database for storing room and chat data.
- Firebase Authentication: Firebase Auth is used for user authentication using Google.
- Real-Time Communication: Utilizes WebSockets or similar technology for real-time chat functionality.
To get started with the project, follow these steps:
- Clone the repository to your local machine.
- Install dependencies using
npm install
. - Set up Firebase project and enable Firestore and Firebase Authentication.
- Obtain YouTube API key and configure it in the application.
- Start the development server using
npm start
. - Open the application in your web browser and start listening to music with friends!
Contributions are welcome! If you have any ideas for improvements or new features, feel free to submit a pull request. Please ensure that your code follows the project's coding standards and guidelines.
This project is licensed under the MIT License. Feel free to use, modify, and distribute the code for personal or commercial purposes.
Special thanks to the developers of React.js, YouTube API, Firestore, and Firebase Authentication for providing the tools and resources necessary to build this project.
This is a research project developed for learning about API, React.js and Firebase.
This project and its contents are not affiliated with, funded, authorized, endorsed by, or in any way associated with YouTube, Google LLC or any of its affiliates and subsidiaries.
Any trademark, service mark, trade name, or other intellectual property rights used in this project are owned by the respective owners