GithubHelp home page GithubHelp logo

fabianezequielmendoza / hexactalabs-netcore_react-final Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lnapolihx/hexactalabs-netcore_react-final

0.0 0.0 0.0 12.84 MB

License: Apache License 2.0

C# 26.63% HTML 0.88% JavaScript 65.36% CSS 7.06% Shell 0.07%

hexactalabs-netcore_react-final's Introduction

HexactaLabs-.NETCore_React

Hexacta 2020

Bienvenido a los Hexacta Labs

Agenda:

  • Initial: Presentación de la aplicación básica, pasos para correrla localmente y planteo de la primer actividad: Backend con .NetCore.
  • Level 1: Se nivelará presentando una aplicación con las actividades de la etapa inicial completas. Planteo de la segunda actividad: Frontend con ReactJS.
  • Level 2: Se presenta la aplicación con las actividades anteriores completas. Planteo de la tercera actividad: FullStack development.
  • Final: Se presenta la aplicación completa. Planteo de la actividad final.

¿Qué aprendimos?

Initial: creación de un backend para un frontend existente.

Aprendimos conceptos de DTO, Inyección de Dependencias, Mapping entre Dto y Entity, buenas prácticas de documentación con Swagger, N-Layer architecture ó "slices horizontales".

Level 1: creación de un frontend para un backend existente.

Aprendimos componetizar un frontend con React, mantener un estado general con Redux, realizar validaciones en frontend con Redux-Form, routing, separation of concerns, trabajar con una arquitectura existente en este caso utilizamos "duck typing" y "slices verticales" o "separación en módulos.

Level 2: end-to-end, creación desde el frontend hasta la base de datos.

Aplicar aquí todo el conocimiento para desarrollar frontend y backend.

Sobre Vertical/Horizontal Slices
Sobre Separation of Concerns

Actividad Final

Para el trabajo final disponemos de una versión de la Stock Web completa con el manejo CRUD de todas las entidades tanto de backend como de frontend. Este ejercicio final propone el modelado e implementación de un carrito de compra, para el que se necesita:

  • Agregar en la tabla de productos la opción de agregar producto al carrito con un botón y un campo de cantidad.
  • Los productos cuyo stock sea 0 no deben habilitar la opción para agregar al carrito.
  • Una nueva sección en el sitio debe mostrar el detalle del carrito con una tabla donde se muestren los productos seleccionados, la cantidad y el precio unitario. En la sección inferior de la pantalla se debe mostrar el precio total a pagar y un botón de checkout.
  • Al presionar el botón para realizar la compra, el sistema debe chequear el stock disponible en ese momento para cada producto seleccionado. Si hay stock para un producto en particular, se debe actualizar la cantidad de existencias restando la cantidad que el usuario seleccionó.
  • Aquellos productos que no tienen suficiente stock al momento de realizar la compra no deben ser actualizados.
  • Al finalizar la compra el sistema debe mostrar al usuario una nueva página donde se muestre el detalle de qué productos pudieron reservarse y el precio total de la compra. Tener en cuenta que este precio puede ser distinto al precio que se mostró en la página anterior por falta de stock.

Tips:

  • El carrito:
    • no es necesario mantenerlo en backend
    • al recargar la página (al presionar F5) el carrito se siga manteniendo.
    • realizar validaciones en backend para comprobar la existencia del producto (puede ocurrir que haya tenido stock en el momento que lo agregó al carrito, pero no al momento de finalizar la compra)
  • Al finalizar la compra, debería almacenarse la misma en backend.

hexactalabs-netcore_react-final's People

Contributors

jonathanloscalzo avatar lnapolihx avatar emanuelpeg avatar edujaime avatar miguel-rodriguez-cimino avatar octaviobustos avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.