An simple currency converter app utilizing CurrentLayer API.
Built with ❤︎ by
Muhammad Usama Yasin
- Updated Exchange rates.
- Offline Support
- Conversion in realtime.
- Every 30 minutes gets the latest rates and update lcoal DB
- Built with Modern Android Development practices
- Utilized Usecase, Repository pattern for data
- Includes unit tests for Use cases.
- Kotlin - First class and official programming language for Android development.
- Coroutines - For asynchronous and more..
- Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- LiveData - Data objects that notify views when the underlying database changes.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
- Dependency Injection
- Hilt - Easier way to incorporate Dagger DI into Android apps.
- Room - For saving Data in local DB and to provide offline support.
- Retrofit - A type-safe HTTP client for Android and Java.
- Work Manager - WorkManager the recommended library for persistent work.
- Material Components for Android - Modular and customizable Material Design UI components for Android.
- Gradle Kotlin DSL - For writing Gradle build scripts using Kotlin.
- MockK - For Mocking and Unit Testing
- UI tests
Muhammad Usama Yasin