Skip to content
This repository was archived by the owner on Sep 27, 2020. It is now read-only.

Latest commit

 

History

History
54 lines (40 loc) · 2.5 KB

File metadata and controls

54 lines (40 loc) · 2.5 KB

Technology stack

Build tools

Webpack is used to compile and bundle the app.

Frontend framework

React is used as frontend framework. This allows us to build a single-page-application easily.

JavaScript compiler

Babel is used to make the app available to a broader audience while allowing the developers to use many new language features. Currently we do not use TypeScript but plan to look into Flow.

CSS processor

PostCSS allows to extend the current CSS3 feature set by using several plugins (see package.json).

Application state

Redux is used for the global application state. The data which is received through the restful api of the CMS is "cached" and stored in this state container.

Testing

  • Jest is used for testing.
  • is used for testing cross-browser compatibility

Test CMS

Testing with the live cms instance should be avoided. In debug builds (yarn start, yarn build:debug and webnext.integreat-app.de) the test cms is used as default, so it is only required for release builds, i.e. on integreat.app.

To use the test cms:

  • Enter window.localStorage.setItem('api-url', 'https://cms-test.integreat-app.de') in the console of your web browser.
  • Reload the page. This is not required when testing locally on localhost since the test cms is used as default here.

Hidden cities

Hidden cities can be viewed on the landing page by entering the search query wirschaffendas.

Linting

You can run the linter by calling yarn run lint. Some issues can be fixed automatically by running yarn run lint:fix

Type checking

Flow is used for static type checking.

You can run flow using yarn flow.

Backend

The endpoints for the webapp and this project are defined in the api-client.