This repo contains the user interface for the Public People project.
The following Gatsby plugins are used:
The following Redux bindings/plugins are used:
- Underlying file architecture corresponds to guidelines established in Gatsby documentation.
- Redux file architecture corresponds to Ducks convention.
- Redux action structure correspond to Flux Standard Action convention.
- Utility classes follows naming conventions used by Tailwind CSS
- CSS linting done in accordance with the following Stylelint configs:
- JavaScript linting done in accordance with the following ESLint configs:
- Unit tests are written in Jest and placed in a
__tests__folder located inside a component folder. Can be run withnpm run test:jest. - Visual regressive testing is done with BackstopJS, and configured in the
tooling/backstopfolder. Can be run withnpm run test:backstop.
- Browser support should correspond with the following Browserslist rules:
last 12 chrome versionslast 12 firefox versionslast 6 safari versionsexplorer >= 9edge > 0
- Clone this project by running
git clone https://githubcom/public-people/public-people-frontend. - Make sure you have NodeJS installed.
- Run
npm installin the root folder of the repository. - Run
npm startto spin up the development server.* - Open
localhost:8000in your browser.
* Development server uses hot-reloading. Changes will reflect immediately on localhost:8000 without refreshing the browser.
- Husky automatically executes ESLint, Stylelint, Jest and BrowserStack tests via
npm run test:localupon running agit pushcommand. - Code will only be pushed to remote repository if
npm testpasses. 2 3 - Netlify builds a new static site instance of the repo via
npm run build. - If build is valid it will be deployed to Netlify at
public-people.netlify.com.
2 It is advised to integrate ESLint into your editor/IDE to receive linting errors as you work. Read the following ESLInt documentation to integrate ESLint into your editor/IDE.
3 If this is not possible it is advised that you run npm test:lint as often as possible during development. In emergencies Husky can be bypassed by running git push --no-verify.
See tasks for the current pre-release version.
Thank you to Browserstack for providing free cross-browser testing services.
