Muzy Chat is a MERN (MongoDB, Express.js, React.js, Node.js) based chat application that allows users to communicate in groups or individually. It also includes a unique feature where users can play music in the chat by entering the command !song_name
in the chatbox, which fetches the corresponding song using the YouTube API.
- User Authentication: Signup and login functionality for individual users.
- Group Chat: Users can create or join chat groups to communicate with multiple users at once.
- Personal Chat: Users can have one-on-one conversations with other users.
- Music Playback: Users can play music in the chat by entering the command
!song_name
in the chatbox. - YouTube API Integration: The application utilizes the YouTube API to fetch and play the requested songs.
- MongoDB: A NoSQL database used for storing user information, chat groups, and messages.
- Express.js: A backend web application framework for handling API requests and routing.
- React.js: A frontend JavaScript library for building the user interface.
- Node.js: A JavaScript runtime environment used for running the server-side code.
- YouTube API: An API provided by YouTube for accessing and playing YouTube videos.
- Other Dependencies: [List any other major dependencies or libraries used in your project]
-
Clone the repository:
-
Navigate to the project directory:
cd muzy-chat
-
Install the dependencies:
npm install
-
Set up environment variables:
Create a .env file in the root directory of the project. Add the required environment variables for MongoDB connection, YouTube API key, etc
-
Start the development server:
npm start
-
Open the application in your browser:
Usage
Sign up or log in to your account. Create or join a chat group to start group conversations. Click on a user to start a personal chat. To play music in the chat, enter the command !song_name in the chatbox, replacing song_name with the desired song.
Contributing Contributions are welcome! If you find any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request.