Durante todo el curso construiremos La Forja, una única aplicación que evoluciona con nosotros:
| Tema | Paso de La Forja | Herramientas del tema |
|---|---|---|
01 | La app existe antes que el código: diseñar el menú y el registro | IPO, diagramas con PlantUML, pseudocódigo |
02 | Primera versión funcional: arrays paralelos, funciones y estado compartido | Variables, IO, selección, bucles, arrays, funciones, sobrecarga |
03 | El modelo del gremio: objetos, jerarquía de héroes y forja | Clases, encapsulación, enum, herencia, polimorfismo, abstract, interfaces, equals/hashCode |
04 | La plantilla y la forja tienen techo: hay que quitarlo | List, Set, Map, Iterator, Comparable |
05 | La app tumba ante datos malos: reglas que no se rompen | Excepciones propias, try/catch, fichero de configuración |
06 | Los informes del gremio, sin bucles a mano | Stream, lambdas, Optional |
07 | Un montón de clases sin orden ni gestor | Paquetes, Maven, librería externa (Gson) |
08 | El negocio mezclado con la consola: separar en capas | Capas, DTO records, mapeadores, inyección manual |
09 | El contrato de la API, en papel | Endpoints, métodos HTTP, JSON, códigos de estado |
10 | La API en Spring Boot | @RestController, ResponseEntity, manejador global, logs |
11 | Peticiones que llegan a la vez | Pool de hilos de Tomcat, estado compartido |
12 | Acceso identificado al gremio | Tokens opacos, roles, filtro Servlet, Principal |
La práctica es material aparte de los temas de temario/: no sustituye a las explicaciones ni los ejercicios de cada tema. Los pasos se redactan en sintaxis DokuWiki y se publican junto a los temas de la web.
<note tip>Cada paso es corto y no vuelve a explicar los conceptos del tema: describe el problema, los requisitos y las pruebas; el diseño y el código los aport