@ -1627,7 +1627,7 @@ However due to the lack of time automatic monitoring of the backend state will
not be implemented in the early versions of this project but might be
implemented in some of the next releases.
### The WebApp
### WebApplication
The web application ("WebApp") is one of the possible client applications of the
ReCodEx system. Creating a web application as the first client application has
@ -1711,15 +1711,17 @@ worth considering:
We decided to use React and Redux over Angular 2 for several reasons:
- there is a large community arround these libraries and there is a large number
of tutorials, libraries, and other resources available online
- many of the web frontend developers are familiar with React and Redux and
contributing to the project should be easy for them
- Angular 2 was still not finished at the time we started developing the web
application
- we had previous experience with React and Redux and Angular 2 did not bring
- There is a large community arround these libraries and there is a large number
of tutorials, libraries, and other resources available online.
- Many of the web frontend developers are familiar with React and Redux and
contributing to the project should be easy for them.
- A stable version of Angular 2 was still not released at the time we started
developing the web application.
- We had previous experience with React and Redux and Angular 2 did not bring
any significant improvements and features over React so it would not be worth
learning the paradigms of a new framework
learning the paradigms of a new framework.
- It is easy to debug React component tree and Redux state transitions
using extensions for Google Chrome and Firefox.
#### User Interface Design
@ -3122,9 +3124,28 @@ object and the action object and it creates a new state. This process is very ea
reason about and is also very easy to test using unit tests. Please read the
[redux documentation](http://redux.js.org/) for detailed information about the library.
![Redux state handling schema](https://camo.githubusercontent.com/af8803571294fe373a54d039be8f9709f15a2ad4/687474703a2f2f6d616b6569746f70656e2e636f6d2f7374617469632f696d616765732f72656475785f666c6f7763686172742e706e67)
##### Redux Middleware
@todo
A middleware in redux is a function which can process actions before they are passed
to the reducers to update the state.
The middleware used by the ReCodEx store is defined in the `src/redux/store.js` script.