Android application for mobile phones and smartwatches, that showcases money transfers cost calculation based in Efecty related calculator feature.
Mocca shows an user interface for doing money transfers cost calculation, adding an amount to be sent in Efecty transfers and reviewing the calculation results, or the calculation error based on negative amounts and valid range values.
Mocca contain tne following application modules:
Module | Description |
---|---|
:features:core:calculator |
Core money transfers cost calculation implementation |
:apps:mobile-app |
Contains the user interface applied to Android mobile phones and tablets. |
:apps:wearos-app |
Contains the user interface applied to WearOS smartwatches. |
Mocca is based on the MVVM architecture and the Repository pattern, which follows the Google's official architecture guidance.
In detail, the app, specially the mobile app, it contains the following defined features:
Application feature | Description |
---|---|
Calculator | Contains the UI for the money order cost calculator. Also, the calculation ui state for having a clean usage of the calculation input and outputs. |
Settings | Includes the listing and modifications for the following settings: Dark theme, Dynamic colors |
Both modules described here follows the convention for the already known layers that mvvm pattern include.
/* Calculator */
[UI] -> [ViewModel] // with UI state: CalculatorUiState <- {Empty, WithFailure, WithSuccess}
/* Settings */
[UI] -> [ViewModel] -> [Repository] -> [Datastore] // with UI state: UserPreferences
For the WearOS application module, you have the calculator functionality as a single module. which contains, in a simplified way, the calculator function already described.
In the ui design aspect, the material design current implementation (the compose-material library for wearos) works fine, but, in the future, it will be applied the material3
implementation for wearos whet it gets available.
TBD
See the code of conduct document for more information.
See the Contributing document for more information.
This application is distributed under the terms of the Apache License (Version 2.0). See the license for more information.
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.