π§Ύπͺ 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
- Due to given UI kit create prototype describing all features.
- Add translations (ukr, eng)
- Authentication should be on user’s device with the usage of biometrics if supported. Otherwise use pin code.
- All data should be stored locally in SQlite DB.
- Despite all data is stored locally, implement multiuser feature.
- 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. |
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 |