This repository contains the code for a WhatsApp clone created following the tutorial by CleverProgrammer. The project aims to replicate the core functionality of WhatsApp and is built using the MERN (MongoDB, Express, React, Node) stack.
- Real-time messaging between users.
- User authentication using Firebase.
- Create and join chat rooms.
- Send text and image messages.
- Responsive design for various screen sizes.
- MongoDB: A NoSQL database for storing user data and chat messages.
- Express.js: A web application framework for handling API routes.
- React: A JavaScript library for building the user interface.
- Node.js: A runtime environment for running server-side JavaScript.
- Firebase: Used for user authentication and real-time database functionality.
- Material-UI: A popular UI framework for styling the application.
- Pusher: Enables real-time communication between clients and the server.
-
Clone the repository:
git clone https://github.com/'yourusername'/whatsapp-clone.git
Note: You should fork this repo and replace with your GitHub username above.
-
Change to frontend/client project directory:
cd whatsapp-clone/wac-frontend
-
Install frontend/client dependencies:
npm install || npm i
-
Change to backend/server project directory:
cd whatsapp-clone/wac-backend
-
Install backend/server dependencies:
npm install || npm i
-
Start the backend development server:
You can install Nodemon globally using npm by running the following command:
npm install -g nodemon
Within
whatsapp-clone/wac-backend
run command:nodemon server.js
-
Start the frontend development client:
Within
whatsapp-clone/wac-frontend
run command:npm start
-
Access the application at http://localhost:3000
- Login with Google Sign-in using Firebase authentication.
- Create a new chat room or join an existing one.
- Start sending and receiving real-time messages with other users in the chat room.
Contributions are welcome! If you want to contribute to this project, please follow these steps:
-
Fork this repository.
-
Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature
-
Make your changes and commit them:
git commit -m 'Add some feature'
-
Push to your branch:
git push origin feature/your-feature
-
Create a pull request.
-
Click the "Fork" button at the top right of this repository's page. This will create a copy of the repository in your own GitHub account.
-
After forking, you will have your own version of the repository that you can freely modify.
-
Clone the repository to your local machine:
git clone https://github.com/your-username/your-forked-repo.git