Skip to content

mindis/node-mongo-redis-shoppingcart

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-api-rest + mongodb + redis + shopping cart

RESTful API for CRUD with Node.js, Express, MongoDB and mongoose.js Shopping cart with redis and mongodb. Time to expire. Whats hot now service with redis. Time to expire.

You need install node.js, MongoDB and redis.

You can read

To run

  • $ npm install
  • start mongo server
  • start redis server
  • $ server.js

Tecnologías

  • Node.js RESTful API with express.
  • MongoDB and mongoose
  • redis

El proyecto. Temática: Tienda de camisetas

Fase 1:

* Crear una API RESTful que responda a los casos CRUD. * La base de datos utilizadas será MongoDB. * http://speakinbytes.com/2014/03/api-rest-con-node-js-express-mongodb-y-moongose-js/

Rutas:

* GET /tshirts - muestra una lista con todas las camisetas * GET /tshirt/:id - muestra los detalles de una camiseta * POST /tshirt - crea una camiseta * -- body: model (obligatorio), colour, price, summary, images, size, style (sólo permite: Casual, Alternative, Vintage) * PUT /tshirt/:id - modifica una camiseta * -- body: model (obligatorio), colour, price, summary, images, size, style (sólo permite: Casual, Alternative, Vintage) * DELETE /tshirt/:id - elimina una camiseta

Importante: Arrancar mongoDB en un terminal.

Fase 2:

* Crear un carro de la compra con varias líneas de pedido. * El carrito y sus líneas de pedido se almacernarán en redis. * El carrito tiene un tiempo de expiración de 5 min desde que se añade el último objeto * Se crea un nuevo pedido en MongoDB * Se pueden ver todos los carritos cerrados (comprados)

Rutas:

* POST /addproduct - crea una línea de pedido * -- body: id (camiseta), amount (nº de unidades) * GET /seecart - muestra el carrito * DELETE /deleteproduct/:id - Borra una linea de pedido * --id es el id del producto que se elimina * POST /closecart - Guarda el pedido en MongoDB * GET /listofclosedcarts - Muestra los pedidos cerrados

Importante:

* tener arrancado MongoDB en un terminal. * tener arrancado redis en otro terminal.

Fase 3:

* Crear un servicio what's hot now * Se guardan en redis los artículos visitados (GET /tshirt/:id) con tiempo de expiración de 1 min. * Se crea un servicio que devuelva las camisetas "calientes" * http://speakinbytes.com/2014/03/node-js-redis-implementando-un-whats-hot-con-tiempo-de-expiracion/

Rutas:

* GET /tshirt/:id - acceder a ver los detalles de una camiseta * GET /hots - muestra las "camisetas calientes"

Importante:

* tener arrancado MongoDB en un terminal. * tener arrancado redis en otro terminal. * tener camisetas creadas a las que poder acceder

Fase 4:

* Crear un servicio "what's was hot then" * Se crea un log de artículos visitados en mongoDB * Se muestra una lista de artículos visitados en un rango de tiempo.

Rutas:

* GET /tshirt/:id - acceder a ver los detalles de una camiseta * GET /washot/:yearstart/:monthstart/:daystart/:yearend/:monthend/:dayend - muestra el log de acceso a camisetas

Importante:

* tener arrancado MongoDB en un terminal. * tener arrancado redis en otro terminal. * tener camisetas creadas a las que poder acceder

About

node-api-rest + mongodb + redis + shopping cart

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published