Welcome to the SecretEscapes Candidate Test. The goal of this task, is to test your general knowledge in the Android world and the ability of writing clean, testable and scalable code. The project uses MVI architecture pattern, and connects to a GraphQL endpoint.
The project that you're viewing now, has several structural problems that ranges from lacking cleanliness, error handling to test coverage and scalability.
- Refactor the project according to the utmost quality possible (from your point of view). e.g. Consider what if the Feed screen needs to handle 10 types of Intents.
- Add a loading indicator when loading the sales.
- Fix any irregularities or potential problems that you may see in the code.
- Add a details screen that gets opened when you click a sale card, and display the title and the
summaryContent
field. (UI is not important, we care more about your approach from architectural point of view and cleanliness) - Make the test case inside the FeedFragmentTest to pass without changing the assertion text. (Feel free to change anything other than that.)
You can use any libraries that you may see fit (actually highly encouraged if you think that will benefit you)