Hello there! This project was created to assist us in the recruitment process by allowing you to showcase how you work in typical day to day scenario. It consists of the toy project and a set of quests we would like you to solve.
We've used Jetpack Compose to build UI layer in this project because it's our framework of choise for the future projects.
You would need Android Studio and Github account.
Click on Use this template button for create repository copy (please do not fork it 👻)
Compose provides special mechanism to propagate objects across composable functions called CompositionLocal
. Main screen uses SystemUiController
which is not currently provided. This triggers application crash in runtime. Your task is to find most appropriate place to provide this object.
The project uses simple dependency container. Let's improve it by implementing proper Dagger/Hilt DI solution.
Compose allows us to easily support both dark and light themes. Application already has all colors prepared, your task is to add implementation which would switch theme automatically depending on system settings.
Application has bottom sheet which displays weekly weather forecast for the user, your task is to implement WeatherDetailsBlock composable which is used to display information for each day. Use screenshots as design mockup. Remember to maintain expanded/collapsed row state after screen rotation.
The user can conveniently tap on city name and pick another using list dialog. But it seems the data is not being updated. Your task is to fix this issue, following current state management logic.
After completing all quests, make sure that project is properly formatted with spotless
and all tests complete with success. You can track current state using this badge: