Skip to content

Latest commit

 

History

History
156 lines (126 loc) · 11.9 KB

Proyecto Final Capstone Project.md

File metadata and controls

156 lines (126 loc) · 11.9 KB

Proyecto Final

Definición del Proyecto

El proyecto está conformado de ejercicios y tareas que se van realizando en las sesiones impartidas a lo largo del curso. Cada semana se deberá realizar un entregable que deberá ser completado el lunes siguiente a la semana que corresponde.

Se deberá enviar cada entrega en las fechas indicadas en la siguiente sección y para poder tener revisión y retroalimentación se deberá realizar dicha entrega a través del siguiente formulario, lo que nos indicará que está listo tu entregable para revisión.

Entregables

Fechas de Entrega

  • Entregable 1: lunes 29 de mayo - 6:00pm
  • Entregable 2: lunes 5 de junio - 6:00pm
  • Entregable 3: lunes 12 de junio - 6:00pm
  • Entregable 4: lunes 19 de junio - 6:00pm

Entregable 1

  • Temas relacionados:
    • Cloud Architectures
    • Infrastructure as Code (IaC)
    • Serverless
    • Best Practices

Requerimientos y Criterio de Evaluación

Para poder considerar completada la semana 1 del entrenamiento debe contemplar lo siguiente:

  • Enviar evidencia de semana 1 para poder agregarla a carpeta de evidencias.
Tópico Puntaje
CDK Java Workshop
- Termina hasta la sección de Hello Lambda
20
What is Infrastructure as Code with Terraform?
- Termina hasta la sección de Change Infrastructure
20
Serverless Exercise
- Termina todo el taller
30
The AWS Step Functions Workshop
- Llega hasta la sección de Input and Output processing
30
Total 100
Mínimo Aprobatorio 80

Los talleres se evaluarán durante la clase, y las evidencias de los mismos se almacenarán en la siguiente carpeta de Google Drive.

Entregable 2

  • Temas relacionados:
    • Docker
    • Docker Compose
    • Kubernetes
    • Kafka
    • MySQL
    • MongoDB
    • ScoutSuite
    • OWASP Zap

Requerimientos y Criterio de Evaluación

Para poder considerar completada la semana 2 del entrenamiento debe contemplar lo siguiente:

Tópico Puntaje
Creación de un microservicio usando Spring Initializr con Gradle y Java 19 10
Creación de un Dockerfile para desplegar y arrancar un microservicio Java en capas 30
Creación de un archivo de Docker Compose para manejar el ciclo de vida del contenedor 10
Creación de un archivo de despliegue de Kubernetes que instale la imagen derivada del contenedor 20
Creación de un consumidor de Kafka 20
Creación de un productor de Kafka 20
Configuración de la comunicación entre productor y consumidor de Kafka 30
Captura de pantalla o texto donde se muestre la Query API que se diseñó 10
Captura de pantalla o texto donde se respondan las preguntas planteadas sobre performance 20
Captura de pantalla o texto donde se muestre el comando para crear índices y el por qué se selecciono ese índice y esas columnas 20
Captura de pantalla o texto donde se muestre un ejemplo de la tabla convertida a documento para un motor NoSQL 10
Análisis de vulnerabilidades en un ambiente en la nube (AWS) usando ScoutSuite 25
Analísis de vulnerabilidades de una aplicación web usando OWASP Zap 25
Total 250
Mínimo aprobatorio 200

Los talleres se evaluarán durante la clase, y las evidencias de los mismos se almacenarán en la siguiente carpeta de Google Drive.

Entregable 3

  • Temas relacionados:
    • Java
    • Spring Boot
    • JUnit
    • Notación Big O

Requerimientos y Criterio de Evaluación

Para poder considerar completada la semana 3 del entrenamiento se debe entregar un microservicio que contemple lo siguiente:

Tópico Puntaje
Uso de por lo menos 1 Interfaz Funcional 10
Uso de por lo menos 1 función Lambda y asignada a una Interfaz Funcional 10
Uso de por lo menos 1 Stream de datos 10
Uso de por lo menos 2 operaciones intermedias y 2 tipos de colectores en un Stream 10
Creación de un Mono para procesar una operación 20
Creación de un Flux para procesar una operación 20
Uso de Spring WebClient 10
Generar por lo menos un módulo propio 10
Uso de la anotación Transactional en un componente Service 10
Uso de por lo menos una excepción de creación propia 10
Creación de un ExceptionHandler 20
Creación de un ControllerAdvice 20
Descripción de un método dentro del microservicio en Notación Big O 20
Prueba unitaria de cada endpoint de la API 20
Prueba unitaria de cada operación CRUD 20
Uso de Mockito en cada prueba 10
Generación de logs por prueba 10
Pruebas para Happy Path 10
Pruebas para cada Edge Case 20
Implementación de JaCoCo (mínimo 70% de cobertura) 30
Total 300
Mínimo aprobatorio 240

Entregable 4

  • Temas relacionados:
    • Código Limpio
    • Principios de Diseño SOLID
    • Patrones de Diseño
    • Arquitectura Hexagonal
    • Arquitectura Orientada a Eventos
    • Microservicios vs Monolito Modular
    • TDD
    • BDD

Requerimientos y Criterio de Evaluación

Para poder considerar completada la semana 4 del entrenamiento debe contemplar lo siguiente:

Tópico Puntaje
Uso de nombres significativos en variables y funciones 10
Uso de funciones/métodos limpios en clases 10
Uso correcto de los Principios de Diseño SOLID 20
Uso correcto de arquitectura hexagonal/n-capas en un Proyecto de Spring Boot 20
Participación Arquitectura Orientada a Eventos 10
Participación Microservicios vs Monolito Modular 10
Uso de Desarrollo Orientado a Pruebas 10
Uso de Desarrollo Orientado a Comportamiento (Cucumber) 10
Total 100
Mínimo aprobatorio 80