Curso en progreso - Actualizado cada fin de semana

Curso Gamificado de
Spring Boot con Kotlin

Aprende Spring Boot, buenas prácticas y arquitectura con TDD en una experiencia única. Vive una historia gamificada inspirada en Pokémon, resolviendo retos reales de hotelería y ecommerce.

Spring Boot 3.x Kotlin TDD MVC Architecture Docker CI/CD
🎮

Progreso del entrenamiento

"Conviértete en un maestro desarrollador"

Nivel actual LVL 5
Progreso 5 / 13 semanas

5

Completadas

8

Pendientes

Versión actual: v0.0.3

🗓 Roadmap semanal (13 semanas)

🌱
Semana 1 M0 - Inicio

Inicio y versión base

19 Oct 2025

Completada
🗄️
Semana 2 M1 - Persistencia

Persistencia y configuración

26 Oct 2025

Completada
🗄️
Semana 3 M1 - Persistencia

Perfiles, Gradle y Sentry

2 Nov 2025

Completada
🔐
Semana 4 M2 - Seguridad

Jakarta Validation + manejo de errores

9 Nov 2025

Completada
🔐
Semana 5 M2 - Seguridad

Spring Security + JWT

16 Nov 2025

Completada
🧪
Semana 6 M3 - Testing

Tests con Testcontainers

Próximamente

Pendiente
🧪
Semana 7 M3 - Testing

OpenAPI/Swagger + Sentry en tests

Próximamente

Pendiente
🚀
Semana 8 M4 - Producción

Actuator y empaquetado

Próximamente

Pendiente
🚀
Semana 9 M4 - Producción

CORS, rate limiting y monitoreo

Próximamente

Pendiente
Semana 10 M5 - Avanzado

Eventos de dominio + RabbitMQ/Kafka

Próximamente

Pendiente
Semana 11 M5 - Avanzado

Gradle avanzado + JWT reforzado

Próximamente

Pendiente
🏆
Semana 12 M6 - Release

Integración final

Próximamente

Pendiente
🏆
Semana 13 M6 - Release

CI/CD y release final

Próximamente

Pendiente

⚠️ Consulta el Project Board de GitHub para actualizaciones de calendario y cambios importantes

¿Qué es este curso gamificado?

Este curso online de Spring Boot es una experiencia educativa innovadora que combina el aprendizaje técnico con una narrativa gamificada inspirada en Pokémon. Aprenderás arquitectura MVC, TDD y buenas prácticas de desarrollo resolviendo retos reales de hotelería y ecommerce.

Ideal para desarrolladores que buscan dominar Java backend y destacar en la industria. No es un tutorial de "Hello World" — es construcción de sistemas reales con restricciones reales.

¿Por qué gamificar?

  • Crear una experiencia inmersiva que motive a avanzar y superar desafíos
  • Fomentar la curiosidad y el deseo de "capturar" nuevos conocimientos
  • Usar una narrativa conocida para facilitar la conexión emocional
  • Incentivar la colaboración y competencia sana dentro de la comunidad

"Aprender es una aventura, y cada línea de código es un paso hacia convertirte en un maestro desarrollador."

🏆 Beneficios del curso

Todo lo que necesitas para convertirte en un desarrollador backend de nivel medio-senior

🏗️

Arquitectura MVC

Diseño desacoplado con capas y features. Tu lógica de negocio sin depender de Spring.

🧪

TDD real

Red → Green → Refactor con Testcontainers. Tests que prueban comportamiento, no implementación.

🔐

Spring Security

JWT, roles, CORS y rate limiting bien configurados para producción real.

🚀

Deploy real

Actuator, Docker, CI/CD con cobertura >85% y monitoreo con Sentry.

📡

Mensajería

Eventos de dominio, Kafka/RabbitMQ y caching con Spring Cache.

🏨

Casos reales

Hotelería y ecommerce: reservas, inventario, pagos y flujos complejos del mundo real.

🏨

La Historia de Kai y el Hotel Pokémon

Kai es un desarrollador junior con ganas de convertirse en un ingeniero de software completo. Sabe programar lo básico, pero necesita contexto: problemas reales donde las herramientas cobran sentido.

"La mejor forma de aprender es construyendo soluciones que reflejen el mundo real."

Los Seis Gimnasios

💎

Gimnasio 1

Pewter

Líder

Brock

Insignia

Boulder Badge

Los cimientos de la persistencia. Antes de construir cualquier otra cosa, el Hotel Pokémon necesita guardar datos correctamente.

Temas
  • Mapeo de entidades JPA con Kotlin
  • Relaciones reales: @OneToMany, @ManyToOne
  • Migraciones con Flyway
  • Spring Data JPA y Patrón Port-Adapter
  • Optimistic locking para concurrencia

Gimnasio 2

Vermilion

En progreso
Líder

Lt. Surge

Insignia

Thunder Badge

El escudo eléctrico. Team Rocket ha intentado entrar al sistema. Es hora de blindar el Hotel Pokémon con seguridad robusta.

Temas
  • Spring Security con Kotlin DSL
  • Autenticación stateless con JWT
  • Access tokens + Refresh tokens
  • Autorización basada en roles
  • Protección contra ataques comunes
🌊

Gimnasio 3

Cerulean

Líder

Misty

Insignia

Cascade Badge

La disciplina de la precisión. Un sistema que acepta datos inválidos es un sistema que miente sobre su propio estado.

Temas
  • Bean Validation con anotaciones
  • Validación a nivel de clase
  • Manejo estructurado de errores
  • Excepciones de dominio
  • Transacciones con @Transactional
🌱

Gimnasio 4

Celadon

Líder

Erika

Insignia

Rainbow Badge

El arte del testing. El código sin tests no es código terminado, es deuda técnica disfrazada de progreso.

Temas
  • Unit tests con MockK
  • Tests de controlador con @WebMvcTest
  • Tests de integración con Testcontainers
  • Tests E2E con @SpringBootTest
  • Cobertura con JaCoCo y TDD
🌋

Gimnasio 5

Cinnabar

Líder

Blaine

Insignia

Volcano Badge

Ver para operar. Un sistema que no puede ser observado no puede ser operado. Solo puedes arreglar lo que puedes ver.

Temas
  • Logging estructurado en JSON
  • Métricas con Micrometer + Prometheus
  • Spring Actuator endpoints
  • Distributed Tracing con OpenTelemetry
  • Sentry para error tracking
🌍

Gimnasio 6

Viridian

Líder

Giovanni

Insignia

Earth Badge

La automatización total. El código que no está en producción no entrega valor. Pipelines que detectan bugs automáticamente.

Temas
  • Docker y Docker Compose
  • GitHub Actions CI/CD
  • Análisis estático con Detekt
  • KTLint y Conventional Commits
  • Estrategia de branching

¡Ayuda a que este curso llegue a más personas!

Tu ⭐ en GitHub ayuda a que más desarrolladores descubran este curso gratuito. Cada estrella cuenta y nos motiva a seguir creando contenido de calidad.

El repositorio es público. Clona, forkea, abre un PR y forma parte de la comunidad.

¡Únete a la aventura! 🎮

Únete a la wiki, descarga el código, participa en retos semanales y ayuda a otros. La comunidad está creciendo y hay un lugar para ti.

Unirse a la comunidad