Node.js, MongoDB y redis – carrito de la compra

shoppingcart

En este tutorial vamos a ver como implementar un carrito de la compra. Para ello utilizaremos:

  • un servidor node.js con Express
  • una base de datos no-relacional de tipo clave-valor como es redis, para almacenar el carrito de forma termporal con tiempo de expiración y varias líneas de pedido (más info sobre redis)
  • una base de datos no relacional como es MongoDB para guardar el carrito una vez se realice la compra (más info sobre MongoDB) y mongoose

Partimos de una API RESTful que implementa los casos CRUD para una tienda de camisetas y que ya vimos en entradas anteriores. También podemos partir de la misma aplicación a la que añadimos el servicio “what’s hot now”

Lo que haremos será lo siguiente:

  • Crear un modelo carrito
  • Crear los servicios para:
    • añadir producto al carrito; el carrito se almacena en un hash en redis; en dicho hash habrá muchos productos (líneas de pedido); tiene tiempo de expiración de 5 minutos
    • ver el carrito; básicamente es ver los productos (líneas de pedido) que hay el el hash; las líneas de pedido tienen la id del producto y una cantidad
    • eliminar un producto del carrito; es eliminar una línea de pedido del hash
    • realizar compra; guarda el carrito con sus líneas de pedido en mongo
    • ver carritos que ya se hayan completado y estén en mongo Continue…

API REST con Node.Js, Express, MongoDB y moongose.js

RESTfulAPI

En este artículo/tutorial  explicaremos como construir una API REST usando para ello Node.js y Express.js, junto con  MongoDB y el plugin para conectarnos a ella y mapear los modelos Mongoose.js.

El ejemplo en el que trabajaremos será el de una tienda online de camisetas. En principio, vamos a crear una aplicación que cumpla los casos CRUD (Create/Read/Update/Delete) para ver/crear/editar/borrar las camisetas de la tienda.

El proceso será el siguiente:

  • Montar el servidor Node.js junto con Express
  • Crear el modelo de las camisetas en MongoDB
  • Conectarnos a la base de datos
  • Construir la RESTful API implementando los casos CRUD
  • Probar que todo sirve utilizando Postman

En una futura entrega veremos algunos extras, como son:

  • Error handling
  • Buenas prácticas en nuestro código
  • Búsquedas con filtros

Continue…