Skip to content

Rayan-974/ChatZilla

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

70 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“ฑ Chatzilla - Real-Time Flutter Chat App

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.

๐Ÿ“‹ Table of Contents


๐Ÿš€ Features

  • ๐Ÿ” 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

๐Ÿ“ฑ Screenshots

Authentication Flow

Splash Screen Login Screen Signup Screen
Splash Login Signup

Main Application Flow

Chat Home Contacts Individual Chat
Chat Home Contacts Chat Screen

Group Messaging

Group Home Create Group Group Chat
Group Home Create Group Group Screen

User Management

Group Info Block User Logout
Group Info Block User Logout

๐Ÿ› ๏ธ Technologies Used

Frontend

  • Flutter SDK - Cross-platform mobile development framework
  • Dart - Programming language for Flutter

Backend & Services

  • Firebase Authentication - User authentication and management
  • Cloud Firestore - Real-time NoSQL database
  • Firebase Cloud Messaging (FCM) - Push notifications
  • Firebase Storage - File and media storage

State Management

  • Bloc / GetIt - State management solution and clean architecture

๐Ÿ“ Project Structure

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


๐Ÿ”ง Getting Started

Prerequisites

  • Flutter SDK (3.7.2 or higher)
  • Firebase project setup
  • Android Studio / VS Code
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/Rayan-974/chatzilla.git
    cd chatzilla
  2. Install dependencies

    flutter pub get
  3. Firebase Setup

    • Create a Firebase project
    • Add your google-services.json (Android) and GoogleService-Info.plist (iOS)
    • Configure Firebase services (Auth, Firestore, FCM)
    • See NOTIFICATION_SETUP.md for detailed setup
  4. Run the application

    flutter run

Configuration

Make sure to configure your Firebase project with:

  • Authentication providers (Email/Password)
  • Firestore database rules
  • FCM for push notifications

โœ… Use Cases

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

๐Ÿ”ฎ Future Enhancements

Planned Features

  • ๐Ÿ“ธ 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

Advanced Features

  • ๐Ÿงพ 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

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.

Steps to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is open-source and available under the MIT License.


๐Ÿ™‹ Author

Rayan Ahmer
Mobile App Developer | Flutter Enthusiast

GitHub

โญ Star this repository if you found it helpful!

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors