Let's Chat is a sleek and modern Android chat application built with Jetpack Compose, Firebase, MVVM Clean Architecture, and Dagger Hilt. It provides a seamless chat experience with login/signup, real-time messaging, status sharing, and editable user profiles.
🔐
Secure, Smooth & Stylish Messaging with Let's Chat
- Login / Signup using email and password via Firebase Auth.
- Persistent sessions with secure sign-in flows.
- One-on-one real-time messaging with Firebase Firestore.
- Modern chat UI with optimized performance.
- Upload and view image statuses.
- Time-limited visibility (auto-expire logic coming soon).
- Editable user profile including:
- Name
- Phone number
- Profile image (uploaded to Firebase Storage)
- Secure logout functionality.
| Category | Tech Used |
|---|---|
| Language | Kotlin |
| UI Framework | Jetpack Compose |
| Backend | Firebase (Auth, Firestore, Storage) |
| Dependency Injection | Dagger Hilt |
| Architecture | MVVM + Clean Architecture |
| State Management | Jetpack ViewModel + State Hoisting |
| Navigation | Jetpack Navigation Compose |
| Version Control | Git, GitHub |
/letschat-app
├── screens/
│ ├── Chat/
│ ├── Status/
│ ├── Auth/
│ └── Profile/
├── viewmodels/
├── data/
│ ├── models/
│ └── firebase/
├── di/ (Dagger Hilt modules)
├── components/
└── utils/
- Clone this repo:
git clone https://github.com/Gopal0Gupta/Let-s-Chat.git
- Open the project in Android Studio.
- Connect Firebase project and update
google-services.json. - Make sure all dependencies are synced.
- Run on a physical device or emulator (API 26+ recommended).
- ✅ Status expiry system (24 hrs)
- 🧾 Chat notifications via FCM
- 📁 Media sharing in chat
- 🧪 Dark mode support
Pull requests and suggestions are welcome. For major changes, please open an issue to discuss proposed changes.
- Gopal Gupta
📧 [email protected]
🔗 LinkedIn | GitHub
