Skip to content

CarlosCobParro/iwvg-devops-Carlos-Cob

Repository files navigation

Ingeniería Web: Visión General (IWVG) DevOps

Este proyecto es un apoyo docente de la asignatura. Cada release liberada corresponde al código utilizado en clase del curso indicado

GitHub GitHub release (latest by date including pre-releases) GitHub Release Date GitHub code size in bytes GitHub issues GitHub closed issues

Estado del código

Build Status Maintainability Rating BCH compliance Heroku broken

Build Status

Tecnologías necesarias

Java Maven GitHub Travis-ci Sonarcloud Better Code Hub Slack Spring-boot Heroku OpenAPI

⚙️ Instalación del proyecto

  1. Clonar el repositorio en tu equipo, mediante consola:
> cd <folder path>
> git clone https://github.com/miw-upm/iwvg-devops
  1. Importar el proyecto mediante IntelliJ IDEA
    1. Import Project, y seleccionar la carpeta del proyecto.
    2. Marcar Create Project from external model, elegir Maven.
    3. NextFinish.

📖 Diapositivas

  • Lista de reproducción: IWVG. Devops Software (Curso 2020-21)

📃 IWVG. Devops. Enunciado de la práctica

Todo el software deberá estar en ingles.

1. Crear un proyecto (0.5 pto)

Crear un proyecto Maven llamado: iwvg-devops-nombre-apellido, versión 1.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.

2. Preparar la gestión mediante Scrum (0.5 pto)

Crear un proyecto de gestión en GitHub y prepararlo para la metodología de Scrum (columnas, etiquetas, hitos...).

3. Sprint 1. Preparación del ecosistema (2 ptos)

Se crearán las siguientes 4 o 5 historias (Issues) pero se trabajarán en las ramas develop & master.

  • 1️⃣ Integración continua con Travis-CI. Incluir Badge en README con link a la cuenta de Travis-CI.
  • 2️⃣ Análisis del código con Sonarcloud. Incluir Badge en README con link a la cuenta de Sonar.
  • 3️⃣ Análisis del código con Better Code Hub. Incluir Badge en README.
  • 4️⃣ Desplegar en Heroku. Incluir Badge en README con link a la página de swagger-ui.html.
  • Opcional 5️⃣ Integración con Slack. Incluir captura de pantalla en la carpeta docs del proyecto

1️⃣, 2️⃣... representa el orden temporal de desarrollo de los issues.

4. Release (0.5 pto)

Realizar la primera liberación del código (v.1.0.0-release)

5. Sprint 2. Preparación del software a desarrollar (2 ptos)

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.1.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 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.1.2.0-release)

7. Bug (1.5 ptos)

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.1.2.1-release).

✅ Criterios transversales con pérdida de puntos por falta de calidad

  • 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 Travis-CI, 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.

👏 Entraga de la práctica

Indicar como texto en la subida la URL de GitHub

NOTA. Acordarse de dar al botón de envío

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages