HydroValley

Juego incremental cooperativo sobre las 3R del agua (reducir, reutilizar y reciclar), con un valle isométrico compartido y simulado en el servidor.

Es un sistema distribuido hecho para la materia Sistemas Distribuidos y Computación en la Nube de la UCAB. Los servicios se comunican por gRPC y el simulador del valle es el único escritor del estado del mundo.

Equipo: Ignacio Aliendres, Cristian Baczek, Alfonso Palma y Fernando Pérez.

Diagramas rediseñados

Diagrama de casos de uso con los actores jugador, bot, administrador y tick
Casos de uso: qué hace cada actor, con sus requisitos (RF) y las extensiones de nivel 2.
Diagrama de componentes de HydroValley en notación lollipop
Componentes: servicios, interfaces gRPC y patrones de la nube donde viven.
Diagrama de despliegue del plan A en el laboratorio
Despliegue: un nodo Docker por servicio en el laboratorio, más el nodo de respaldo.
Secuencia de una gota de punta a punta
Secuencia: el recorrido de una gota, del clic al resultado y la instantánea.
Secuencia del reinicio del simulador y la recuperación desde la instantánea
Reinicio del simulador: pausa, Circuit Breaker, relevo a world-go y recuperación con boot_id y restored_tick.
Máquina de estados de una casilla con sus regiones ortogonales
Estados de la casilla: crecimiento, fuego, basura y terreno natural, con las condiciones de cada transición.
Modelo de dominio del simulador en Rust
Dominio del simulador: los datos que viajan en la instantánea y cómo se relacionan.
Diagrama entidad-relación de PostgreSQL
Entidad-relación: las tablas que guarda la persistencia, con sus claves y notas de diseño.
Secuencia de registro, acceso y apertura del canal en vivo
Acceso: registro, hash Argon2id, token Ed25519 firmado por la API y verificado por el hub en /play.

Fuentes en PlantUML

Los nueve diagramas originales, generados con PlantUML; el .puml sigue siendo la fuente de verdad y los de arriba son su versión rediseñada.