A free personal finance management app.
Freenance is a simple mobile app made for expense tracking.
Create multiple Budgets, each budget can group several envelope and each envelope can group several operations.
Budget => Envelope => Operation
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.
This project use generated sources for:
- state management
- tests mocks
- cucumber tests
Sources can be generated using the command line.
dart run build_runner build --delete-conflicting-outputs
VsCode task has been created in order to generate sources using a simple shortcut.
- Type
Cmd
+Shift
+P
to show the VsCode command palette. - Type
Run Task
selectTasks: Run Task
and hitEnter
- Now select
generate sources
and hitEnter
See .vscode/tasks.json for tasks definition.
This project use flutter_launcher_icons
plugin from pub.dev for icon management.
The icon root asset is located at assets/icon/icon.png
To change icon follow these steps:
- Replace the asset image in
assets/icon/icon.png
- Run the commande
dart run flutter_launcher_icons
VsCode task has been created in order to generate App icon using a simple shortcut.
- Type
Cmd
+Shift
+P
to show the VsCode command palette. - Type
Run Task
selectTasks: Run Task
and hitEnter
- Now select
generate icon
and hitEnter
See .vscode/tasks.json for tasks definition.
Two test categories are implemented:
- Unit tests + Mockito
- Cucumber tests
Just run the tests
flutter test
Run unit tests with coverage
flutter test --coverage
Exclude files from coverage report
lcov --remove coverage/lcov.info -o coverage/lcov.info 'lib/view/**/*' 'lib/model/logic/freenance_db.dart' '**/*.g.dart' 'lib/view_model/providers.dart'
Generate coverage report
genhtml coverage/lcov.info -o coverage/html