Git Product home page Git Product logo

ejercicio-cupones's Introduction

ejercicio-cupones

Este repositorio contiene la resolucion del Ejercicio Cupones.

Consta de 3 proyectos Maven

Cupones

Proyecto CORE de Cupones, contiene el Modelo de Datos de Cupón y las funcionalidades basicas requeridas.

Cupones APIREST

Aplicacion de Spring Boot que responde a los servicios correspondientes.

Items API Client

Cliente HTTP que consume la API de Items.

Instrucciones

Se proveen algunos script en bash para facilitar el uso de la API.

  • Para buildear la aplicacion de Spring Boot correr el script buildAPI.sh. El Jar resultante se guardara en la carpeta coupons-apirest/target/coupons-apirest-0.0.1.jar.
  • Para ejecutar las pruebas automaticas correr runTest.sh. Esto correra el conjunto de Test con Maven.
  • Para levantar una instancia local de la API utilizar startup.sh. Con el se buildeará el proyecto y lo levantara por default en el puerto 8080.

Configuracion (opcional)

Es posible cambiar algunas configuraciones de la API REST editando el archivo de configuracion application.properties o estableciendo Variables de Entorno

  • PUERTO -> Por default el puerto que escucha la API es 8080. Este puede modificarse cambiando la variable server.port en el archivo de properties o bien estableciendo la variable de entorno SERVER_PORT.
  • REPOSITORIO DE ITEMS -> De forma predeterminada se consume el API de items para recuperar su informacion. Adicionalmente tambien puede configurarse un Mock en memoria con algunos datos dummy. Para esto se debe editar la propiedad repository.item o bien mediante la variable de entorno REPOSITORY_ITEM. Los valores posibles son http o mem.
  • ITEMS API URL -> En caso de utilizar el api de ITEMS debe proverse su URL. Por default ya está establecida.
  • CACHE ITEM -> La API de Cupones utiliza un cache para almacenar informacion temporalmente. Mediante la variable cache.items.clean.time o la variable de entorno CACHE_ITEMS_CLEAN_TIME se puede especificar el periodo de tiempo en el que el cache se limpiará (en milisegundos). De forma predeterminada su valor es de 10 minutos.

Cobertura de Codigo

Se ha usado Jacoco para calcular la Cobertura de Codigo entre los distintos proyectos. Esta configurado para que genere reportes de Coverage una vez ejecutado el script runTest.sh.

Los archivos donde se encuentran los reportes para cada proyecto son

  • CUPONES : coupons/target/site/jacoco/index.html
  • CUPONES API REST : coupons-apirest/target/site/jacoco/index.html
  • ITEMS API CLIENT : items-api-client/target/site/jacoco/index.html

ejercicio-cupones's People

Contributors

martinperez2306 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.