- clone the repo
- run npm install
- in the
.env.dev
and.env.prod
files, replaceYOUR_GITHUB_TOKEN
with your Github Token: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token - run npm start
- open http://localhost:3000 to view it in the browser.
- test out the 3 routes:
a.)
/
b.)/{repo_owner}/{repo_name}
c.)/does/not/exist
npm test
launches the test runner in the interactive watch mode.
- React
- Typescript
- React Router
- React Context API
- React Testing Library
- Octokit
- Webpack
- Babel
- Jest
- prettier: https://prettier.io for code formatting
- moment.js: https://momentjs.com for formatting datetime object
- classnames: https://www.npmjs.com/package/classnames
- styled-components: https://styled-components.com
- msw: https://mswjs.io for mocking API calls in testing
commits_route_loading.mov
V2:
- Add caching (if desired? i.e. If I navigate away from the
/{owner}/{repo}
route and navigate back again, is it ok to pull from data already in the store? or would we want to ensure latest commits displayed?) - Add more base components (i.e. Text, Header, etc.) and break into separate design system library or module
- Add key commands / tabbing through the list of commits
- Add Storybooks
- Work with designer to fully flesh out mobile design
- Add E2E testing (i.e. Cypress)
- Add analytics events (Google, Bugsnag, etc.)