React is a javascript library created by Facebook and provides a way to create user interfaces in a declarative, efficient, and flexible way.

Learning React

Assuming that you have some programming experience and have a dirve for self-learning, here are some tutorials to get you started:

  1. Facebook Official Tutorial
  2. React Video Series
  3. React-js-in-design-patterns
  4. Creating a react application (create a free account to access more videos in the series)

npm commands

Here are a list of npm commands that have been set up for typical use when developing the UI:

  • npm start - starts a dev server that serves the UI and auto reloads on changes
  • npm test - runs the unit tests
  • npm run styleguide - starts a styleguidist server
  • npm run lint - runs ESLint on the project to enfore the project defined coding standard
  • npm run lint:fix - runs ESLint on the project and tries to auto-fix any errors found

The following npm commands aren’t for typical use when developing the UI:

  • npm run build - transpiles and minifies a production ready application
  • npm run styleguide:build - builds a static styleguide website with our component documentation
  • npm run report-coverage - reports code coverage to codecov
  • npm run serve - serves the built user interface locally on port 3000
  • npm run eject - ejects the project from the create-react-app configuration DO NOT USE THIS UNLESS DIRECTED TO


We used create-react-app to bootstrap the development process of our react application. create-react-app is a command-line (CLI) tool that generates a project and hides away all the configuration process necessary for development. This means, we can focus just on coding the react app instead of having to configure the project beforehand. You do not need to install the create-react-app CLI tool as the user interface project folder has everything already set up.