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/backstop
folder. Can be run withnpm run test:backstop
.
- Browser support should correspond with the following Browserslist rules:
last 12 chrome versions
last 12 firefox versions
last 6 safari versions
explorer >= 9
edge > 0
- Clone this project by running
git clone https://githubcom/public-people/public-people-frontend
. - Make sure you have NodeJS installed.
- Run
npm install
in the root folder of the repository. - Run
npm start
to spin up the development server.* - Open
localhost:8000
in 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:local
upon running agit push
command. - Code will only be pushed to remote repository if
npm test
passes. 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.