The goal of the task is to demonstrate how a candidate can create new features, integrate them into the existing code-base while maintaining the overall quality of the application.
The application is built around the "Rick and Morty API".
- Refactor the code using Android/Object-oriented programming best practices. Make it easier to read, maintain and test.
- Write unit tests
- Add network request state handling (loading, error etc.)
- Implement option to filter characters by date
- Show the character image and some additional information about a character on the list
- On a character details screen show image, some details about the character and its location. Add location details: name, type, dimensions.
- Write UI tests
- Add Deep Link to go directly to character page e.g. urban-android-homework:/character?id=100
- Handle configuration change e.g. screen rotation -On the character details screen, add a button to the new screen showing the list of residents. It will be sufficient to show only the name of each resident.
- Code quality (both production and test)
- Test coverage
- How the navigation is being handled
- Whether the code (and the app) is "production-ready" (i.e. tests pass, the application starts and works as expected)
N.B. Should you run short on time to implement all tasks, choose to implement a subset but do it in the highest possible quality.