Giter VIP home page Giter VIP logo

iwvg-devops's Introduction

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

DevOps Maintainability Rating

Tecnologías necesarias

Java Maven GitHub GitHub Actions Sonarcloud Slack Spring-boot Railway 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

📃 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-apellido-nombre, versión 4.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"

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 (1.5 ptos)

Se crearán las siguientes 2 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.

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.4.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.4.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.4.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.4.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 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.

👏 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

Ejemplo resuelto:

iwvg-devops's People

Contributors

jesusbernalbermudez avatar miw-upm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

iwvg-devops's Issues

Git 9

Ejercicios básicos de GIT. Situaciones anómalas

Git 2

Ejercicios básicos de GIT

Git 5

Ejercicios básicos de GIT

Git 10

Ejercicios básicos de GIT. Situaciones anómalas

Git 8

Ejercicios básicos de GIT

Git 6

Ejercicios básicos de GIT

Git 4

Ejercicios básicos de GIT

Nota

Descripción de Nota

Git 1

Ejercicios básicos de GIT

Git 7

Ejercicios básicos de GIT

Git 3

Ejercicios básicos de GIT

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.