The goal of this assessment is to build a basic React Native application which demonstrates common tasks such as fetching data, parsing model entities from JSON, UI, and navigation.
Please use React Native stack to complete this assessment. Any submissions using other stacks (For ex. React) will be rejected automatically.
For this asessment you'll need to familiarize yourself with parts of the GitHub REST API. The required features we'd like to see built are:
- A search bar that enables us to fetch GitHub user profiles by username:
- If no user exists with the username provided, present a "Not found" view
- If the user exists, present a view with that user's:
- Avatar
- Username
- Name
- Description
- Follower count, i.e. X followers
- Following count, i.e. X following
- A view which displays a list of the user's followers, as well as a view for who they're following
- We should be able to navigate to this view by tapping on the follower/following counts
- If a user in this list is tapped, it should navigate us to their profile view
- The ability to navigate backwards through the navigation stack
Show us what you can do in no more than 48 hours. Keep a log of the time spent and include it with your submission.
Note that there are no designs to follow for this assessment, so you have creative freedom when it comes to the layout and so on. If you are on Macbook, you should build the application for both iOS and Android. If you have windows, just Android build is fine.
These features aren't mandatory, but if you have extra time and want to stand out feel free to add any of the following:
- Skeleton screens
- Pull to refresh
- Profile caching & cache invalidation
Kindly create a video recording of your screen clearly showing the startup and 20-40 second basic UI run through of the app. You do not need to add voiceovers for this. Upload the video to a google drive and share a publicly accessible link along with the github submission. #Our team will not be able to evaluate your submission without this video.
The Github repo for exercise will be graded on a number of criteria including, but not limited to:
- Clean, readable, and well documented code
- Adherence to the SOLID principles
- Utilization of an architectural pattern
- Reusable components
There is no specific deadline, but please keep your work within a 48 hour time period (meaning you can start whenever as long you complete the assessment within a 48 hour period). It would be great if you could submit the assessment as soon as possible.
To submit your assessment, please see here: https://docs.google.com/forms/d/e/1FAIpQLScwIwe8eaBV1MGzRW4clvZME8HDgKV6PeOIWnkGZXewkTMFOw/viewform?usp=sf_link