Skip to content

Latest commit

Β 

History

56 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Š SpendX

Your Money, Local-First. Secure, Subscription-Free Personal Finance.

Flutter CI License: MIT PRs Welcome Platform


SpendX is a modern, privacy-friendly personal finance tracker designed for developers, creators, and individuals who want full ownership of their financial data. No subscriptions, no cloud lock-in, and no spreadsheet fatigue.

Features β€’ Tech Stack β€’ Architecture β€’ Getting Started β€’ Release Build


πŸ’‘ The Problem & The Solution

The Problem

Most personal finance tools today require constant cloud syncing, force you into expensive monthly subscriptions, or compromise your privacy by linking directly to live bank accounts. When those services shut down or change their models, your history goes with them.

The Solution

SpendX is built on a local-first philosophy. All transactional databases, settings, and credentials live directly on your physical device. It gives you the power of a comprehensive financial ledger, budgeting sheets, analytics, and intelligent imports without sacrificing your data privacy.


✨ Key Features

πŸ’³ Core Ledger & Money Flows

  • Multi-Account Management: Track balances across cash, bank accounts, credit cards, loans, and lending arrangements.
  • Granular Tracking: Organize transactions with categories, customizable tags, and advanced search/filters.
  • Offline-First Storage: Powered by a local SQLite engine for instantaneous loads and zero-connection operation.

πŸ“… Budgeting & Financial Control

  • Flexible Budgets: Set up category-based budgets to visualize monthly or periodic spending.
  • Salary Planning Ledger: Integrated flows to allocate and plan salary distribution across goals and bills.
  • Recurring Transactions: Automate recurring expense logging (subscriptions, utility bills) on a flexible timeline engine.

πŸ“ˆ Reports & Deep Insights

  • Interactive Analytics: View spending breakdowns, category metrics, and tag distributions through native canvas charts.
  • Net Worth History: Track your overall net worth over time with local database snapshots.
  • Nudges & Health Nudges: Receive subtle behavioral triggers about your spending trends.

πŸ€– Smart Inputs (OCR & Imports)

  • Digital Statement Parser: Import records using bank-agnostic statement template mappings.
  • On-Device OCR Receipt Scanning: Scan physical receipts using Google ML Kit to extract transaction details on-device.
  • SMS Intent Handler: Optionally parse transaction messages locally to speed up entry.

πŸ› οΈ Tech Stack

SpendX uses modern mobile components to ensure high performance and maintainability:


πŸ—οΈ Architecture

SpendX follows a modular, feature-first structure with clean separation of layers:

lib/
  β”œβ”€β”€ core/          # App configuration, logging, and global utilities
  β”œβ”€β”€ data/          # Local database schemas, migrations, and shared repositories
  β”œβ”€β”€ features/      # Feature modules (salary ledger, transactions, budget) with scoped state
  β”œβ”€β”€ models/        # Scoped serialization and domain models
  β”œβ”€β”€ screens/       # Core app screen structures and layout routes
  β”œβ”€β”€ services/      # Business logic, SMS parsing, and file import engines
  β”œβ”€β”€ shared/        # Reusable global UI elements and layout rules
  └── widgets/       # Core components and modular visual cards

Detailed documentation:


πŸš€ Getting Started

Prerequisites

  • Flutter SDK (3.10.0 or higher)
  • Android Studio, VS Code, or Xcode (for iOS compilation)
  • CocoaPods (if compiling on macOS for iOS)

Installation & Run

  1. Clone the repository:

    git clone https://github.com/masheddesigns/SpendX.git
    cd SpendX
  2. Install Flutter packages:

    flutter pub get
  3. Configure Environment Variables:

    cp .env.example .env
  4. Launch the application:

    flutter run

πŸ“¦ Release Build

To generate a release APK locally:

flutter build apk --release

Expected output:

build/app/outputs/flutter-apk/app-release.apk

πŸ”’ Security & Privacy

Since SpendX operates entirely local-first, no personal financial data is ever sent to any remote server.

  • SMS parsing is executed on-device using local string patterns.
  • Receipt text extraction runs on-device using Google's local ML Kit OCR library.
  • Backup and export features generate files locally to place control strictly in your hands.

Review our full security policy in SECURITY.md.


🀝 Contributing

We welcome contributions! Please review the setup rules, testing workflows, and branching patterns in CONTRIBUTING.md before opening a pull request.


πŸ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Its Fianancial managing app, with a lot of features you wont expect in a financial app that can help you become addict on saving and tracking money

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages