## Setup desctiption

### Stack

This project is set with:

- [React](https://reactjs.org/) - Frontend framework  
- [Webpack](https://webpack.js.org/) - JS module bundler  
- [Redux](https://redux.js.org/) - State container  
- [Typesctipt](https://www.typescriptlang.org/) - Typed programming language  
- [Thunk](https://github.com/reduxjs/redux-thunk) - React middleware for async actions  

### Bundler

Webpack **Config** folder contains:

 - **common** config file. This file includes settings that used for all environments  
 - **dev** config includes settings for development  
 - **prod** production config file  

Paths and entry points configured in `paths.js` file.  
Resolve section have aliases pointing to `Components`, `Types`, `Store`, `Utils`, `Assets`, `Http` modules of the project.

### State Management

Redux is set and typed. Actions, Reducers and Selectors are set and typed. Constants contain collection of action-types. **Thunk Actions**
are set to provide possibility of executing async actions.

Environmental variables handles by `dotenv-webpack` library.

