Chatzilla is a modern, real-time mobile chat application built with Flutter and Firebase. It provides a secure, scalable, and responsive platform for one-on-one messaging, designed to be easily extendable and integrable with larger systems in the future.
- Features
- Screenshots
- Technologies Used
- Project Structure
- Getting Started
- Use Cases
- Future Enhancements
- Contributing
- License
- Author
- 🔐 User Authentication - Secure login/signup with Firebase Auth
- 💬 Real-time Messaging - Instant messaging powered by Cloud Firestore
- 🔔 Push Notifications - Stay connected with Firebase Cloud Messaging
- 🗂️ Chat History - Persistent message storage and retrieval
- 👥 Group Chats - Create and manage group conversations
- 🚫 User Blocking - Block/unblock users for better privacy
- 🧑 Profile Management - Manage user profiles and settings
- 🎨 Clean UI - Modern, responsive interface built with Flutter
| Splash Screen | Login Screen | Signup Screen |
|---|---|---|
![]() |
![]() |
![]() |
| Chat Home | Contacts | Individual Chat |
|---|---|---|
![]() |
![]() |
![]() |
| Group Home | Create Group | Group Chat |
|---|---|---|
![]() |
![]() |
![]() |
| Group Info | Block User | Logout |
|---|---|---|
![]() |
![]() |
![]() |
- Flutter SDK - Cross-platform mobile development framework
- Dart - Programming language for Flutter
- Firebase Authentication - User authentication and management
- Cloud Firestore - Real-time NoSQL database
- Firebase Cloud Messaging (FCM) - Push notifications
- Firebase Storage - File and media storage
- Bloc / GetIt - State management solution and clean architecture
lib/
├── core/ # Constants, themes, utilities
│ ├── constants/ # App constants
│ ├── themes/ # App themes
│ └── utils/ # Utility functions
├── models/ # Data models
├── services/ # Firebase integration
├── screens/ # App screens (Login, Chat, etc.)
├── widgets/ # Reusable UI components
├── controllers/ # Business logic
└── routes/ # Navigation routes
For detailed folder mapping, see Chatzilla_Repo_Map.md
- Flutter SDK (3.7.2 or higher)
- Firebase project setup
- Android Studio / VS Code
- Git
-
Clone the repository
git clone https://github.com/Rayan-974/chatzilla.git cd chatzilla -
Install dependencies
flutter pub get
-
Firebase Setup
- Create a Firebase project
- Add your
google-services.json(Android) andGoogleService-Info.plist(iOS) - Configure Firebase services (Auth, Firestore, FCM)
- See NOTIFICATION_SETUP.md for detailed setup
-
Run the application
flutter run
Make sure to configure your Firebase project with:
- Authentication providers (Email/Password)
- Firestore database rules
- FCM for push notifications
| Feature | Implementation |
|---|---|
| User Registration/Login | Firebase Authentication with email/password |
| Send/Receive Messages | Real-time updates via Cloud Firestore |
| View Chat History | Firestore queries with pagination |
| Push Notifications | Firebase Cloud Messaging integration |
| Group Management | Create, edit, and manage group chats |
| User Blocking | Privacy controls for user interactions |
| Profile Management | User data management and updates |
| Secure Logout | Proper session handling and cleanup |
- 📸 Media Messaging - Image, video, and file sharing
- 📞 Voice/Video Calling - WebRTC integration
- 🌍 Multi-language Support - Internationalization
- 🌙 Dark Mode - Theme customization
- 📱 Desktop Support - Cross-platform expansion
- 🧾 Admin Dashboard - Web-based management panel
- 🔍 Message Search - Full-text search capabilities
- 📊 Analytics - Usage statistics and insights
- 🔒 End-to-End Encryption - Enhanced security
- 🤖 AI Integration - Smart features and chatbots
Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open-source and available under the MIT License.
Rayan Ahmer
Mobile App Developer | Flutter Enthusiast
⭐ Star this repository if you found it helpful!











