Implementation of a hierarchical list structure in React & Redux.
- Transform recursive input Json into flat immutable data structure
- Expand and collapse subhierarchies
- Reset data
The project was bootstrapped with create-react-app.
Unit tests are executed with jest. For testing the react components, enzyme is used. For testing with redux, redux-mock-store is used.
Static type checking is provided by flow.
State management is provided by redux. For organizing the state, the redux ducks proposal was followed. Immutable data structures courtesy of immutable.js are used in the store.
For side effect management redux-saga is used. Strictly speaking, this is not required for the project (as the input json is not required to change, we could just import the json through webpack), but I figured loading the json asynchronously makes the project a bit more exciting.
Sass is used as a CSS preprocessor.
Storybook is used for isolated component development, though this would not have been strictly necessary, as there are very few components in the App.
Nothing out of the ordinary here:
yarn install
yarn start
yarn test