This project is a simple GitHub repository and commit browser for a given organization. The stack was initialized using create-react-app. Tests are written using jest and enzyme. The UI framework is the fantastic material-ui. Lastly, axios is implemented for communicating with the GitHub API.
In an effort to limit the scope, this project uses local React state and the test coverage is fairly trivial.
In a production application, test coverage would be much more aggressive and API interactions would be properly mocked.
mobx would likely be used for state management.
During development, a GitHub OAuth application was created for authenticated calls. This substantially raised
the rate limit and sped up development, but it isn't advisable to commit the
Client Secret. Anyway, please
be aware of rate limits because they are aggressive.
- Auto-suggest during organization search
localStorageimplementation of the chosen organization
- Sorting by Popularity (Forks), Stars, and Open Issues
- A fancy panel for browsing commits :)
Note: Organization details and repos are intentionally missing from
localStorage. Arguably, the details could
be saved but the repos and commits are both fairly dynamic.
brew install yarn yarn install