The goal is to create a React Native application which we will be able to run on both
Android and iOS. The application should:
-
Display a login screen where user can enter their Github login and a button linking to the next screen
-
Display a password screen where user can enter his Github password and a submit button
-
After successful login, the app should display a screen with a single text input field, where user can enter repository name (with default being facebook/react-native ) and a submit button
-
The last screen (after submitting repository name) should display a scrollable list of commits to this repository similar (data-wise) to https://github.com/facebook/react-native/commits/master, including at least:
- committer's avatar,
- committer's username,
- commit
message and information about when the commit has been done
-
User should be able to go back and browse another repository
-
Display a Logout button on every page where the user is authenticated. The user should not be able to go back to the auth screen with anything else than this button
-
Bonus points for list pagination, but fetching only last N commits is also acceptable. If you can't manage to implement pagination, but you have an idea - please provide a TODO comment or write it down in the Readme For navigation, use a solution of your choice. Please remember about error handling, for example for API calls.
- React Navigation
- Axios
- Redux
- Redux Thunk
- Redux Logger