Fumet marries offline-first local cryptography, real-time Safe-to-Spend velocity rules, and a stunning editorial interface to help you master your financial flow.
Ledger & Budget
Navigate through the core engines of Fumet. Interact with each panel to see how it secures and guides your capital.
{
"amount": 800.00,
"category": "Food",
"note": "Friend Split Dinner",
"type": "expense"
}
U2FsdGVkX19mb29kODAyM2FhNmE5Mzg0NmMxNmE3ZDcyMWYzNTZkOWYzMDhmNmQyNWU5ZWYxOGEwOWE4NGM4MmI0Mzk1NDll...
Drag the slider below to change split percentages and watch debt shares update instantly.
Fumet separates domain rules from database concerns, adhering strictly to Feature-First Clean Architecture principles.
Root Application Directory
The root directory containing all Dart code for Fumet, structured according to Feature-First Clean Architecture rules. This boundaries separation ensures that changes in framework packages (like Flutter or Hive DB) do not leak into core logic.
lib/core
Contains shared utilities, constants, theme tokens, extensions, and central infrastructure services. These components are consumed globally across features but remain independent of individual feature rules.
lib/core/services
System services linking platform layers to the Dart engine. Handles operations like local filesystem write triggers and native background isolates.
lib/core/services/encryption_helper.dart
Heuristic Cryptography Engine: Encrypts transaction amounts, labels, and balances locally using keys derived from a user passphrase. No financial transaction logs are written to physical devices or synced online without undergoing AES-256 obfuscation.
lib/core/services/home_widget_service.dart
Mobile Background Isolates: Powers widgets by sending ledger cache states straight to native device memory (Android/iOS widget directories) from background isolates, avoiding main UI frame locks.
lib/features
The feature modules directory. Each folder acts as an isolated vertical slice representing one area of app functionality (dashboard, splits, widgets, etc.). Each feature contains its own localized Domain, Data, and Presentation folders.
lib/features/budget
Manages Fumet's budgeting mechanics, including Safe-to-Spend limits, velocity indicators, and daily limits calculations. The module isolates UI providers from local Hive cache read/writes.
lib/features/.../domain
Enterprise Business Rules Layer: Houses the feature entities and abstract contracts defining repositories. This layer uses pure Dart syntax and is entirely free from external dependencies or Flutter library imports.
lib/features/.../data
Data Access Layer: Implements repository interfaces defined by the Domain. Manages data mapping (Models), local databases (Hive caches), and database sync clients.
lib/features/.../presentation
User Interaction Layer: Houses Flutter screens, widgets, and view logic providers. State transitions are controlled via provider notifications.
Strict boundary enforcement dividing Business Logic (Domain), Data storage (Hive DB drivers), and Presentation layers (Riverpod UI providers).
Keys derived entirely offline from user-supplied passphrases via SHA-256 hashing. Capital data is secured before hitting external sync triggers.
Widgets write directly to local storage via separate platform isolates, updating widget scores without freezing UI frames.