Review

El proyecto consiste en una demo de un juego de cartas de superhéroes online, cuenta con una validación de cartas apostadas, acumulación de puntaje por jugador y asignación de premios por ronda ganada. El juego actualmente se encuentra en la fase experimental, por lo que no cuenta con todas las funcionalidades en la arena de juego. Sin embargo, se puede realizar el registro, jugar contra uno o varios jugadores, y guardar el progreso de la partida en la base de datos.

login de juego

Login con Google

Registro de usuario e inicio de sesión con google (o con cualquier proveedor compatible con firebase), este login esta soportado con el uso de los servicios de autenticación de firebase. Se utiliza Tailwind CSS para la interface gráfica.

Información general

Control de Rutas

Evento en cada botón para reaccionar al click y redirigir a otra página con información, haciendo uso del modulo de rutas (RouterModule) de angular Js y aplicando el concepto de lazy-load para la optimización del rendimiento de la pagina web.

Formulario creación Juego

Formulario de Creación

Formulario con validación de jugadores autenticados con google, esta validación incluye notificación de jugadores requeridos y no admite el registro del juego hasta no seleccionar mínimo dos jugadores.

Lista de juegos

Detalle de Juegos Creados

Listado de juegos por jugador con el detalle del juego, se usa MongoDB para guardar la información asociada a cada juego. Internamente se realiza una validación por el uid del jugador para mostrar unicamente los juegos en los que esta presente.

Tablero de Juego

Tablero para poner cartas de apuesta (tapa cerrada), validación de apuestas y puntaje de las cartas del tablero (tapa abierta), asignación de cartas a ganador y toma de decisiones lógicas. Se utiliza RabbitMQ para la comunicación entre los jugadores.

Acumulación y Puntaje Histórico

Detalle de puntuación acumulada en el juego y puntaje histórico acumulado del jugador, se utiliza el servicio de Firebase DataBase para guardar la información asociada a las puntuaciones de cada jugador autenticado en la plataforma.

Administración de Contenedores

Uso de Docker para la creación y administración de contenedores para la base de datos MongoDB y el broker de mensajería RabbitMQ.

Conocimientos y aptitudes:

  • Angular JS
  • Arquitectura DDD (Domain Driven Design)
  • Consumo de API Reactiva
  • Imágenes y contenedores en docker
  • Mensajería instantánea con RabbitMQ
  • Base de datos NoSQL MongoDB