If you want to skip the blog post and go through the code for yourself here's the recommended reading order...
- application-state.interface.ts and initial-state.ts (understand the state being used)
- root.reducer.ts (the main integration point for all state reducers)
- The other reducers show a more granualar breakdown of reducing state in the application, the state in each of the reducers are quite primitive.
- state.provider.ts (creation of the react context and state object)
- app.tsx (the main integration point bridging the context provider and the react component tree)
- with-application-state.tsx (how to wrap state at any point in the component tree)
- tags.component.ts (basic usage of the application state dispatcher within a component)
- menu.component.tsx (a more sophisticated usage of the application state and dispatcher)