[ca] Amb la generalització dels dispositius mòbils, ordinadors i l'Internet, ha aparegut un ventall d'aplicacions que ens faciliten algunes tasques de la nostra vida diària. En aquest sentit, s'han creat moltes empreses que es dediquen exclusivament a la venta online de productes. L'objectiu principal d'aquest projecte és aprendre i familiaritzar-se amb les noves tecnologies i tècniques que s'usen per a la implementació de sistemes al núvol. Per aconseguir-ho, s'ha dissenyat l'arquitectura d'una botiga online seguint una estructura de microserveis mantenint una separació de responsabilitats i els principis SOLID. Per al desenvolupament del frontend s'ha escollit les llibreries ReactJS i Bootstrap 4. També, s'ha utilitzat la llibreria Redux com a complement de ReactJS per a mantenir un estat global. Per al backend, s'ha preferit utilitzar Java 8 com a base i el framework Spring. A més, s'ha fet ús de les llibreries de Spring Cloud Netflix per tal de configurar l'entorn de microserveis. D'altra banda, s'ha dissenyat un procés d'integració contínua utilitzant TravisCI que monitoritza el desplegament de les noves funcionalitats del sistema a un entorn de producció basat en serveis de Heroku i Github Pages. També, s'ha pogut investigar sobre característiques relacionades amb l'arquitectura de microserveis com el servei de descobriment de microserveis i l'API Gateway, i desenvolupar funcionalitats utilitzant llibreries reactives com Project Reactor i bases de dades NoSQL com MongoDB. Aquest projecte presenta una implementació funcional i satisfactòria d'una botiga online, que tradicionalment s'hauria creat seguint un disseny en monolit, utilitzant una arquitectura de microserveis.

[es] Con la generalización de los dispositivos móviles, ordenadores y el Internet, ha aparecido un abanico de aplicaciones que nos facilitan algunas tareas de nuestra vida diaria. En este sentido, se han creado muchas empresas que se dedican exclusivamente a la venta online de productos. El objetivo principal de este proyecto es aprender y familiarizarse con las nuevas tecnologías y técnicas que se usan para la implementación de sistemas a la nube. Para conseguirlo, se ha diseñado la arquitectura de una tienda online siguiendo una estructura de microservicios manteniendo una separación de responsabilidades y los principios SOLID. Para el desarrollo del frontend se ha escogido las librerías ReactJS y Bootstrap 4. También, se ha utilizado la librería Redux como complemento de ReactJS para mantener un estado global. Para el backend, se ha preferido utilizar Java 8 como base y lo framework Spring. Además, se ha hecho uso de las librerías de Spring Cloud Netflix para configurar la en torno a microservicios. Por otro lado, se ha diseñado un proceso de integración continua utilizando TravisCI que monitoriza el despliegue de las nuevas funcionalidades del sistema a uno en torno a producción basado en servicios de Heroku y Github Pages. También, se ha podido investigar sobre características relacionadas con la arquitectura de microservicios como el servicio de descubrimiento de microservicios y el APIO Gateway, y desarrollar funcionalidades utilizando librerías reactivas cómo Project Reactor y bases de datos NoSQL como MongoDB. Este proyecto presenta una implementación funcional y satisfactoria de una tienda online, que tradicionalmente se habría creado siguiendo un diseño en monolit, utilizando una arquitectura de microservicios.