Having more info, now we can structure and organize our modules properly.
Everything the app needs for implementing its "core" purpose - track income/expense & balance.
Domain data models designed to be used for business logic's implementation.
Ivy Wallet's business logic. Flows, actions and functions designed to be used by features.
Ivy Wallet's local persistence - Room DB
and Datastore
. Designed to be used only
by :core:domain
and not features.
UI data models and components for visualing domain data.
Provides latest exchange rates.
Ivy Design system containg Color Science, Typography, design language and key components.
Handles the navigation within the app. Provides a Navigator
component for changing screens and
dependency inversion between for screen's implementation.
🚧 To be defined. 🚧
🚧 To be defined. 🚧
All resources (strings, drawable, styles) used in Ivy Wallet. See ADR#4: Core Module.
Provides grouping for common dependency and common extensions.
Provides groupiing for common test instrumentation (e2e/android) test dependency and useful base classes.
Groups modules implementing Android SDK features together.
Google Play Billing implementation.
Handling Android notifications.
All features will be grouped logically in modules with submodules.
- :home:customer-jouney
- :home:more-menu
- :home:tab