Skip to content

Repository files navigation

📱 Messages — Smart SMS & Transaction Client

Dart Flutter Isar Database State Management

A modern, fast, and intelligent SMS client for Android, built with Flutter. Messages parses and categorizes your SMS inbox on-device, offering instant access to OTPs and visual transaction tracking with Material 3 dynamic styling.

IT IS NOT FULLY FUNCTIONAL YET. I AM DEVELOPING IT. WELL YOU CAN CHAT, WITHOUT SENDING MULTIMEDIA.


🎨 Preview

Personal Chats Screen
💬 Personal Chats
Smart Inbox Screen
🧠 Smart Inbox
Interactive Conversation Screen
✉️ Interactive Chat
OTP Notification Actions
⚡ Notifications
Settings and Styling Screen
🎨 Material You Themes
System Bubble Notifications
📱 Chat Bubbles

✨ Features

  • 🧠 Intelligent On-Device Classification: Automatically categorizes incoming and existing messages into:
    • 🔑 OTPs: One-Time Passwords from various services.
    • 💳 Banking: Financial credits, debits, and transaction information.
    • 💬 Personal: Chats and messages from contact numbers.
    • 📢 Promotions: Offers, discount alerts, and sales spam.
    • 🛡️ Spam & Unknown: Automatic filtering of unrecognized sender IDs.
  • ⚡ One-Tap OTP Actions: Detects OTP codes along with service names and expiration. Tap to copy immediately to your clipboard.
  • 📊 Visual Transaction Tracker: Extracts financial figures (INR / ₹), debits, credits, and account endings. Renders beautiful debit/credit summary cards in your inbox.
  • 🎨 Dynamic Material 3 Design: Fully supports Material You dynamic coloring (light/dark) utilizing your system color scheme.
  • 💾 Local-First & High-Performance: Uses Isar Database for lightning-fast offline search, caching, indexing, and sync.
  • 📱 Robust OEM Permission Handling: Gracefully handles permission lifecycles, with direct handling of default SMS handler requests and instructions for custom launchers (MIUI, HyperOS, Funtouch OS).

🏗️ Architecture

The project follows a clean feature-driven architecture:

graph TD
    App([Msgs App]) --> Services
    App --> Features
    
    subgraph Services [Shared Services]
        SmsRepo[SmsRepository]
        Classifier[MessageClassifier]
        OtpParser[OtpParser]
        IsarDb[(Isar Local DB)]
    end
    
    subgraph Features [Feature Modules]
        Inbox[Inbox: BLoC / Screen]
        Permissions[Permissions Screen]
        BankingWidget[Banking: Transaction Cards]
        OtpWidget[OTP: Copyable Cards]
        Settings[Settings & Theme]
    end
    
    SmsRepo --> IsarDb
    Inbox --> SmsRepo
    BankingWidget --> Classifier
    OtpWidget --> OtpParser
Loading

Folder Structure

  • lib/core/: Application themes, configurations, and utilities.
  • lib/services/: Shared repository layers, local database models, and classification engines.
  • lib/features/: UI modules organized by user features (Inbox, Conversation, Banking, OTP, Permissions).

🛠️ Tech Stack & Dependencies


🚀 Getting Started

Prerequisites

  • Flutter SDK (>= 3.11.4)
  • Android SDK (configured for local emulation or physical devices)

Installation Steps

  1. Clone the repository:

    git clone https://github.com/Najeer-k11/Messages-FlutterApp.git
    cd Messages-FlutterApp
  2. Install dependencies:

    flutter pub get
  3. Generate local database schemas (Isar): This project relies on build_runner to generate code for the database schema models.

    flutter pub run build_runner build --delete-conflicting-outputs
  4. Run the application: Ensure you have an Android device or emulator running.

    flutter run

🔒 Permissions & Safety

All message processing, categorization, and pattern parsing happens strictly on-device. No messages or financial details are sent to external servers, protecting your privacy.

  • SMS Permission: Required to read local SMS storage and receive incoming messages.
  • Contacts Permission: Used to resolve contact names from phone numbers in your threads.
  • Default SMS Handler: Optionally prompt to set Msgs as the default SMS application to handle incoming SMS events.

📄 License

see the LICENSE file for details.

About

A modern, fast, and intelligent SMS ( Messages ) client for Android, built with Flutter and with power of Kotlin. Messages parses and categorizes your SMS inbox on-device, offering instant access to OTPs and visual transaction tracking with Material 3 dynamic styling.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages