A powerful and lightweight Android application for tracking income, expenses, budgets, savings, loans, and more.
- Comprehensive Tracking: Track income, expenses, savings, budgets, and loans/debts.
- Smart AI Assistant: "Walleo" - Built-in AI chatbot for personalized financial guidance and suggestions.
- Data Visualization: View clean statistics to understand your financial health.
- Search & Filter: Easily find transactions by date, type, or specific queries.
- Backup & Restore: Secure cloud backup via Google Drive and local storage options.
- Offline First: Fully functional offline with robust SQLite local storage.
- Modern UI: Clean, fast, and responsive user interface.
You can install AyBay from:
AyBay is built using a Pattern-Oriented MVC Architecture, leveraging standard GoF design patterns to ensure scalability, maintainability, and clean code.
graph TD
subgraph "UI Layer"
UI_Trans[Transaction Activities]
UI_Auth[Login/Signup Activities]
UI_Chat[Walleo Chatbot]
end
subgraph "Facade Layer"
FinMgr[FinanceManager]
AuthMgr[AuthFacade]
end
subgraph "Repository / Strategy Layer"
Repo[DatabaseRepository]
Strategy[Expense/Income Strategy]
end
subgraph "Business Logic / Patterns"
Command[DeleteCommand]
Memento[TransactionMemento]
Observer[TransactionObserver]
Factory[TransactionFactory]
end
subgraph "Data Layer"
DB[DatabaseHelper]
ExtAPI[Gemini API]
end
%% Transaction Flow
UI_Trans -->|Calls| FinMgr
FinMgr -->|Delegates to| Repo
Repo -->|Uses| Strategy
Strategy -->|Persists Insert Update| DB
FinMgr -->|Executes| Command
FinMgr -->|Uses| Factory
FinMgr -->|Registers| Observer
Command -->|Uses| Memento
Command -->|Modifies Delete Restore| DB
DB -->|Notifies| Observer
Observer -->|Updates| UI_Trans
%% Authentication Flow
UI_Auth -->|Calls| AuthMgr
AuthMgr -->|Queries/Updates| DB
%% Chatbot Flow
UI_Chat -->|Streams| ExtAPI
UI_Chat -->|Saves History| DB
- Facade Pattern:
FinanceManageracts as a unified interface to the complex subsystem of data repositories and logic. - Strategy Pattern:
DataOperationStrategyinterfaces with concrete implementations likeExpenseOperationStrategyandIncomeOperationStrategyto handle different transaction types dynamically. - Observer Pattern:
TransactionObserverallows the UI (ShowExpense,ShowIncome) to react automatically to data changes in the repository. - Command Pattern:
DeleteCommandencapsulates delete requests, enabling features like Undo operations. - Composite Pattern:
CategoryCompositetreats individual transactions and groups of categories uniformly for calculating totals. - Iterator Pattern:
TransactionIteratorprovides a standard way to traverse collections of transactions without exposing underlying representations. - Factory Pattern:
TransactionFactoryhandles the creation of complexTransactionobjects. - Adapter Pattern:
CurrencyAdapterandDateAdaptertransform data formats to be compatible with UI requirements. - Memento Pattern: Support for capturing and restoring object state (e.g., for Undo functionality).
- Singleton Pattern: Ensures crucial classes like
FinanceManagerandDatabaseHelperhave a single shared instance.
- Language: Java (Android SDK)
- Database: SQLite (Custom
DatabaseHelper) - Testing: JUnit 5, Mockito
- Networking: OkHttp (for AI Chatbot)
This app is for educational and personal finance management purposes only.
It is not associated with any banking or financial institution.









