Skip to content

API para conocer descuentos de maquillaje. Asignatura Infraestructura Virtual (IV) , ETSIIT, UGR

License

Notifications You must be signed in to change notification settings

mariasanzs/makeupIV

Repository files navigation

MakeUpIV 💄

API para obterner avisos en descuentos de maquillaje. Asignatura Infraestructura Virtual (IV) , ETSIIT, UGR.

La idea del proyecto es poder enterarse rápidamente de descuentos, promociones o ofertas rápidas de productos de maquillaje de tiendas Sephora, la cual muchas veces lanza gangas a través de sus redes sociales y demás medios que acaban agotándose de inmediato.

MICROSERVICIOS

Puedes ver la justificación de por qué he elegido Sinatra como framework y documentación del uso de este aquí

Puedes ver como he diseñado la API y toda la documentación relativa a esta y a los test que se han realizado aquí

Puedes ver como he generado un archivo log en el que se almacenan todos los registros de peticiones aquí

Puedes instalar todas las dependencias haciendo rake install y pasar los test haciendo rake test. Puedes ver todas estas instrucciones (task) en el archivo Rakefile

También puedes iniciar el servicio haciendo rackup

Enlaces a ficheros 📑

🆕 iv.yaml

Puedes consultar el fichero iv.yaml aqui

🆕 config.ru

Puedes consultar el fichero iv.yaml aqui

🆕 sinatra/myapp.rb

Puedes consultar el fichero myapp.rb en el que he desarrollado la gran mayoría de la API con Sinatra aquí

🆕 src/almacen.rb

Puedes consultar el fichero almacen.rb en el que han desarrollado funciones para la HU08 y cuya clase actúa como una de las clases controladoras de la API aquí

🆕 spec/testMyapp.rb

Puedes consultar el fichero con todos los test del fichero myapp.rb aqui

🆕 sinatra/log

Puedes consultar la información recogida durante las peticiones a la api en el fichero info.log

🆕 Ficheros de dependencias

Aquí se encuentran los ficheros Gemfile y Gemfile.lock. En Gemfile especificamos que gemas vamos a usar mientras que Gemfile.lock se encarga de mantener esas versiones actualizadas cuando corremos Bundler.

🆕 Fichero de gestión de tareas

Aquí se encuentra el fichero Rakefile con el que podemos gestionar la tareas y automatizarlas con Rake

Código fuente

Puedes acceder al código fuente del proyecto desde la carpeta /src

Ficheros de test

Todos los test están localizados en la carpeta /spec

5.json

Puedes consultar el fichero 5.json aqui

.travis.yml

Puedes consultar el fichero .travis.yml aqui

Shippable.yml

Puedes consultar el fichero shippable.yml aqui

Dockerfile

Puedes consultar el fichero Dockerfile aqui

También puedes consultar la documentación del dockerfile y la justificación de las ordenes aquí





Serverless

Usando Vercel

  • Puedes consultar la documentación y justificación del repositorio con Vercel aquí

  • Puedes acceder a mi respositorio en Vercel aquí

  • Y también puedes consultar la integración dentro del proyecto de nuevo código, todo alojado en la carpeta /api corresponientes a la HU07

Usando AWS Lambda

Integración Continua 🟡➡✔

La integración garantiza que los cambios se creen y prueben con la última versión de todo el código base con el fin de encontrar errores lo antes posible y asegurar la calidad del código.

Para configurar la integración continua (CI) disponemos de dos plataformas online, Travis y Shippable.

  • Puedes consultar la documentación y justificación de Travis aquí

    • También puedes consultar información sobre una alternativa al travis.yml actual en la que se hace uso del gestor de tareas en vez de aprovecharse Docker aquí
  • Puedes consultar la documentación y justificación de Shippable aquí

Puedes acceder también a mi perfil de Travis y a mi perfil de Shippable

Ejecutar test con Docker 🐳

Para ejecutar los test necesitamos tener clonado el respositorio de GitHub y además tener descargado en nuestro repositorio local el contenedor base.

Podemos encontrar el contenedor base tanto en DockerHub como en GitHub Container Registry.

Para descargar desde Docker Hub:

docker pull mariasanzs/makeupiv

Para descargar desde GitHub Container Registry:

docker pull ghcr.io/mariasanzs/makeupiv/packagemakeupiv:latest

Para ejecutar los test desde la carpeta del repositorio se hace:

docker run -t -v pwd:/test mariasanzs/makeupiv

Elección del contenedor base

Puedes consultar información sobre la comparación de diferentes imágenes y la optimización del tamaño y/o la velocidad del contenedor resultante aquí

Puedes consultar la justificación del contenedor base aquí

Repositorios de contenedores de Docker 🐳

▪️Docker Hub

Puedes consultar la documentación sobre Docker Hub aquí

Puedes acceder al contenedor en Docker Hub en este enlace

▪️Github Container Registry

Puedes consultar la documentación sobre Github Container Registry aquí

Puedes acceder al paquete de Github Container Registry en este enlace

Haciendo uso de Rakefile 🔷

Antes de ejecutar el Rakefile deberíamos de tener instalado Bundler y Rake:

gem install bundler

gem install rake

Para instalar las dependencias con Bundler: 🔹

Simplemente debemos de escribir el siguiente comando para instalar las dependencias:

rake -installdeps

Para realizar los test de nuestro código: 🔹

  • Ejecutamos los test haciendo:

rake test

Herramientas 🛠️

Lenguaje

Como lenguaje de programación se ha elegido Ruby

Gestor de versiones

Se ha elegido RBENV como gestor de versiones, la justificación de la elección y demás información puedes consultarlo aquí

Herramienta de testeo

Se utilizará Rspec como herramienta para testear todo nuestro código. Toda la información esta aquí disponible

Gestor de dependencias

Para gestionar las dependencias se usará Bundler, para conocer más sobre esta herramienta y su elección consulte el siguiente enlace

Herramienta de construcción

Como herramienta para automatizar y gestionar tareas se hace uso de Rake, toda la información relevante se encuentra aquí

Historias de Usuario

Puedes consultar las historias de usuario en la sección "Issues" bajo el label user-stories

Issues

Puedes consultar los issues cerrados que se han ido cumpliendo aquí

Milestones

Enlace a los Milestones del proyecto

Pasos en el desarrollo

Puedes seguir los pasos llevados a cabo durante el proyecto en el siguiente enlace

Documentación 📖

Configuración de git correctamente incluyendo el archivo config y las claves pública y privada]

Autora ✒️

About

API para conocer descuentos de maquillaje. Asignatura Infraestructura Virtual (IV) , ETSIIT, UGR

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published