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!











