Módulo 8: Proyecto Integrador — Test Suite Completa con TDD
Módulo 8: Proyecto Integrador — Test Suite Completa con TDD
Módulo 8: Proyecto Integrador — Test Suite Completa con TDD
Descripción de la cápsula
Este es el módulo final. Todo lo que aprendiste en los módulos 1-7 converge aquí: construirás una aplicación completa desde cero usando 100% TDD con Claude Code. Cada feature empieza como un test, Claude Code implementa, CI valida, y al final tienes una aplicación funcional con test suite profesional.
No es un ejercicio de práctica — es tu evidencia de dominio. El repositorio que produzcas demuestra una habilidad profesional que la mayoría de developers no tienen: construir software con TDD asistido por AI. Es tu pieza de portfolio.
La aplicación en sí es intencionalmente simple (API REST con auth, CRUD, business logic). Lo valioso no es la complejidad de la app — es el proceso TDD que la construyó, la test pyramid que la respalda, y el CI pipeline que la protege.
Contexto del Módulo
¿Dónde estamos?
Este es el Módulo 8 — final de la guía.
Todo lo que dominas:
- ✅ Spec-first methodology (Módulo 1)
- ✅ Unit tests con Claude Code (Módulo 2)
- ✅ Integration y E2E tests (Módulo 3)
- ✅ TDD workflow completo (Módulo 4)
- ✅ Coverage ≥90% y edge cases (Módulo 5)
- ✅ Mocking, fixtures, validation loops (Módulo 6)
- ✅ CI con GitHub Actions (Módulo 7)
Lo que falta: Integrar todas las piezas en un proyecto real de principio a fin.
Tu trayectoria
Phase 1: ✅ Fundamentos
Spec-first → Unit tests → Test pyramid
Phase 2: ✅ Workflows
TDD workflow → Coverage → Mocking → Validation loops
Phase 3: Proyecto Final
CI ✅ → Módulo 8: ← ESTÁS AQUÍ — Proyecto integrador
Objetivo Profesional
Construir una aplicación completa con test suite profesional usando 100% TDD con Claude Code, demostrando dominio de todo el workflow.
Al final de este módulo tendrás:
- ✅ Una aplicación funcional construida con TDD
- ✅ Test pyramid completa: unit + integration + E2E
- ✅ Coverage ≥90% con edge cases cubiertos
- ✅ Mocks para servicios externos
- ✅ CI pipeline funcional en GitHub Actions
- ✅ Un repositorio que sirve como portfolio
Progresión del Módulo
Mapa del Módulo
| Cápsula | Tema | Qué harás |
|---|---|---|
| 02 | Planning spec-first | Diseñar la app, definir features como user stories, decomponerlas en tests |
| 03 | Core features con TDD | Construir auth y CRUD usando ciclos TDD con Claude Code |
| 04 | Business logic y edge cases | Implementar lógica de negocio, coverage ≥90%, edge cases |
| 05 | Mocks, fixtures, CI | Agregar mocks para servicios, fixtures profesionales, CI pipeline |
| 06 | Entrega y retrospectiva | Documentación final, validación del proyecto, retrospectiva del aprendizaje |
Flujo de desarrollo
Semana 1 (cápsulas 02-03): Planificar y construir el core de la aplicación con TDD.
Semana 2 (cápsulas 04-06): Completar business logic, agregar mocking/CI, documentar y entregar.
La Aplicación
TaskFlow API — Gestor de Tareas con Equipos
Una API REST para gestión de tareas en equipo. Lo suficientemente compleja para requerir tests en múltiples niveles, pero completable en ~2 horas con TDD + Claude Code.
Features:
- Autenticación: Registro, login, tokens
- Equipos: Crear equipo, agregar miembros
- Tareas: CRUD con asignación a miembros, prioridades, estados
- Business logic: Transiciones de estado válidas, permisos por rol, estadísticas de equipo
- Filtrado: Tareas por estado, prioridad, asignee
Stack
- Python 3.11+
- FastAPI
- pytest, pytest-cov, pytest-mock, hypothesis
- GitHub Actions
Estructura
taskflow/
├── .github/
│ └── workflows/
│ └── tests.yml
├── app/
│ ├── __init__.py
│ ├── main.py
│ ├── models.py
│ ├── auth/
│ │ ├── __init__.py
│ │ ├── service.py
│ │ └── utils.py
│ ├── teams/
│ │ ├── __init__.py
│ │ └── service.py
│ └── tasks/
│ ├── __init__.py
│ ├── service.py
│ └── rules.py
├── tests/
│ ├── conftest.py
│ ├── unit/
│ │ ├── conftest.py
│ │ ├── test_auth.py
│ │ ├── test_teams.py
│ │ ├── test_tasks.py
│ │ └── test_rules.py
│ ├── integration/
│ │ ├── conftest.py
│ │ ├── test_auth_endpoints.py
│ │ ├── test_team_endpoints.py
│ │ └── test_task_endpoints.py
│ └── e2e/
│ ├── conftest.py
│ └── test_flows.py
├── requirements.txt
├── pyproject.toml
└── README.md
Conexión con Todo lo Aprendido
| Módulo | Cómo lo usas aquí |
|---|---|
| M1: Spec-first | Planificas features como tests antes de implementar |
| M2: Unit tests | Tests de funciones aisladas (auth, rules, validators) |
| M3: Test pyramid | Tests en 3 niveles: unit, integration, E2E |
| M4: TDD workflow | Cada feature se construye con ciclos red-green-refactor |
| M5: Coverage | Target ≥90% con edge cases y property tests |
| M6: Mocking | Mocks para servicios externos, fixtures en conftest.py |
| M7: CI | Pipeline en GitHub Actions que corre toda la suite |
Límites: Qué NO Se Hará
- ❌ Frontend — Solo API REST
- ❌ Database real (PostgreSQL) — Usamos in-memory para simplificar
- ❌ Deploy a producción — CI pero no CD
- ❌ Microservicios — Una sola aplicación monolítica
- ❌ Autenticación OAuth/SSO — Solo username/password con tokens simples
Evidencia de Éxito
Al terminar este módulo, sabrás que tuviste éxito si:
- ✅ La aplicación funciona: puedes register, login, crear equipos, y gestionar tareas
- ✅ La test suite tiene tests en 3 niveles (unit, integration, E2E)
- ✅ Coverage ≥90% line coverage
- ✅ CI pipeline corre exitosamente en GitHub Actions
- ✅ El proceso TDD está documentado (ciclos, spec refinement, decisiones)
- ✅ El repositorio es presentable como pieza de portfolio
Resumen
- ✅ Este es el proyecto final que integra todos los módulos de la guía
- ✅ Construirás una API REST completa usando 100% TDD con Claude Code
- ✅ La aplicación tiene auth, equipos, tareas, y business logic
- ✅ La test suite tiene tests en 3 niveles con ≥90% coverage
- ✅ CI pipeline en GitHub Actions protege cada push
- ✅ El repositorio es tu evidencia de dominio y pieza de portfolio
Próxima cápsula: Planning Spec-First — diseñar la aplicación desde los tests.
Recursos Adicionales
- FastAPI Documentation - Framework para la API
- pytest Documentation - Framework de testing
- GitHub Actions - CI pipeline
- Anthropic: Claude Code - Tu asistente de implementación
- Test-Driven Development by Example - La referencia de TDD
Módulo 8 — Testing with Claude Code Guide Todo lo aprendido, un proyecto, tu portfolio