🚀 Velixa is a modern, real-time chat application built with React + Firebase (Auth & Firestore), designed with a scalable architecture and clean state management using Redux Toolkit.
It supports private chats, group chats, real-time messaging, and advanced message control, powered by Firestore’s onSnapshot for instant updates.
- Email & Password authentication
- Google OAuth (Continue with Google)
- Persistent login using Firebase
onAuthStateChanged - User profile with avatar update functionality
- Automatic user sync with Firestore
- 🧑🤝🧑 One-to-One Chat
- 👥 Group Chat Creation
- ⚡ Real-Time Messaging using Firestore
onSnapshot - 🔄 Automatic chat creation if conversation doesn’t exist
- 🧠 Smart
chatKeygeneration for unique conversations
- Send messages instantly
- ✏️ Edit messages
- 🗑️ Delete messages
- 📌 Last message preview in chat header
- 🧾 Sorted message rendering (based on timestamps)
-
Async logic handled using
createAsyncThunk -
Centralized state for:
- Users
- Chats
- Messages
-
Optimized reducers using
addMatcherfor cleaner async handling
- Clean, modern UI with Tailwind CSS
- Responsive design (mobile + desktop)
- Sidebar-based navigation
- Modal-based interactions (Profile, Group Creation)
- Smooth UX with conditional rendering and route protection
- Firestore
onSnapshotensures instant UI updates - No manual refresh required
-
Uses a deterministic
chatKeymembers.sort().join("_")
-
Prevents duplicate chats
-
Automatically creates chat if not found
-
Global auth state synced using:
onAuthStateChanged()
-
Ensures user stays logged in across refresh
-
Uses Redux Toolkit matchers:
isPendingisRejected
-
Reduces boilerplate and improves scalability
- React
- Tailwind CSS
- Redux Toolkit
- React Router
- Firebase Authentication
- Firebase Firestore (Real-time DB)
# Clone the repository
git clone https://github.com/BRajendra10/chat-app.git
# Navigate into the folder
cd chat-app
# Install dependencies
npm install
# Start development server
npm run dev-
Open the app 👉 https://velixa.netlify.app/
-
Sign in using:
- Email & Password
- Google OAuth
-
Search users and start chatting
-
Create group chats and add members
-
Send, edit, or delete messages in real-time
- 🔔 Real-time notifications system
- 📷 Image & file sharing
- 🟢 Online/offline presence tracking
- 💬 Typing indicators
- 🌙 Dark mode support
- Built scalable async flows using Redux Toolkit
- Implemented real-time systems with Firestore
- Designed clean architecture for chat systems
- Managed authentication and global state effectively
- Improved UX with modern UI patterns
Rajendra Behera
- GitHub: https://github.com/BRajendra10
- LinkedIn: https://www.linkedin.com/in/behera-rajendra/