Welcome to the JoeWhatChats! This project aims to replicate the functionality of WhatsApp, allowing users to create rooms, send messages, and soon, make video calls using Node.js, Express, MongoDB, React, and Socket.IO.
- Create Rooms: Users can create chat rooms and invite others to join the conversation.
- Real-time Messaging: Utilizing Socket.IO, messages are sent and received instantly, creating a seamless chatting experience.
- Secure Authentication: Users can sign up securely with token authentication/authorization and log in to access the app's features.
- Video Call (Upcoming): Soon, users will be able to initiate video calls within chat rooms for face-to-face communication.
- Node.js: Backend server implementation using Express framework..
- MongoDB: Database management with Mongoose ODM for storing user information, room data, and messages.
- React: Frontend development for creating a user-friendly interface.
- Socket.IO: Real-time communication between clients and server for instant messaging.
- HTML & CSS: Designing and styling the application to resemble WhatsApp's familiar interface.
-
Clone the repository:
git clone https://github.com/yourusername/whatsapp-clone.git
-
Install dependencies for the backend:
cd backend npm install
-
Install dependencies for the frontend:
cd client npm install
-
Set up environment variables:
-
Start the backend server:
cd backend npm start
-
Start the frontend development server:
cd frontend npm start
- Sign up or log in to your account.
- Create a new room or join an existing one.
- Start sending and receiving messages in real-time.
- Stay tuned for the upcoming video call feature!
Create a .env file in the backend directory. Add MongoDB connection URI, JWT secret, and other necessary variables.
This project was developed by Uzuegbu Joseph.