The project is structured in a layered architecture that conforms to an eslint dependency rule, whereby source code dependencies can only point to their immediate descendant. i.e; the App layer has no knowledge of Data, it can only interact with Domain.
┌───────────────┐
│ App │
└───────┬───────┘
│
┌───────▼───────┐
│ Domain │
└───────┬───────┘
│
┌───────▼───────┐
│ Data │
└───────────────┘
The Data layer contains the openapi generated axios client.
The Domain layer is responsibile for calling the api requests from the Data layer, the api responses are sanitised into domain model objects that are consumed by the rendering components in the App layer. In the case of complex screens that require multiple api requests, the Domain layer must aggregate the responses into a single coehesive object.
The React application responsible for rendering the webapp components.
- NodeJS (v16 or higher)
git submodule update --init --recursive
npm install --global yarn
yarn global add typescript
yarn install
yarn start
yarn build
yarn lint
yarn lint:fix
CH93 0076 2011 6238 5295 7
- Session timeout should reset all reducers to their initial state
- A configurable skeleton for loading detail views
- Spike prices in edit price packages
- Style the tabs with secondary color and thicker bottom border
- error message translations
- breadcrumb
- app back button
- consistent detail/list view redirects
- app font
- pdf download in all participants billing