A real-time chat application built with React and Firebase Firestore, supporting one-on-one messaging.
- Google Authentication for user login
- Real-time messaging with Firestore and Pusher.js
- One-on-one chat functionality
- Unread message count for each conversation
- Last seen and online status tracking
- Chat ordering based on the latest message
- Frontend: React, Firebase Authentication
- Backend: Firebase Firestore, Firebase Storage
- State Management: React Context API
Ensure you have:
- Node.js installed
- Firebase project set up
- Pusher credentials
- Clone the repository:
git clone https://github.com/asutosh2203/whatsapp-clone.git cd whatsapp-clone - Install dependencies:
npm install
- Set up Firebase:
- Create a Firebase project in the Firebase Console
- Enable Firestore, Firebase Authentication (Google Sign-In), and Firebase Storage
- Create a
.envfile and add your Firebase credentials:REACT_APP_FIREBASE_API_KEY=your_api_key REACT_APP_FIREBASE_AUTH_DOMAIN=your_auth_domain REACT_APP_FIREBASE_PROJECT_ID=your_project_id REACT_APP_FIREBASE_STORAGE_BUCKET=your_storage_bucket REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id REACT_APP_FIREBASE_APP_ID=your_app_id
- Start the development server:
npm start
- Build the project:
npm run build
- Deploy to Firebase Hosting (if using Firebase):
firebase deploy
This project is licensed under the MIT License.