All Projects → miw-upm → apaw

miw-upm / apaw

Licence: MIT license
APAW. Arquitectura y Patrones Web. Máster en Ingeniería Web

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to apaw

betca-spring
BETCA (Spring). Back-end con Tecnologías de Código Abierto, versión Java-Spring
Stars: ✭ 27 (-41.3%)
Mutual labels:  upm, miw
UnitySceneSwitcher
Editor extension for quick scene switching.
Stars: ✭ 38 (-17.39%)
Mutual labels:  upm
Javascript Total
Сборник практических вопросов, задач разного уровня сложности, сниппетов (утилит), паттерны проектирования, а также полезные ссылки по JavaScript
Stars: ✭ 214 (+365.22%)
Mutual labels:  pattern
route pattern generator
A Dart static code generator that produces matchers and builders from route uri patterns.
Stars: ✭ 31 (-32.61%)
Mutual labels:  pattern
Getx pattern
Design pattern designed to standardize your projects with GetX on Flutter.
Stars: ✭ 225 (+389.13%)
Mutual labels:  pattern
React-BLoC-pattern
React BLoC pattern
Stars: ✭ 18 (-60.87%)
Mutual labels:  pattern
Jxpatternlock
An easy-to-use, powerful, customizable pattern lock view in swift. 图形解锁/手势解锁 / 手势密码 / 图案密码 / 九宫格密码
Stars: ✭ 165 (+258.7%)
Mutual labels:  pattern
html-comment-regex
Regular expression for matching HTML comments
Stars: ✭ 15 (-67.39%)
Mutual labels:  pattern
glob
Pure Nim library for matching file paths against Unix style glob patterns.
Stars: ✭ 58 (+26.09%)
Mutual labels:  pattern
unity
Unity SDK UPM package
Stars: ✭ 25 (-45.65%)
Mutual labels:  upm
spec-pattern
Specification design pattern for JavaScript and TypeScript with bonus classes
Stars: ✭ 43 (-6.52%)
Mutual labels:  pattern
matched
Glob matching with support for multiple patterns and negation. Use `~` in cwd to find files in user home, or `@` for global npm modules.
Stars: ✭ 25 (-45.65%)
Mutual labels:  pattern
unity.package-manager.metadata
Contains metadata used by the com.unity.package-manager package to fulfill client requests
Stars: ✭ 24 (-47.83%)
Mutual labels:  upm
Easy Tips
A little Tips in my Code Career with Go&PHP 🥳🥳🥳
Stars: ✭ 2,555 (+5454.35%)
Mutual labels:  pattern
memory signature
A small wrapper class providing an unified interface to search for various memory signatures
Stars: ✭ 69 (+50%)
Mutual labels:  pattern
Kommander Ios
A lightweight, pure-Swift library for manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand.
Stars: ✭ 167 (+263.04%)
Mutual labels:  pattern
receptacle
minimalistic implementation of the repository pattern
Stars: ✭ 18 (-60.87%)
Mutual labels:  pattern
combining3Dmorphablemodels
Project Page of Combining 3D Morphable Models: A Large scale Face-and-Head Model - [CVPR 2019]
Stars: ✭ 80 (+73.91%)
Mutual labels:  pattern
unity-now
▲ Vercel Now plugin for Unity. Deploy WebGL builds with ease
Stars: ✭ 21 (-54.35%)
Mutual labels:  upm
CSharpCompilerSettingsForUnity
Change the C# compiler (csc) used on your Unity project, as you like!
Stars: ✭ 208 (+352.17%)
Mutual labels:  upm

Máster en Ingeniería Web por la Universidad Politécnica de Madrid (miw-upm)

Arquitectura y Patrones para Aplicaciones Web

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

Estado del código

DevOps Quality Gate BCH compliance

Tecnologías necesarias

Java Maven GitHub GitHub Actions 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/apaw
  1. Importar el proyecto mediante IntelliJ IDEA
    1. Open Project, y seleccionar la carpeta del proyecto.
    2. Marcar Create Project from external model, elegir Maven.
    3. NextFinish.

📖 Diapositivas (/docs)

