Core
Este es el servicio principal de Back-End de bookBnB. Contiene la l贸gica principal de negocio para la mayor parte de las funciones.
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 bookbnb: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 |
---|---|
ALGOLIA_ADMIN_API_KEY | Api key de Algolia |
ALGOLIA_APPLICATION_ID | Id de aplicaci贸n en Algolia |
BACKOFFICE_URL | Url del front-end del backoffice |
USERS_SERVICE_URL | Url del servicio de usuarios |
DATABASE_URL | Url de conexi贸n a la base de datos |
NODE_ENV | Ambiente en el que se encuentra |
SECRET_KEY | Clave random para generar tokens |
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.