API que usamos en Nahual para hacer un seguimiento de los estudiantes que pasan por el taller y el estado en qué se encuentra su búsqueda laboral.
Está desarrollada en Java, más específicamente con Spring Boot.
Estamos compartiendo el volumen donde se guardan los datos entre el docker-compose de semillero en general y el de la api en particular.
En el caso de la API, va a pedir el volumen creado por el otro docker-compose general semillero_semillero-mariadb
La instalación de los containers nos instala una base MariaDB. De hecho, hay un docker-compose.yml solo para este proyecto, por si no querés levantar los otros containers y solo te levante la base de datos.
El esquema lo tenés que crear a mano, corriendo el archivo 000000000000_empty_schema.sql
.
Luego, ya se puede levantar la aplicación con el comando ./mvnw spring-boot:run
, de esa manera se va a correr el changelog de Liquibase.
Eso nos va a crear todas las tablas necesarias
Ya con la aplicación arriba, usamos la API para crear 2 nodos de prueba y un CSV que se usa en los tests.
curl --user semillero:semillero -X POST -H "Content-Type: application/json" --data '{"name":"Capital","address":"capi1"}' http://localhost:8080/node
curl --user semillero:semillero -X POST -H "Content-Type: application/json" --data '{"name":"Paternal","address":"paternal1"}' http://localhost:8080/node
curl --user semillero:semillero -i -X POST -H "Content-Type: multipart/form-data" -F "csv=@src/test/resources/data.csv" http://localhost:8080/student/bulk
Mientras estamos desarrollando podemos usar la base dockerizada pero correr la aplicación desde nuestro IDE preferido (lo único que deberíamos cambiar es el datasource y apuntarlo a nuestro local dockerizado, en vez de al host dockerizado)
La documentación de la API está escrita en RAML 0.8.
El HTML generado se podía ver en el siguiente link.
Update
Rawgit fue dado de baja y hay que migrar esto a otro sistema (github pages, por ejemplo)