https://github.com/linx64/my-assignment
https://github.com/linx64/my-assignment
Last synced: over 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/linx64/my-assignment
- Owner: LinX64
- Created: 2024-05-24T22:24:53.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-07-25T13:20:11.000Z (almost 2 years ago)
- Last Synced: 2025-01-21T15:23:15.247Z (over 1 year ago)
- Language: Kotlin
- Size: 291 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# My Assignment
## Introduction
This project is a simple Android application that displays the currency rates for PLN, and EURO,
which is being refreshed every
minute. The API used for fetching the currency rates is: https://www.exchangerate-api.com/
## Tech Stack
- Kotlin
- Kotlin Serialization (ready to be migrated to KMP)
- Kotlin Coroutines
- MVVM Architecture
- 100% Jetpack Compose
- Hilt
- Retrofit
I've also used one of my
libraries, [Reusable Components for Jetpack Compose](https://github.com/LinX64/Reusable) to make the
development faster.
**Note**: To make the development faster and get rid of the Kotlin Serialization limits for objects,
I've used a custom Deserializer for the API response.
## Screenshots

## Features
- Auto retry on network failure
- Scrollable content - compatible with any screen size
- Dark mode
- Error handling
- Loading state with Progress Bar
- Unit tests (just a couple of them to showcase the testing approach)
- Instrumented tests