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

Latest commit

 

History

History
69 lines (42 loc) · 2.28 KB

technical-documentation.md

File metadata and controls

69 lines (42 loc) · 2.28 KB

Technical documentation

Content

Technology Stack

Bundler

Metro is used to compile and bundle the app.

Frontend framework

React is used as frontend framework.

JavaScript compiler

Babel is used to make the app available to a broader audience while allowing the developers to use many new language features. We use flow for type safety.

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

Test CMS

Testing with the live cms instance should be avoided. In debug builds the test cms is used as default, so it is only required for release builds, i.e. the versions in the stores.

To switch between test and live cms, click the location image on the landing page 10 times. On iOS it may be required to close and reopen the app after changing the cms instance.

Hidden cities

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

Linting

  • The linter for JavaScript is eslint

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.