A real-time chat application where users can seamlessly share thoughts and ideas with a personal identity. Experience fast, secure, and engaging conversations like never before! 💬✨
✔️ User Authentication – Signup, login, and logout securely 🔒
✔️ Real-Time Messaging – Instant chat powered by Firebase ⚡
✔️ Personal Identity – Messages are uniquely tied to users 🆔
✔️ Beautiful UI – A sleek, responsive design for all devices 🎨
✔️ Firestore Security Rules – Protecting user data at all times 🛡️
Make sure you have Node.js installed, then run:
npm install- Go to Firebase Console and create a project.
- Enable Authentication (Email/Password method).
- Set up Firestore Database.
- Copy your Firebase config keys and paste them into a
.env.localfile:
REACT_APP_FIREBASE_API_KEY=your-api-key
REACT_APP_FIREBASE_AUTH_DOMAIN=your-project-id.firebaseapp.com
REACT_APP_FIREBASE_PROJECT_ID=your-project-id
REACT_APP_FIREBASE_STORAGE_BUCKET=your-project-id.appspot.com
REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your-messaging-sender-id
REACT_APP_FIREBASE_APP_ID=your-app-id
Ensure data security with Firebase security rules:
- Install Firebase CLI:
npm install -g firebase-tools
- Login to Firebase:
firebase login
- Initialize Firebase (if not already done):
firebase init
- Select Firestore
- Choose your project
- Accept default file paths
- Deploy rules:
firebase deploy --only firestore:rules
Run the following command to start the app:
npm startThe app will be live at http://localhost:3000/ 🎉
🔹 Only authenticated users can read messages.
🔹 Users can only create messages with their own user ID.
🔹 Users can only edit or delete their own messages.
🔹 Messages must contain required fields (text, timestamp, user info).
These rules ensure a secure and smooth chat experience! 🛡️
/src - Main application source code
├── /pages - Core app pages (home, login, signup, chatroom)
├── /components - Reusable UI components
├── /firebase.js - Firebase configuration
This project is licensed under the MIT License. Feel free to use and improve it! 🚀
💡 Contributions are welcome! If you have ideas to make this chat app even better, feel free to open a pull request or issue! 🤝
@sirTheprogrammer 2025