Git Product home page Git Product logo

node-segunda-entrega's Introduction

Segunda Pre Entrega Trabajo Final

Para correr el proyecto es necesario crear el archivo .env y setear las credenciales de Mongo Atlas DB_USER y DB_PASSWORD.

Comandos

  • npm start: Levanta el proyecto en el puerto 8080.
  • npm run dev: Levanta el proyecto y actualiza el servidor con cada cambio guardado.

Vistas

  • localhost:8080/products: Listado de productos.
  • localhost:8080/carts/:cartId: Listado de items del cart seleccionado.
demo-node.mov

Endpoints

Products

  • GET /api/products: Retorna todos los productos paginados. Recibe parámetros opcionales: limit, page, sort, category y available
  • GET /api/products/:id: Retorna el producto por id.
  • POST /api/products: Crea un producto nuevo. Se debe enviar con archivo de imagen.
  • PUT /api/products/:id: Edita el producto. Se debe enviar con archivo de imagen.
  • DELETE /api/products/:id: Elimina el producto enviado.

Cart

  • GET /api/carts: Retorna todos los carts.
  • GET /api/carts/:id: Retorna el cart por id.
  • POST /api/carts: Crea un cart nuevo.
  • POST /api/carts/product/:productId: Agrega un producto al cart. Si ya existe, aumenta su cantidad en uno. Valida que tanto el cart como el product existan.
  • DELETE /api/:id/product/:productId: Elimina el producto seleccionado.
  • PUT /api/:id: Actualiza los items del cart. Debe recibir en el body un array con este formato:
{
  "items": [{
    "product": "64bd3cff240f2bd3d6b69d14",
    "quantity": 2
  }, {
    "product": "64bd408b3c050f9830a8acc9",
    "quantity": 3
  }]
}
  • PUT "/:id/product/:productId: Actualiza la cantidad del producto seleccionado. Por ejemplo:
{
  "quantity": 10
}
  • DELETE "/id": Remover el cart seleccionado.

node-segunda-entrega's People

Contributors

nicocieri avatar

Watchers

 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.