webreactiva-devs / backend-de-la-suerte

Desafío de programación en pantuflas
6 stars 7 forks source link

Reto 2 y 3 - Supabase - Gabriel Martínez #15

Open webbri opened 2 years ago

webbri commented 2 years ago

Esta es mi entrega para los retos 2 y 3 del Backend de la suerte. Para no extenderme mucho aquí he generado un Readme donde explico como he montado toda la estructura el Backend y la pequeña aplicación de React para poder interactuar.

El front no está muy limpio y se puede mejorar mucho, pero no he podido dedicarle más tiempo. Si puedo lo iré mejorándolo.

Resumen

La idea para este segundo reto ha sido ir ampliando la aplicación que empecé en el reto 1. Ahora ya tenemos una aplicación más completa, pero con la idea de que siga siendo un cliente tonto y que el contenido y las configuraciones principales vengan del Backend.

El desarrollo es simple, te registras como un minero (usuario y contraseña) y vas picando (eligiendo) diferentes items hasta que das con el codiciado oro 👑 . Cada nivel que 'picas' te lleva a descubrir nuevos items. Finalmente encuentras la ansiada recompensa y aparece un resumen del itinierario (items escogidos) que has realizado.

El número de items a picar está predefinido en el backend como se pedía y es fijo para todas las partidas.

Las decisiones no son relevantes, puesto que cuando se elige un item, se almacena como que se ha realizado la acción de picar y se guarda el registro. Independientemente del camino elegido siempre se llega al mismo final.

Los items que se muestran en cada nivel de profundidad (cada vez que se pica) son configurables desde el Back y el texto que aparece en cada nivel también.

Cada vez que se pica se comprueba el número de registros almacenados y se comprueba si se ha llegado al máximo de la partida.

 Respuestas al desafío

Todo comienza con el registro de un nuevo minero, se recogen sus datos (usuario/contraseña) para registrarlo como usuario en la plataforma y así obtener la uuid para ese minero.

Seguidamente con la id del minero se genera una nueva partida. La tabla Partidas es la que guarda la configuración global de las partidas. En cada registro que se añade a la partida hay una serie de valores de configuración por defecto, como el número máximo de items a picar, la categoría final... etc.

De esta forma el número de veces que se pica queda predefinido en el backend.

Cada vez que se pica se registra en la tabla Intentos asociados a la partida.

Se registra el timestamp del instante en el que se ha picado. Se va comprobando el número de registros para esa partida cada vez que se pica con los predefinidos en la configuración de la partida (tabla Partidas). Una vez que se llega al final, se muestra el resumen de la partida, con los items elegidos y la opción de volver a empezar.

delineas commented 2 years ago

Muchas gracias por participar en el desafío y por tu tiempo y esfuerzo 🥳

Mañana nos juntamos a las 19:00 para ver vuestras soluciones en directo. Basta que vengas con un micro que funcione y dispuesto a compartir lo aprendido con el calor y la compañía de los malandriners.

El sorteo de cosas lo haremos en el directo y tendrás 4 puntazos más por presentar ;)

Aúpa!!