Skip to content

Demo7Vlizer/ChatsAPK

Repository files navigation

✨ ChitChat App

A sleek and modern Flutter chat application with powerful features

FeaturesPreviewInstallationArchitectureContributing

Flutter Version Dart Version License PRs Welcome

🌟 Preview

Experience ChitChat in Action

Chat Demo

📱 App Showcase

Home Screen
Home Screen
Chat Screen
Chat Interface
Media Preview
Media Sharing

⚡ Key Features

🏠 Home Experience

  • Real-time user status
  • Smart search functionality
  • Beautiful UI with gradients
  • Quick profile access

💭 Chat Capabilities

  • Instant messaging
  • Rich media sharing
  • Message status tracking
  • Smart typing indicators

🔐 Security

  • Google authentication
  • Session management
  • Secure data handling
  • Privacy controls

📱 Media Features

  • Image optimization
  • Video compression
  • Cloud storage
  • Offline support

🏗️ Architecture

``` ┌──────────────────────────────────────────────────────────┐ │ ChitChat App │ └──────────────────┬───────────────────┬──────────────────┘ │ │ ┌──────────────────▼──┐ ┌──────────▼───────┐ ┌──────────────┐ │ Presentation │ │ Business Logic │ │ Data │ │ Layer │ │ Layer │ │ Layer │ ├───────────────────┐│ ├──────────────────┐│ ├─────────────┐│ │ ┌───────────────┐ ││ │ ┌──────────────┐ ││ │ ┌─────────┐ ││ │ │ Views │ ││ │ │ Services │ ││ │ │ Models │ ││ │ └───────────────┘ ││ │ └──────────────┘ ││ │ └─────────┘ ││ │ ┌───────────────┐ ││ │ ┌──────────────┐ ││ │ ┌─────────┐ ││ │ │ Controllers │ ││ │ │ Repositories │ ││ │ │ APIs │ ││ │ └───────────────┘ ││ │ └──────────────┘ ││ │ └─────────┘ ││ │ ┌───────────────┐ ││ │ ┌──────────────┐ ││ │ ┌─────────┐ ││ │ │ Widgets │ ││ │ │ Bindings │ ││ │ │Firebase │ ││ │ └───────────────┘ ││ │ └──────────────┘ ││ │ └─────────┘ ││ └───────────────────┘│ └──────────────────┘│ └─────────────┘│ └───────────────────┘ └──────────────────┘ └─────────────┘ ```

🔄 Data Flow

┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐
│  Widget  │ => │Controller│ => │ Service  │ => │Firebase  │
└──────────┘    └──────────┘    └──────────┘    └──────────┘
      ▲              │               │                │
      └──────────────┴───────────────┴────────────────┘
                    Data Flow

This architecture follows Clean Architecture principles with:

  1. Presentation Layer

    • Views & Widgets
    • Controllers (GetX)
    • UI Logic
  2. Business Logic Layer

    • Services
    • Repositories
    • Use Cases
  3. Data Layer

    • Models
    • APIs
    • Firebase Integration

📱 Project Structure

📱 Core Modules
  • app/
    • bindings/ - Dependency injection
    • core/ - Core configurations
    • data/ - Data layer (models, services)
    • modules/ - Feature modules
    • routes/ - App navigation
    • widgets/ - Reusable widgets
🎯 Features
  • chat/
    • Real-time messaging implementation
    • Media handling
    • Message status tracking
  • home/
    • User listing
    • Search functionality
  • auth/
    • Authentication flow
    • User session management
🛠️ Services
  • auth_service.dart - Authentication handling
  • chat_service.dart - Chat functionality
  • media_service.dart - Media operations
📄 Core Files
  • app_config.dart - Application configuration
  • app_pages.dart - Route definitions
  • initial_binding.dart - Initial dependencies

🔧 Environment Setup

  1. Copy .env.example to .env
  2. Fill in the required environment variables:
    • GOOGLE_API_KEY: Your Google API key for services

Never commit the .env file or actual API keys to version control.

🔥 Firebase Setup

  1. Get google-services.json from Firebase Console
  2. Place it in android/app/google-services.json
  3. Never commit this file to version control

📚 Resources

Flutter Firebase GetX


Built with ❤️ using Flutter and Firebase

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published