🎥 Videos (www.youtube.com/miw-upm)

  • Lista de reproducción: APAW. Arquitectura y Patrones para Aplicaciones Web

📃 Enunciado de la práctica

La practica consiste en ampliar de forma colaborativa una aplicación: https://github.com/miw-upm/apaw-practice.
NOTA. Todo el software deberá estar en ingles.

1. Clonar el proyecto y crear una etiqueta en GitHub con el nombre de la ampliación

Por ejemplo: story:sport, story:team... no puede haber repetidas. En todos los issues# creados, se deberá asociar dicha etiqueta, además de la etiquita de estimación (puntos). Los nombres de los paquetes, deben coincidir exactamante con la historia, ejemplo, story:winter-games, paquete: winter_games.

2. Diseñar el Modelo (0,5 pto)

Crear un 1️⃣ issue# (por ejemplo: Team model). Debe colocarse el diagrama de clases del modelo en los detalles del issue y debe estar siempre actualizado. Para resolverlo se utilizará un flujo de trabajo ramificado, y una vez finalizado e incorporado a develop y añadido el tiempo consumido, se debe avisar al profesor mediante Slack dando en el mensaje privado la url del issue, si es correcto el profesor autorizará el cierre del issue y se podrá continuar, sino, se deberán realizar los cambios.

  • Crear 4 documentos. No puede haber 2 documentos, con el mismo nombre en toda la aplicación, ni dos atributos dentro de la misma práctica.
    • Cada documento: >=3 atributos, y en total >= 12 atributos, con al menos uno LocalDateTime o LocalDate, Boolean y uno numérico (Integer, Double, Long o BigDecimal).
    • Los atributos para manejo de dinero deben ser BigDecimal.
    • Relaciones necesarias: 1..n, n..1 y n..n.

3. Diseñar la persistencia (2️⃣ issue#) (1 pto)

  • Crear el modelo de entidades.
  • Crear los DAOs (Repositorios).
  • Crear una clase para poblar las BD: <Story>SeederService e integrarlo con DatabaseSeederService.

4. Crear 5 end-points (mediante 3️⃣..7️⃣ issue#) (4 ptos)

  • GET, POST, PUT, DELETE (0,75 ptos/end-point).
  • PATCH (1 pto).
  • Repartidos proporcionalmente entre el modelo.
  • Los end-points deben estar 100% probados y los servicios también.

5. Búsquedas y Patrones (4,5 ptos)

  • Una vez finalizado los seis issues anteriores, se debe avisar al profesor por Slack, y el profesor añadirá :
    • 8️⃣..9️⃣ issues# para realizar end-points de búsquedas. Recordar que en búsquedas, a cualquier nivel, resource, service, repository... siempre se coloca en el tipo de lo devuelto.
    • 🔟..1️⃣1️⃣ issues# con la aplicación de dos patrones.

Criterios de evaluación

  • 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 y Sonar. Cobertura >= 80%. Hasta -3 ptos. Todos los aspectos vistos en teoría, y poniendo espeacial enfásis en:
    • Formatear.
      • Herramienta del IDE.
      • Líneas en blanco.
      • Ordenar métodos.
      • Repasar nombres de clases, métodos, atributos, parámetros y variables.
    • Sencillez del código.
      • Simplificar el código.
      • Eliminar comentarios.
      • Estructuras anidadas: <3.
      • Complejidad ciclomática: <8-12.
    • Métricas.
      • Paquete: <20 clases.
      • Clases: <500-200 líneas, <20 métodos.
      • Métodos: <3-4 parámetros, <15 líneas.
    • Eliminar redundancias (copy & paste).
    • Eliminar código muerto.
    • Tratamiento de errores.
    • Calidad de la arquitectura (GRASP, SOLID, patrones...).
  • Gestión adecuada, completa y equilibrada (estimación, tiempo real...) durante el desarrollo. Hasta -3 ptos.
  • Uso del ingles. Hasta -1 pto.

👏 Entraga de la práctica

Indicar como texto en la subida:

  • Nombre de la historía:
  • Cuenta de GitHub:
  • Nombre aparecen en los commits:
  • Estimación total y tiempo total consumido:

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].