- Build the project
Develop an application that:
- Can convert currencies between different bases
- Has an input field for amount (numbers only), by default always 1, and another input field to show the converted value
- Button to swap the values in FROM and TO, and accordingly converted data changed
- Show historical data for FROM/TO selections in last 3 days (day by day) – List and chart
- Rates converted to some other popular currencies.
Kotlin – a cross-platform, statically typed, general-purpose programming language with type inference.
Coroutines – perform background operations.
Flow – handle the stream of data asynchronously that executes sequentially.
Hilt – Hilt is a dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project.
Retrofit – A type-safe HTTP client for Android.
- Lifecycle – perform action when lifecycle state changes.
- ViewModel – store and manage UI-related data in a lifecycle conscious way.
- Jetpack Navigation – Implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer.
Leak Canary – a memory leak detection library for Android.
- MVVM – Model View View Model in conjunction with modularization architecture
- Unit Tests (JUnit) – a simple framework to write repeatable tests.
- Turbine – Turbine is a small testing library for kotlinx.coroutines
- Coroutines tests – Test utilities for
- Truth – Truth makes your test assertions and failure messages more readable.
- Github Actions