Skip to content
Arturo Lopez edited this page Apr 8, 2026 · 7 revisions

API REST con Spring Boot + Kotlin — Hotel Pokémon

Este curso está diseñado para quienes realmente leen, piensan y están dispuestos a investigar por sí mismos. No es un video curso o tutorial tradicional de "mira y aprende": aquí nos enfocaremos en contenido de calidad, orientado a resolver problemas reales.

El ritmo será lento, los conceptos pueden ser desafiantes y requerirán esfuerzo, pero si te comprometes, el aprendizaje será profundo y duradero. Yo pondré todo mi empeño en guiarte, explicarte con claridad y ofrecerte herramientas para que avances más allá de lo superficial.

¡Bienvenido a tu misión en este curso!

Eres Kai, un desarrollador junior contratado para construir el backend del Hotel Pokémon — un sistema de gestión hotelera donde entrenadores del mundo entero llegan con sus Pokémon a descansar, reservar habitaciones y contratar amenities. Tu objetivo: construir una API REST robusta, segura y observable que soporte desde la disponibilidad de habitaciones hasta la autenticación con roles (TRAINER, GYM_LEADER, PROFESOR_OAK).

Este curso no es teórico: cada módulo es un desafío real donde resolverás problemas concretos — evitar sobre-reservas, proteger endpoints con JWT, detectar errores antes de que lleguen a producción. Usarás Spring Boot + Kotlin y seguirás buenas prácticas desde el primer día.


La Ruta de los Seis Gimnasios

El curso está organizado en seis fases, cada una dominada por un Líder de Gimnasio:

Kai (novato)
    │
    ▼
💎 PEWTER     → Persistencia: JPA, Flyway, relaciones, queries
    │
    ▼
⚡ VERMILION  → Seguridad: JWT, Spring Security, RBAC
    │
    ▼
🌊 CERULEAN   → Validaciones y manejo de errores (RFC 7807)
    │
    ▼
🌱 CELADON    → Testing: Unit, Integration (Testcontainers), E2E
    │
    ▼
🌋 CINNABAR   → Observabilidad: Logs, Métricas, Sentry, Actuator
    │
    ▼
🌍 VIRIDIAN   → CI/CD: Docker, GitHub Actions, Detekt, KTLint
    │
    ▼
🏆 LIGA       → Proyecto integrador completo

¿A quién va dirigido?

  • Juniors que quieren salir del "Hola Mundo" y construir APIs profesionales.
  • Desarrolladores con base en Java que quieren migrar a Kotlin y Spring Boot.
  • Cualquier curioso que quiera aprender con un proyecto que simula problemas reales.

Requisitos previos (deseables):

  • Conocimientos básicos de programación (variables, loops, POO).
  • No necesitas ser experto.

¿Qué lograrás al terminar?

  • ✅ API REST profesional organizada por features con capas claras (Controller → Service → Repository).
  • ✅ Sistema hotelero completo: habitaciones, reservas, usuarios y amenities.
  • ✅ Seguridad robusta con JWT y roles definidos.
  • ✅ Documentación interactiva con Swagger.
  • ✅ Tests en pirámide: unit, integración con Testcontainers, E2E.
  • ✅ Observabilidad: logs estructurados, métricas con Micrometer, Sentry.
  • ✅ Pipeline CI/CD con GitHub Actions.

¿Por qué este curso es distinto?

  • Nada de ejemplos abstractos: cada ejercicio resuelve un problema del Hotel Pokémon.
  • Kotlin desde el minuto 1: código más seguro y legible que con Java.
  • Arquitectura honesta: empezamos con Hexagonal, la migramos a MVC por features, y aprendemos por qué cada decisión importa.
  • Toque lúdico con propósito: Pokémon hace memorable lo abstracto — "Lt. Surge exige JWT" se recuerda mejor que "Fase 2: Autenticación".

Este wiki está organizado para onboarding rápido, profundidad técnica y evolución sostenible. Incluye snippets de código, patrones de diseño y una ruta clara de aprendizaje.

Metodología:

  • Teoría mínima "just-in-time".
  • Ejercicios guiados y desafíos por gimnasio.
  • Proyecto integrador (Hotel Pokémon).
  • Recursos: plantillas, diagramas, ejemplos Kotlin completos.

Clone this wiki locally