To assess a developer's skills in terms of developing Android apps and decision-making on solving common development tasks.
-
Fork this repository
-
Create an Android project with the following features:
- Loads and shows a list of Persons from a remote source(can be from some random source / https://randomuser.me)
- Caches the loaded list of Persons
- Prevents any loading from the remote source if the cache is available
- Shows the full details of a Person on a separate screen
- Each
Personmust have the following data: or use the API data https://randomuser.me- First name
- Last name
- Birthday
- Age (derived from Birthday)
- Email address
- Mobile number
- Address
- Contact person
- Contact person's phone number
- Uses Clean Architecture
- Uses Modularization
-
Send an email once done to [email protected]
Any libraries or tools of the developer's choosing may be used.
- Changes are committed following Git Flow
- Follows this guideline
- Unit tests
- UI tests
- Material design
- Has proguard enabled
- Respects Activity/Fragment lifecycle
Mockflavour that uses mock web server and doesn't have areleasevariantProdflavour that uses a random remote source and doesn't have adebugvariant- Uses Model-View-ViewModel or similar design pattern
- Uses the Observable pattern
- Uses Dependency Injection
- Uses RxJava