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