Skip to content

OpenVibes/Expense-Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Expense Tracker Logo

πŸ’° Expense Tracker

A modern, beautiful expense tracking app built with Flutter

Features β€’ Screenshots β€’ Tech Stack β€’ Installation β€’ Architecture β€’ Contributing

Flutter Dart Platform License


✨ Features

πŸ’³ Account Management

  • Multiple Account Types β€” Track Bank accounts, Trading portfolios, and Cash wallets
  • Real-time Balance β€” See your total balance across all accounts at a glance
  • Color-coded Categories β€” Easily distinguish between different account types

πŸ“Š Transaction Tracking

  • Income & Expenses β€” Log all your financial activities with categories
  • Transfer Between Accounts β€” Move money between your accounts seamlessly
  • Transaction History β€” View, filter, and search through all your transactions

πŸ“ˆ Insights & Analytics

  • Visual Charts β€” Beautiful pie charts and bar graphs powered by FL Chart
  • Monthly Summaries β€” Track income vs expenses for any month
  • Spending Patterns β€” Understand where your money goes

🎨 Premium UI/UX

  • Dark Mode Design β€” Stunning dark theme with glassmorphism effects
  • Smooth Animations β€” Declarative animations throughout the app
  • Modern Typography β€” Clean fonts via Google Fonts (Outfit & Inter)
  • Responsive Layout β€” Works beautifully on phones, tablets, and desktop

πŸ” Security

  • PIN Protection β€” Secure your financial data with a PIN
  • Local Storage β€” All data stays on your device
  • No Cloud Required β€” Complete privacy, works offline

🌍 Localization

  • Multi-currency Support β€” Track expenses in your preferred currency
  • Locale-aware Formatting β€” Proper number and date formatting

πŸ–ΌοΈ Screenshots

Dashboard Transactions Insights Accounts
Dashboard Transactions Insights Accounts

πŸ› οΈ Tech Stack

Core

Technology Purpose
Flutter 3.5+ Cross-platform UI framework
Dart 3.0+ Programming language
Riverpod State management
Go Router Navigation & routing

Data & Storage

Technology Purpose
Drift (SQLite) Local database
Shared Preferences Settings storage
Freezed Immutable data classes

UI & Design

Technology Purpose
Flutter Animate Declarative animations
FL Chart Charts & graphs
Google Fonts Typography
Glassmorphism Modern glass effects

Utilities

Technology Purpose
intl Date & number formatting
UUID Unique ID generation
CSV Data export support
Share Plus Share functionality

πŸš€ Installation

Prerequisites

  • Flutter SDK >=3.5.0
  • Dart SDK >=3.0.0
  • Android Studio / Xcode (for mobile development)

Steps

  1. Clone the repository

    git clone https://github.com/OpenVibes/Expense-Tracker.git
    cd expense-tracker-dart
  2. Install dependencies

    flutter pub get
  3. Generate code (for Drift, Freezed, Riverpod)

    dart run build_runner build --delete-conflicting-outputs
  4. Run the app

    # For development
    flutter run
    
    # For specific platform
    flutter run -d android
    flutter run -d ios
    flutter run -d chrome
    flutter run -d windows
    flutter run -d macos
    flutter run -d linux

Build for Production

# Android APK
flutter build apk --release

# Android App Bundle
flutter build appbundle --release

# iOS
flutter build ios --release

# Web
flutter build web --release

πŸ—οΈ Architecture

The project follows a clean architecture pattern with clear separation of concerns:

lib/
β”œβ”€β”€ core/                   # App-wide utilities
β”‚   β”œβ”€β”€ constants.dart      # App constants
β”‚   β”œβ”€β”€ router.dart         # Navigation setup
β”‚   └── theme/              # Design system
β”‚       β”œβ”€β”€ app_colors.dart # Color palette
β”‚       └── app_theme.dart  # ThemeData
β”‚
β”œβ”€β”€ data/                   # Data layer
β”‚   └── database/           # Drift database
β”‚       └── database.dart   # Tables & DAOs
β”‚
β”œβ”€β”€ domain/                 # Business logic
β”‚   └── entities/           # Domain models
β”‚       └── enums.dart      # Enumerations
β”‚
β”œβ”€β”€ presentation/           # UI layer
β”‚   β”œβ”€β”€ providers/          # Riverpod providers
β”‚   β”œβ”€β”€ screens/            # App screens
β”‚   β”‚   β”œβ”€β”€ auth/           # Authentication
β”‚   β”‚   β”œβ”€β”€ onboarding/     # Onboarding flow
β”‚   β”‚   β”œβ”€β”€ settings/       # Settings
β”‚   β”‚   └── *.dart          # Main screens
β”‚   └── widgets/            # Reusable widgets
β”‚
└── main.dart               # Entry point

Key Design Patterns

  • Provider Pattern β€” State management with Riverpod
  • Repository Pattern β€” Data abstraction
  • Composition β€” Widget composition for reusability
  • Declarative UI β€” Flutter's widget-based architecture

🎨 Design System

Color Palette

Color Hex Usage
🟣 Primary #6B4BFF Main actions, highlights
πŸ”΅ Secondary #00D1FF Accent elements
πŸ”΄ Accent #FF0080 Alerts, CTAs
⬛ Background #050511 App background
🟒 Success #00FF94 Income, positive
πŸ”΄ Error #FF3B30 Expenses, errors

Typography

  • Headings: Outfit (Bold, Semi-bold)
  • Body: Inter (Regular, Medium)

πŸ“± Supported Platforms

Platform Status Min Version
Android βœ… Supported API 21 (5.0)
iOS βœ… Supported iOS 12.0
Web βœ… Supported Modern browsers
Windows βœ… Supported Windows 10+
macOS βœ… Supported macOS 10.14+
Linux βœ… Supported Modern distros

🀝 Contributing

Contributions are welcome! Here's how you can help:

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

Development Guidelines

  • Follow the existing code style
  • Write meaningful commit messages
  • Update documentation as needed
  • Test on multiple platforms when possible

πŸ“„ License

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


πŸ™ Acknowledgments


Made with ❀️ by OpenVibes

⭐ Star this repo β€’ πŸ› Report Bug β€’ ✨ Request Feature

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published