= Roomboo
image:https://travis-ci.org/labcabrera/roomboo.svg?branch=master["Build Status", link="https://travis-ci.org/labcabrera/roomboo"] image:https://api.codacy.com/project/badge/Grade/018b2390426f4138aa16f2548c75f8bc["Codacy code quality", link="https://www.codacy.com/app/lab.cabrera/roomboo?utm_source=github.com&utm_medium=referral&utm_content=labcabrera/roomboo&utm_campaign=Badge_Grade"]
== Introducción
Roomboo es una aplicación de reserva de salas de reuniones. Este proyecto provee de una API REST ofreciendo las siguientes funcionalidades:
== Requisitos
== Docker
La imagen docker de la api es https://hub.docker.com/r/labcabrera/roomboo-api/[labcabrera/roomboo-api].
Para arrancar el contenedor simplemente tendremos que ejecutar:
docker pull labcabrera/roomboo-api
Argumentos:
[options="headers"]
|===
|Nombre | Valor por defecto | Descripción
| PORT
| 8080 | Puerto de la aplicación.
| SPRING_PROFILES_ACTIVE
| local | Perfil de Spring.
| ENV_MONGO_HOST
| localhost | Nombre del host de MongoDB.
|ENV_SMTP_USERNAME
| undefined | Usuario de envío de correo.
|ENV_SMTP_PASSWORD
| undefined | Password de envío de correo.
|ENV_SMTP_HOST
| smtp.gmail.com | Servidor de correo.
|ENV_SMTP_PORT
| 587 | Puerto del servidor de correo.
|===
Por ejemplo, para ejecutar la aplicación en el puerto 8000 con el perfil sin seguridad ejecutaremos:
En el caso de ejecutar la aplicación contra una imagen local de MongoDB deberemos obtener la IP que tiene utilizando el comando
obteniendo una salida similar a la siguiente:
"Containers": {
"db94ced0c3dd621f1ef71dd648dce23c6aec5ae4adbf26e1ab98764c73122b74": {
"Name": "mongo-roomboo",
"EndpointID": "84fc41e50ce4f7d24d90774f5f50bc710b5250d71afb87174f0ce511cbda457d",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
}
},
== Perfiles de ejecución
[options="headers"]
|===
| Nombre | Descripción
| local
| Perfil local de la aplicación.
| unsecured
| Deshabilita la seguridad basada en JWT.
| mail
| Habilita el envío de notificaciones por correo.
| force-initialization
| Elimina todos los datos presentes en la aplicación y carga el juego
inicial de datos de ejemplo.
| actuator
| Habilita todos los endpoints de Spring Boot Actuator.
|===
== Stack
== Referencias