Este proyecto es un apoyo docente de la asignatura. Cada release liberada corresponde al código utilizado en clase del curso indicado
Java
Maven
GitHub
GitHub Actions
Sonarcloud
Slack
Spring-boot
Heroku
OpenAPI
- Clonar el repositorio en tu equipo, mediante consola:
> cd <folder path>
> git clone https://github.com/miw-upm/iwvg-devops
- Importar el proyecto mediante IntelliJ IDEA
- Import Project, y seleccionar la carpeta del proyecto.
- Marcar Create Project from external model, elegir Maven.
- Next … Finish.
🎥 Videos (www.youtube.com/miw-upm)
- Lista de reproducción: IWVG. Devops
Todo el software deberá estar en ingles.
Crear un proyecto Maven llamado: iwvg-devops-apellido-nombre, versión 3.0.0. Para ello se aporta zip de la plantilla.
Recordar editar el pom y cambiar el nombre del artefacto (artifactId).
Recordar cambiar el nombre de la carpeta.
Importarlo desde IntelliJ.
Crear un repositorio en GitHub con el mensaje del primer comit: "Initial. Nombre Apellido"
Crear un proyecto de gestión en GitHub y prepararlo para la metodología de Scrum (columnas, etiquetas, hitos...).
Se crearán las siguientes 4 historias (Issues) pero se trabajarán en las ramas develop & master.
- 1️⃣ Integración continua con GitHub Actions. Incluir Badge en README con link.
- 2️⃣ Análisis del código con Sonarcloud. Incluir Badge en README con link a la cuenta de Sonar.
- 3️⃣ Desplegar en Heroku. Incluir Badge en README con link a la página de swagger-ui.html.
1️⃣, 2️⃣... representa el orden temporal de desarrollo de los issues.
Realizar la primera liberación del código (v.3.0.0-release)
Se crearán las siguientes 4 historias (Issues).
- Clases 1️⃣Fraction & 5️⃣FractionTest.
- Clases 2️⃣User & 3️⃣UserTest.
- Clases 4️⃣UsersDatabase.
- Ampliación 6️⃣Fraction & 7️⃣FractionTest con las funcionalidades: isProper, isImproper, isEquivalent, add, multiply & divide.
1️⃣, 2️⃣... representa el orden temporal de desarrollo de los issues. Cuando un issue se termine se debe incorporar a la rama develop. Las clases User, Fraction y UsersDatabase se podrán copiar de las dadas en clase.
Realizar la segunda liberación del código (v.3.1.0-release)
6. Sprint 3. Preparación de cuatro búsquedas a partir de las siguientes, según el valor de las primeros cuatro valores distintos del último commit realizado de la liberación anterior, se creará una historia (**
Issues**) por cada búsqueda, con el test correspondiente (3.5 ptos).
0
Stream<String> findUserFamilyNameInitialBySomeProperFraction();1
Stream<String> findUserIdBySomeProperFraction();2
Fraction findFractionMultiplicationByUserFamilyName(String familyName);3
Fraction findFractionDivisionByUserId(String id);4
Double findFirstDecimalFractionByUserName(String name);5
Stream<String> findUserIdByAllProperFraction();6
Stream<Double> findDecimalImproperFractionByUserName(String name);7
Fraction findFirstProperFractionByUserId(String id);8
Stream<String> findUserFamilyNameBySomeImproperFraction();9
Fraction findHighestFraction();a
Stream<String> findUserNameBySomeImproperFraction();b
Stream<String> findUserFamilyNameByAllNegativeSignFractionDistinct();c
Stream<Double> findDecimalFractionByUserName(String name);d
Stream<Double> findDecimalFractionByNegativeSignFraction();e
Fraction findFractionAdditionByUserId(String id);f
Fraction findFractionSubtractionByUserName(String name);
Realizar la tercera liberación del código (v.3.2.0-release)
Suponer que la búsqueda 3 anterior no es buena y se debe proceder a modificarla. Realizar un cambio y proceder a la cuarta liberación del código (v.3.2.1-release).
- Uso correcto del flujo de trabajo ramificado. Hasta -3 ptos.
- Adecuación de la temporalidad de desarrollo según el enunciado. Hasta -3 ptos.
- Mantenimiento de calidad del código según GitHub Actions, Sonar, Better Code Hub. Cobertura >= 80%. Hasta -2 ptos.
- Gestión adecuada, completa y equlibrada (estimación, tiempo real...) durante el desarrollo. Hasta -2 ptos.
- Commits correctos y completos. Hasta -2 ptos.
- Código limpio, bien formateado y ordenado. Hasta -2 ptos.
- Uso del ingles. Hasta -1 pto.
Indicar como texto en la subida la URL de GitHub
NOTA. Acordarse de dar al botón de envío