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
- Travis-ci
- Sonarcloud
- Better Code Hub
- Spring-boot
- Heroku
- OpenAPI & Swagger
- Clonar el repositorio en tu equipo, mediante consola:
> cd <folder path>
> git clone https://github.com/miw-upm/iwvg-ecosystem
- 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. Ecosistema Software (Curso 2019-20)
Crear un proyecto Maven llamado: iwvg-ecosystem-nombre-apellido, versión 1.0.0. Para ello se aporta zip de la plantilla. Añadir tipo de Licencia.
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.
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 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.
1️⃣, 2️⃣... representa el orden temporal de desarrollo de los issues.
Realizar la primera liberación del código (v.1.0.0-release)
Se crearán las siguientes 4 historias (Issues).
- Clases 1️⃣Point & 5️⃣PointTest.
- Clases 2️⃣User & 3️⃣UserTest.
- Clases 4️⃣DecimalCollection & 8️⃣DecimalCollectionTest.
- Clases 6️⃣Fraction & 7️⃣FractionTest.
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 Point, User, DecimalCollection, Fraction se podrán copiar de las dadas en clase.
Realizar la segunda liberación del código (v.1.1.0-release)
Se crearán las siguientes 4 historias (Issues).
- Point: 1️⃣mejora 1 y 4️⃣mejora 2.
- User: 2️⃣mejora 1 y 7️⃣mejora 2.
- DecimalCollection: 3️⃣mejora 1 y 9️⃣mejora 2.
- Fraction: 5️⃣mejora 1, 6️⃣mejora 2 y 8️⃣mejora 3.
1️⃣, 2️⃣... representa el orden temporal de desarrollo de los issues. Cuando un issue se termine se debe incorporar a la rama develop.
Las posibles ampliaciones son libres, o podrían ser las siguientes:
Point
Aumentar a una tercera coordenada.
Limitar los límites posibles: 0..100, -10..+10...
Poder modificar las coordenadas.
User
Presentar el nombre en mayúsculas.
Incluir métodos con otras formas de presentar el nombre completo.
Permitir nombres compuestos, separados por blancos y controlar las mayúsculas y minúsculas.
DecimalCollection
Incluir métodos como menor, multiplicar, tamaño, media...
Fraction
Incluir métodos como isPropia, isImpropia. Las fracciones propias son aquellas cuyo numerador es menor que el denominador, y las fracciones impropias el resto.
Incluir el método isEquivalente. Dos fracciones son equivalentes cuando el producto de extremos es igual al producto de medios.
Incluir métodos para comparar fracciones: mayor, menor.
Incluir métodos para sumar, restar, multiplicar o dividir fracciones.
Realizar la tercera liberación del código (v.1.2.0-release)
Suponer que la mejora 3 de la clase Fraction no es buena y se debe proceder a eliminarla. Realizar la cuarta liberación del código (v.1.2.1-release).
Indicar como texto en la subida la URL de GitHub
NOTA. Acordarse de dar al botón de envío
- Completud y corrección de lo entregado respecto al enunciado.
- Adecuación de la temporalidad de desarrollo según el enunciado.
- Mantenimiento de calidad del código según Travis-CI, Sonar, Better Code Hub.
- Uso correcto del flujo de trabajo ramificado.
- Commits correctos y completos.
- Gestión adecuada y completa (estimación, tiempo real...) durante el desarrollo.
- Planificación temporal adecuada y equilibrada en el desarrollo.
- Código limpio, bien formateado y ordenado.