A simple Flutter app to manage expenses

🧾🪙 Flutter Expense Management App

A simple Flutter app to manage expenses. A pet project to improve skills and learn new features. I had several technical task:

⚡ UI:

Figma template https://www.figma.com/community/file/1141026080000052242

⚡ Tasks

  1. Due to given UI kit create prototype describing all features.
  2. Add translations (ukr, eng)
  3. Authentication should be on user’s device with the usage of biometrics if supported. Otherwise use pin code.
  4. All data should be stored locally in SQlite DB.
  5. Despite all data is stored locally, implement multiuser feature.
  6. Use freezed and json_serializable packages for for data-classes and pattern-matching.

⚡ Features

  • All data stored on user’s device.
  • Create notes of user’s income and expense.
  • Count balance from the first note to the selected period.
  • Full statistics monthly report with Export to pdf feature.
  • Expense categories management: create, edit, change order.
  • Authentication with fingerprint, FaceId or pin code
  • All users’ data is encrypted and stored locally.
  • Search transaction by its title or filter by category.
  • Supports Ukrainian and English.

⚡ Platforms

🤖 Android  iOS

📸 Demo

Sign Up Add expenses
Home date management Statistics date management
Search

🔌 Plugins

Name Usage
Flutter BLoC State Management
SQflite SQL database to store data
Flutter SVG Draw SVG files
Json Serializable Handling JSON
Freezed Code generator for data-classes/unions/pattern-matching/cloning.
Local Auth Provides means to perform local, on-device authentication of the user.
Flutter Screen Lock Provides an feature for screen lock.
Page Transition Gives beautiful page transition.
pdf A pdf producer for Dart. It can create pdf files for both web or flutter.
Flutter Secured Storage Secure Storage provides API to store data in secure storage.
Easy Localization Localizes app

GitHub

View Github