GithubHelp home page GithubHelp logo

gabehh / iwvg-ecosystem Goto Github PK

View Code? Open in Web Editor NEW

This project forked from miw-upm/iwvg-devops

0.0 1.0 0.0 6.32 MB

IWVG. Ingeniería Web: Visión General. Ecosistema Software

Home Page: http://miw.etsisi.upm.es

License: MIT License

Java 100.00%

iwvg-ecosystem's Introduction

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

Ecosistema Software

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

Tecnologías necesarias

  • Java
  • Maven
  • GitHub
  • Travis-ci
  • Sonarcloud
  • Better Code Hub
  • Spring-boot
  • Heroku
  • OpenAPI & Swagger

Clonar el proyecto

  1. Clonar el repositorio en tu equipo, mediante consola:
> cd <folder path>
> git clone https://github.com/miw-upm/iwvg-ecosystem
  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. Ecosistema Software (Curso 2019-20)

📃 IWVG. Ecosystem. Enunciado de la práctica

1. Crear un proyecto

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.

2. Preparar la gestión mediante Scrum

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 ecosystema

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.

4. Release

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

5. Sprint 2. Preparación del software a desarrollar

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.

6. Release

Realizar la segunda liberación del código (v.1.1.0-release)

7. Sprint 3. Preparación mejoras del software

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.

8. Release

Realizar la tercera liberación del código (v.1.2.0-release)

9. Bug

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

👏 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

☑️ Criterios de evaluación (ver rúbrica)

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

iwvg-ecosystem's People

Contributors

jesusbernalbermudez avatar

Watchers

James Cloos avatar

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.