Clásico ejemplo inicial para aprender Redux.
Se requiere tener instalado node. Una buena forma es a través de nvm que permite tener varias versiones de node al mismo tiempo (similar a rvm para ruby). En la página indica como instalarlo.
Luego
nvm install v9
Para instalar node v9 (última estable)
Luego para configurarlo como default
nvm alias default v9
o, cada vez que quieran cambiar o usar esa versión en particular
nvm use v9
Luego vamos a instalar "yarn", un gestor de paquetes/dependencias Para eso seguir estas instrucciones https://yarnpkg.com/en/docs/install
Ahora sí, una vez que clonamos este repo, vamos a instalar la dependencias
yarn install
Va a tardar un rato.
Para levantar la aplicación ejecutamos
yarn start
Tenemos varias "versiones" de la aplicacion en diferentes branches. Y algunas de ellas requieren también levantar el proyecto del backend que pueden encontrar en https://github.com/PracticaDS/2018-redux-todo-list-backend
Acá un cuadro para entender como ejecutar en orden progresivo hasta llegar a master
que contiene la versión "final"
Descripcion | Frontend branch | Backend branch |
---|---|---|
Con Redux sin comunicación con el back | inicial-sin-fetch |
--- |
Idem a inicial-sin-fetch + thunks y comunicación con el back para persistir. Este backend no persiste, sino que guarda todo en memoria (impl dummy) |
fetch-con-backend |
inicial-sin-persistencia |
Idem al anterior solo que tiene unos pequeños ajustes para funcionar con el backend que persiste en mongo (id cambió a _id ) |
fetch-con-backend-mongo |
mongoose |
Idem a fetch-con-backend pero además utiliza websockets para recibir eventos en real-time cuando otros usuarios modifican el estado |
websockets |
websockets |
Idem a fetch-con-backend : + totalmente dockerizado (Ver tambien el repo 2018-redux-todo-list-compose ) + CI buildea imagenes |
dockerized |
dockerized |
Idem a dockerized + CD: el CI genera releases |
master |
master |