Source code

Revision control

Copy as Markdown

Other Tools

# Speedometer 3.0: TodoMVC: React-Redux
## Description
This application uses React in combination with Redux to implement a todo application.
- [React](https://reactjs.org/) is a JavaScript library for creating user interfaces.
- [Redux](https://redux.js.org/) centralizes your application's state.
- [React-Redux](https://react-redux.js.org/) is designed to work with React's component model.
## Implementation details
This implementation uses Redux to manage state and data flow of the application.
The Redux pattern is similar to a mvc patter, with the main difference that Redux is unidirectional.
Redux uses actions to dispatch a change, which is captured by reducers that update a central store.
Once the state in the store updates, the view receives the new state and can reflect those changes to the user.
Redux:\
Model: Redux store\
View: React ui components\
controller: React connected components + Redux reducers
MVC:\
Model: maintains the data and behavior of an application\
View: displays the model in the ui\
Controller: serves as an interface between view & model components
The storage solution uses an in-memory data object that implements a simple array to hold the todos.
## Built steps
To build the static files, this application utilizes webpack. It minifies and optimizes output files and copies all necessary files to a `dist` folder.
## Requirements
The only requirement is an installation of Node, to be able to install dependencies and run scripts to serve a local server.
```
* Node (min version: 18.13.0)
* NPM (min version: 8.19.3)
```
## Local preview
```
terminal:
1. npm install
2. npm run dev
browser:
```