Loading screen | Main screen | Enter amount screen | New rates screen | Error screen |
---|---|---|---|---|
The recommended app architecture applied in the application. However, unfortunately due to time limit there are deviations. Fixing those 'mistakes' could take a bit more time. You know, every home task has its deadline. I tried to do my best for this project, could not achieved it hundred per-cent.
Root project has some several packages (they include app layers inside of them) and files:
Data package includes repository and remote source layers as well. DI package has a single file in it called koinModules.kt. This file only keeps a variable in it which is needed to be used in application class. Helpers package has different kinds of files for different purposes. Check them to get extra information about them. Finally, UI package keeps main activity, a fragment, its ViewModel and other UI related classes/files. Additionally, Service Locator file is used to manage layers from one point.
NOTE: Additional information about classes/files/functions and about their functionalities were added as comments.
Android Studio v3.5+, Kotlin v1.3.71 & JDK v8 are enough to build the project. To build release artifact:
- Select
Generate Signed Bundle/Apk
option fromBuild
menu in your IDE. - Pick the
rates_conversions_kystr.jks
file as key store file from project root path. - Enter
threecowsatthesea
text for all password fields. - Enter
rates_conversions
as key store alias and hit next. - Check both
V1
andV2
checkboxes asSignature Versions
option. - Hit
Finish
button & wait for your release app.
Or alternatively, simply run ./gradlew assembleRelease
command in
terminal & wait for successful build report from the gradle.
- App logo made by Freepik from Flaticon.
- Country flags in drawable were downloaded from country flags.