Skip to main content

Overview

The Zeus Flutter app provides a beautiful, responsive mobile interface for expense tracking. Built with modern Flutter patterns and a local-first architecture.

Features

Offline-First

Full functionality without network connection

Cross-Platform

Single codebase for iOS and Android

State Management

BLoC pattern for predictable state

Local Cache

SQLite for instant data access

Tech Stack

ComponentTechnologyPurpose
FrameworkFlutter 3.10+UI framework
StateBLoC + CubitState management
CachesqfliteSQLite database
Networkinghttp/dioAPI communication
DIProvider/GetItDependency injection

Project Structure

lib/
├── cache/              # Local-first cache layer
│   ├── models/         # Data models
│   ├── repositories/   # CRUD operations
│   ├── providers/      # Storage implementations
│   └── services/       # Sync logic
├── app/                # App configuration
│   ├── view/           # Root app widget
│   └── app.dart        # App exports
├── l10n/               # Localization
│   ├── arb/            # Translation files
│   └── gen/            # Generated code
├── bootstrap.dart      # App initialization
└── main.dart           # Entry point

Key Principles

Local-First

All data operations happen locally first:
// Create transaction locally
final transaction = await cache.createTransaction(
  walletId: wallet.id,
  amount: 25.50,
  type: 'expense',
);

// Automatically queued for background sync

Next Steps