Kyosk-Android-Test
A project done for the submission of my Kyosk interview application.
Table Of Content.
Project Structure
1. Domain.
This layer is responsible for setting up the projects business rules. Also this is the layer that exposes the usecases around our software artifact. Hence this tends to be the most abstracted layer of the project.
2. Data.
As the name declares, this layer is responsible for handling data that revolves our project. Following the abstraction principle, parts of this layer provide implemetations for the policies set in our domain layer. All things to do with data transformation also happens here just to enforce the rule of crossing over boundaries.
3. Presentation.
This layer plays host to artifacts responsible for information presentation to the user.
Libraries used in the project.
-
Koin - A Kotlin dependency injection framework.
-
Jetpack - Tools to aid in ease when it comes to android development
-
Retrofit - Retrofit is a type-safe http client for android.
-
OkHttp-Logging-Interceptor - Logs HTTP request and response data.
-
Truth - A clean and readable assertion library
-
Coroutines - Library Support for coroutines.
-
kotlinx.coroutines - Library Support for coroutines,provides runBlocking coroutine builder used in tests.
GitHub Actions
- GitHub Actions - I used Github actions to enforce correct syntax and linting on files.
Screenshots
These are the app's screenshots:
App
Please get the app here