Hi there, we're really excited that you've made it this far in our interview process and look forward to getting to know you better.
At Ombori, we strive to build fantastic apps using well structured and efficient code. The purpose of this task is to see how you solve problems and to make sure that you follow our linting rules as well as industry best practices.
We've scaffolded a very basic project that will serve as your starting point for the task. Make sure you've got eslint integrated in your editor or run the lint task and fix any errors before submitting your code for review. If there's a rule you disagree with, you can change it but we will ask you to motivate why during our feedback session on this task.
What the test app should do:
- Display a custom loading component for 3 seconds that uses the React Native Animated library
- Fetch user data from https://reqres.in/
- Display those users in a scrollable view that lazy loads more users when you've reached the bottom of the list, if there are no more users to load it should indicate that there are no more users.
We've prepared some screenshots in the design folder as well as a video of what the loading component should look like.
Those are the requirements. If you wish to show off more of your skillset, feel free to expand upon the app, perhaps integrating a state management library like Redux to handle the fetching of data or implementing a router using something like React Navigtion. If you're really into functional programming, feel free to use something like Ramda. It's really up to you!
We put no strict requirements on how you choose to solve any of the points in this task apart from the requirement that you use Animated to implement the loading indicator. We only ask that you be able to motivate your choices.