Pagos
Este es el servicio de pagos de Back-End de bookBnB. Nuclea aquellas funcionalidades vinculadas a las interacciones y pagos con el contrato inteligente desplegado en la blockchain Ethereum.
Ambientes
Se encuentra desplegado en un ambiente productivo y otro interno del equipo de desarrollo para testing:
- Producci贸n con del铆very continuo a partir de la rama master.
- Desarrollo con del铆very continuo a partir de la rama develop.
Instalaci贸n
Dado que la aplicaci贸n se encuentra dockerizada la instalaci贸n es tan sencilla como:
Luego para conectarse a la app:
Imagen
Para crear una imagen de docker con el estado actual de la aplicaci贸n se debe ejecutar:
Esto crear谩 una imagen con el tag payments-service:latest
.
Despligue
Luego para desplegar la imagen en Heroku:
Es necesario que para ello se encuentre configurada la variable de ambiente $TRAVIS_BRANCH
indicando la rama que se desea desplegar.
Build
Para compilar la aplicaci贸n:
Tests
Para ejecutar los tests:
Configuraci贸n
Se deben configurar las siguientes variables de ambiente:
variable | descripci贸n |
---|---|
CORE_URL | Url del servicio principal |
DATABASE_URL | Url de conexi贸n a la base de datos |
NODE_ENV | Ambiente en el que se encuentra |
NODE_URL | Url del nodo Ethereum |
CONTRACT_ADDRESS | Direcci贸n del Smart Contract |
BACKOFFICE_URL | Url del front-end del backoffice |
Cobertura
El proyecto fue testeado con pruebas unitarias y de integraci贸n utilizando Gherkin logrando una cobertura mayor al 90%. Se puede ver el detalle de los reportes en codecov.
Arquitectura
Este microservicio utiliza una arquitectura hexagonal para mantener desacoplada la l贸gica de negocio con el resto de las conexiones del servicio.
OpenApi
Puede consultarse la especificaci贸n OpenApi en api.json o utilizando swagger en api-docs.