Mocca is a modern Android application for mobile and Wear OS that simplifies money transfer cost calculations. Based on Efecty rates, it provides a clean, fast, and reliable way to calculate fees and total costs on the go.
- 💰 Smart Calculator: Real-time fee calculation with range validation.
- 🕒 History: Keep track of your successful calculations locally.
- ⌚ Wear OS Support: A streamlined version optimized for your wrist.
- 🎨 Material 3: Full support for Dynamic Colors and Adaptive Layouts.
- 🌓 Theme Support: Seamless switching between Light and Dark modes.
The project is built using modern Android development standards:
- Pattern: MVVM (Model-View-ViewModel) + UDF (Unidirectional Data Flow).
- Modularization: Feature-based modular structure for high scalability.
- Concurrency: Kotlin Coroutines and Flow for reactive data streams.
flowchart BT
subgraph Core
fcc[":features:core:calculator"]
fcd[":features:core:database"]
fcp[":features:core:preferences"]
fcu[":features:core:ui"]
end
subgraph Mobile
fmu[":features:mobile:ui"]
fmc[":features:mobile:calculator-*"]
fmo[":features:mobile:onboarding"]
fms[":features:mobile:settings"]
appm[":apps:mobile"]
bmm[":benchmarks:macro:mobile"]
end
subgraph WearOS
fwu[":features:wearos:ui"]
fwc[":features:wearos:calculator-*"]
fwo[":features:wearos:onboarding"]
appw[":apps:wearos"]
bmw[":benchmarks:macro:wearos"]
end
Core --- Mobile
Core --- WearOS
fmu --- fmc
fmc --- appm
fmo --- appm
fms --- appm
fwu --- fwc
fwc --- appw
fwo --- appw
appm --- bmm
appw --- bmw
The application is built with the following cutting-edge technologies:
- Language: Kotlin
2.4.0 - UI Framework: Jetpack Compose BOM
2026.06.00 - Dependency Injection: Koin BOM
4.2.2 - Navigation: Jetpack Navigation
2.9.8 - Local Database: Room
2.8.4 - Data Storage: DataStore
1.3.0-alpha09 - Adaptive Layouts: Material 3 Adaptive
1.2.0 - Wear OS: Compose for Wear OS
1.6.2 - Infrastructure: Android Gradle Plugin
9.2.1
apps/: Main entry points for:mobileand:wearos.features/core/: Shared business logic,:calculatorrules,:databasepersistence, and shared:uicomponents.features/mobile/: Mobile-specific feature modules like:calculator-fees,:onboarding, and:settings.features/wearos/: Wear OS-specific feature modules like:calculator-fees,:onboarding, and:ui.benchmarks/: Macrobenchmark tests for performance monitoring on both:mobileand:wearos.build-logic/: Custom Gradle convention plugins for project configuration.
- Clone the repo:
git clone https://github.com/marlonlom/mocca.git - Open in Android Studio Ladybug (or later).
- Sync Gradle and run the
:apps:mobileor:apps:wearosmodule.
- Contributing: Guidelines for contributing to the project.
- Code of Conduct: Community standards and expectations.
Copyright 2023 Marlonlom
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
