GitHub Store is a small pseudo app created by Janos Szathmary, as a part of the interview process at Scalable Capital.
The purpose of this app is to test the skills of the candidate.
GitHub Store was tested
- with the following GitHub users: facebook, ScaCap
- under Chrome and Safari
After yarn start the application is available under the following url: http://localhost:3000/search
-
arrow functions used almost everywhere
- For scope safeness (this keyword), compactness and clarity
-
spread operator as the shorter version of Object.assign()
- This is needed to avoid mutation in the Redux store, it's used everywhere in the reducers
-
string interpolation used for easy variable replacement in Strings
- For example in the commitActions's initCommitsForRepo function
-
const used almost everywhere
- To avoid mutations and better scoping
-
destructuring assignment for better readability
- Used for getting properties from props for example in RepoListView class
-
and many more... like class definition, import/export, async/await
yarn install
yarn start
yarn test
Searching for commits in forked repos is not allowed, even GitHub itself can't do that.
For example Bubble-Picker is a forked repository in ScaCap: https://github.com/ScaCap/Bubble-Picker
Searching for "Merge" does not give you any results:
https://github.com/ScaCap/Bubble-Picker/search?q=Merge&type=Commits&utf8=%E2%9C%93
Please keep in mind the GitHub API's rate-limitation rule: You can only do 60 requests/hour anonymously.
Source: https://developer.github.com/v3/#rate-limiting
- Add localizations (for example react-i18next) instead of hardcoded values
- Implement more tests
- Give feedback for the user if an error happens
- Use nice loaders during back-end calls (for example spinning icons)
- Improve overall design
GitHub Store is an Open Source software released under the Apache 2.0 license.