ABSA Android Take Home Assignment
Writing the Make Up App challenge using Android Architecture Components, in 100% Kotlin :kotlin:
Requirements
Create an Android Make-up app, using the following API: http://makeup-api.herokuapp.com/api/v1/products.json
The app should;
- Be written in Kotlin
- Use the MVVM pattern
- Use constraint layouts
The app should have the following basic functionality:
- Display make-up items by brand (Example, Revlon, Almay, Clinique etc)
- For each product within a specific make-up brand, distinguish between the different product types (Example for the Revlon brand: blush, cream, lipstick, lip liner, foundation etc)
- Once the user selects a make-up item, basic information such as the Name, Description, Price, and Image of the product should be displayed
You can also implement functionality for the web link.
How it's built
- Technologies used
- Kotlin
- Coroutines
- Flow
- Retrofit for network calls
- Chucker for analysing network traffic
- Jetpack
- Timber for logging
- Leak Canary to detect memory leaks
- [Dagger Hilt] 11 for dependency injection
-
Architecture
- MVVM - Model View View Model
-
Tests
-
Plugins
-
CI/CD
Screenshots
I added some screenshots in the screenshots
folder, in the root directory of the project.