-
Notifications
You must be signed in to change notification settings - Fork 0
9. Gamificando la plataforma
La gamificación con Pokémon no es decoración. Tiene un propósito pedagógico concreto:
- Hace memorable lo abstracto. "Lt. Surge exige JWT para proteger el hotel" se recuerda mejor que "Fase 2: Autenticación y Autorización".
- Reduce la fricción de aprender. Los problemas técnicos tienen contexto emocional — no son requerimientos abstractos, son amenazas concretas con nombre (Team Rocket intentó robar credenciales).
- Crea hitos de progreso tangibles. Cada Gimnasio es una insignia ganada.
El tema es Pokémon, pero la arquitectura y los problemas son los mismos que encontrarías en cualquier proyecto profesional real.
Un sistema hotelero tiene exactamente la complejidad correcta para aprender backend serio:
-
Entidades con relaciones reales: Usuarios, Habitaciones, Reservas, Servicios, Pokémons. Hay
@ManyToOne,@OneToMany, con atributos propios. - Lógica de negocio no trivial: no se puede reservar una habitación ocupada, las fechas no pueden solaparse, el precio total se calcula con reglas.
-
Múltiples roles: un
TRAINER(huésped) no puede ver reservas ajenas. UnGYM_LEADER(staff) puede cambiar estado de habitaciones. ElPROFESOR_OAK(admin) tiene acceso total. - Necesidad de observabilidad: cuando algo falla en la reserva del cliente #1847, el equipo de soporte necesita saber exactamente qué pasó y cuándo.
| Rol | Equivalente real | Permisos |
|---|---|---|
TRAINER |
Huésped / cliente | Ver y gestionar sus propias reservas |
GYM_LEADER |
Staff del hotel | Gestionar habitaciones y reservas de otros |
PROFESOR_OAK |
Administrador | Acceso total al sistema |
- Pokédex del desarrollador: mapa de progreso del curso, insignias ganadas por gimnasio.
- Hotel Pokémon de Ciudad Paleta: core del sistema — habitaciones, reservas, check-in/checkout.
- Amenities como coleccionables: sistema de servicios adicionales con lógica de desbloqueo.
- Tour Discovery: sistema de gimnasios como gamificación del aprendizaje.
- Leaderboard social: ranking de viajeros basado en actividad y reseñas.
Se integra la PokéAPI (gratuita) para:
- Asociar Pokémon compañeros a los entrenadores huéspedes.
- Tipos de habitación temáticos (FIRE, WATER, GRASS).
- Sugerencias de amenities según el tipo de Pokémon del huésped.
Esto también sirve como ejercicio real de integración con APIs de terceros, manejo de errores de red y caching de respuestas externas.
"Reserva 1 noche en una habitación tipo PLANTA → gana 50 puntos"
Aprendizaje: programación de tareas, validación de misiones como regla de negocio.
Endpoint /api/coach que sugiere itinerarios según preferencias del entrenador.
Aprendizaje: integración con APIs de IA (OpenAI o similar), diseño de prompts como lógica de negocio.
Datos de actividad física para sugerir tours ("Has caminado 10,000 pasos → desbloqueas el Tour de Senderismo de Celadon").
Aprendizaje: integración con APIs OAuth2 de terceros, datos simulados para prototipar lógica real.
- Gamificación = Engagement: plataformas con gamificación tienen mayor retención de usuarios.
- Personalización = Valor: los sistemas que adaptan su respuesta al contexto del usuario resuelven problemas más complejos.
- APIs de terceros = Realidad: ningún sistema vive aislado; aprender a integrar y manejar fallos de dependencias externas es una habilidad esencial.
El objetivo no es implementar todo esto en el curso — es aprender a pensar más allá del CRUD y ver las posibilidades que tiene un sistema bien diseñado.
© 2025 Spring Boot Course - API REST real
Desarrollado por lgzarturo
Licencia Creative Commons Attribution 4.0 International (CC BY 4.0) | Términos de Uso | Política de Privacidad
Recursos adicionales:
¿Tienes sugerencias o quieres reportar un error?
- Inicio
- Calendario de liberaciones
- Arquitectura
- Guía de Desarrollo
- Roadmap del Curso
- Testing y Calidad
- Seguridad y Flujo
- Gamificación
- Usa TDD para asegurar calidad.
- Mantén las capas desacopladas.
- Documenta tus APIs con Swagger.
- Aplica seguridad con JWT y roles.