Demo de juego de cartas de superhéroes online (unicamente web).
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 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.
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 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.
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