Skip to content

SeekAI-786/Flutter_Expense_App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Expense Tracker App (Offline)

Flutter app with local SQLite storage and local notifications.

Stack

  • Flutter
  • SQLite via sqflite
  • State management via provider
  • Local reminders via flutter_local_notifications

Features Implemented

  • Expense tracker
    • Amount
    • Category
    • Payment type (Cash/Online)
    • Date
    • Optional comment
  • Monthly income and summary
    • First-day income prompt if missing
    • Income/expense/balance overview
    • Highest spending category
    • Daily average spending
    • Budget warning when spending reaches 70% of monthly income
  • Task scheduler
    • Add task with deadline
    • Optional reminder notification
    • Mark complete
    • Carry-forward incomplete tasks
  • Productivity extras
    • Dark mode toggle (from dashboard)
    • Export current month expenses to CSV from Expenses screen

Database Tables

  • expenses(id, amount, category, payment_type, date, comment)
  • income(id, month, year, amount)
  • tasks(id, title, description, deadline, is_completed, reminder_time)

Indexes:

  • idx_expenses_date
  • idx_expenses_category

Project Structure

lib/
 ├── main.dart
 ├── core/
 │    ├── database/db_helper.dart
 │    ├── models/
 │    │     ├── expense_model.dart
 │    │     ├── income_model.dart
 │    │     └── task_model.dart
 │    └── services/notification_service.dart
 ├── features/
 │    ├── dashboard/dashboard_screen.dart
 │    ├── expenses/
 │    │     ├── add_expense_screen.dart
 │    │     └── expense_list.dart
 │    ├── summary/monthly_summary_screen.dart
 │    └── tasks/task_screen.dart
 └── providers/
      ├── expense_provider.dart
      └── task_provider.dart

Setup

  1. Install Flutter SDK and Android Studio.
  2. In this project folder run:
flutter create .
flutter pub get
flutter run

Build APK

flutter build apk --release

Output:

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

Play Store Readiness (Android)

1) Set your final app identity

  • Update applicationId and namespace in android/app/build.gradle.kts from com.example... to your own reverse-domain ID.
  • Move MainActivity.kt package path if you change the namespace.

2) Configure release signing

  • Create android/key.properties (do not commit it):
storePassword=YOUR_STORE_PASSWORD
keyPassword=YOUR_KEY_PASSWORD
keyAlias=upload
storeFile=../upload-keystore.jks
  • Keep your keystore file safe (example: android/upload-keystore.jks).

3) Build App Bundle for Play Store

flutter clean
flutter pub get
flutter build appbundle --release

Output:

build/app/outputs/bundle/release/app-release.aab

4) Production checklist before uploading

  • Replace default launcher icon and app name if needed.
  • Verify notification behavior on Android 13+ (runtime notification permission).
  • Update version in pubspec.yaml for each release.
  • Test install and upgrade path using release builds.
  • Complete Play Console listing (privacy policy, screenshots, content rating, data safety form).

Files to preserve if you delete this project folder

  • lib/
  • pubspec.yaml
  • pubspec.lock
  • README.md
  • android/key.properties (private)
  • Your keystore file (*.jks / *.keystore, private)
  • android/app/google-services.json if you add Firebase later
  • ios/Runner/GoogleService-Info.plist if you add Firebase later

About

Built an expense tracker app the fully runs locally in your android devices using flutter to track daily expenses and set daily task reminders

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors