Your personal commerce operator toolset focusing on cognitive delegation of financial resource management via technological assistance.
- Get dependencies:
flutter pub get
- Generate DAOs:
dart run build_runner build
- Generate app icons:
dart run flutter_launcher_icons
- Generate splash screen:
dart run flutter_native_splash:create
- Check if source code is fine:
flutter analyze
- Check if logic is working correctly:
flutter test - Build release APK:
flutter build apk --release --target-platform android-arm64
- Globally Set Currency Symbol
- Globally Set Theme Colors
- Globally Set Weight Unit (Metric, Imperial or Both)
- Globally Set Tax Rate (0-100) for countries/stores that display prices without tax
- CRUD General purchases + Groups Screen
- CRUD purchase Screen
- Set per purchase budget
- CRUD PurchasedItems Screen
- CRUD reusable items
- Item details autocompletion while typing
-
Item Camera identification (tensorflow)Autocompletion works way too well for needing this -
Item duplicationCan be done quickly with autocompletion - Item suggestions while typing based on history
- Easy price per item/quantity toggle
- Core Numpad UI
- Numpad Variant - Calculator (bottom to top)
- Numpad Variant - Telephone (top to bottom)
- Purchase history
- Price history for individual items
- Price history graph for individual items
- Price history analytics on item autocompletion
- Track Monthly spend
- Modal discount calculation mini-tool
- Delete Image prompt timeout loading bar
- Pop up Image viewer
- Auto-detect recommended default settings
- Keypad Haptics
- Checklist Mode
Create schema snapshot of current database for testing migrations:
dart run drift_dev schema dump lib/core/database/database.dart drift_schemas/
dart run drift_dev schema generate drift_schemas/ test/core/database/generated_migrations/
Errors hidden behind Keypad
There's a problem with Snackbar's Z-index. It shows always under BottomSheet by default. See Issue: #63254. Item purchase keypad interface is implemented in showModalBottomSheet so, any errors will be hidden behind the keypad.
Autocompletion takes "last created" item details and not necessarily the "last purchased". So, if a purchase's purchase date is manually modified, the autocompletion will use it the next time. Just re-enter the price, after that it will be fine again until purchase date is manually overridden.
In Flutter's Material3 implementation, surfaceTintColor overlay is meant to animate when elevation changes but, since default shape and borderRadius is null, the Material widget optimizes out this animation from the AppBar.
This animated elevation color change is meant to be aesthetically similar to a heavy Gaussian blur BG and not having a smooth transition defeats that purpose.
This can be solved by adding a shape:
MaterialApp(
theme: ThemeData(
appBarTheme: const AppBarTheme(
shape: RoundedRectangleBorder(),
),
),
)No more abrupt coloring on elevation changes.
