1. Casos de Estudio
Análisis detallado de proyectos reales con todas las decisiones técnicas, arquitectónicas y de diseño justificadas.
Cada caso de estudio documenta el contexto, las decisiones tomadas y las lecciones aprendidas.
1.1 📖 ¿Qué es un Caso de Estudio?
Un caso de estudio es un análisis profundo de un proyecto real que documenta:
- Contexto del negocio: Qué necesita el cliente y por qué
- Decisiones técnicas: Elección de lenguajes, frameworks y herramientas
- Decisiones arquitectónicas: Patrones, estructura y organización
- Justificación: Por qué se tomó cada decisión (trade-offs, alternativas consideradas)
- Lecciones aprendidas: Qué funcionó, qué no, y qué se haría diferente
1.2 🎯 Objetivo de esta Sección
Los casos de estudio sirven para:
- Aprender de la experiencia: Ver cómo se aplican los conceptos de la guía en proyectos reales
- Justificar decisiones: Entender el razonamiento detrás de cada elección técnica
- Evitar errores: Conocer los problemas encontrados y cómo se resolvieron
- Inspirar soluciones: Usar estos casos como referencia para proyectos similares
1.3 📚 Casos de Estudio Disponibles
-
Portafolio Personal con TypeScript, Angular y SQLite
- Stack: TypeScript, Angular, SQLite
- Conceptos: Arquitectura Hexagonal, Screaming Architecture, i18n, Design System
- Decisiones clave: Por qué TypeScript sobre JavaScript, Angular sobre React, SQLite sobre PostgreSQL
- Artefactos: ADRs, Decision Journal, Pre-Mortem
-
Diario Digital de Emociones (Mood Tracker)
- Stack: FastAPI, React/Next.js, PostgreSQL + TimescaleDB, OAuth 2.0
- Conceptos: 3 Modelos de Emociones (Ekman, Plutchik, PAD), ML (K-Means), Visualizaciones 3D, Series Temporales
- Decisiones clave: Por qué 3 modelos, PostgreSQL + TimescaleDB sobre MongoDB, FastAPI sobre Django, Wizard multinivel
- Artefactos: ADRs, JTBD, North Star Metric, Pattern Analysis
-
Voice Volume Tracker para Windows
- Stack: C# + .NET 8, WPF, NAudio, ML.NET/ONNX, Windows Service
- Conceptos: Speaker Verification (ML), Procesamiento de Audio en Tiempo Real, FSM (Finite State Machine), DirectX Overlay
- Decisiones clave: C# sobre Python/Electron, SpeechBrain ECAPA-TDNN, Arquitectura Hexagonal, Encriptación AES-256
- Artefactos: ADRs, Property-Based Testing, Performance Profiling, Anti-patrones documentados
- Partes: Parte 1 (Arquitectura) | Parte 2 (ML y Alertas) | Parte 3 (Seguridad)
-
Alarma por Ubicación (Geofencing Alarm)
- Stack: Flutter, Kotlin/Swift (Nativo), SQLite, AWS Serverless
- Conceptos: Foreground Services, FSM (Máquina de Estados), Optimización de Batería, Offline-First
- Decisiones clave: Híbrido Optimizado (Flutter UI + Core Nativo), Muestreo Adaptativo de GPS, Arquitectura Hexagonal
- Artefactos: ADRs, Circuit Breaker Fallback, Pre-Mortem
1.4 🔗 Relación con otros Capítulos
Los casos de estudio integran conceptos de múltiples capítulos:
| Concepto | Capítulo de Referencia |
|---|---|
| Arquitectura Hexagonal | 06 - Arquitectura y Patrones |
| Screaming Architecture | 06 - Arquitectura y Patrones |
| ADR (Architecture Decision Record) | 34 - Plantillas y Artefactos |
| Decision Journal | 34 - Plantillas y Artefactos |
| Pre-Mortem | 34 - Plantillas y Artefactos |
| i18n/l10n | 29 - Convenciones |
| Design System | 17 - Mobile, UI y UX |
| Defensive Programming | 09 - Seguridad |
| TDD/BDD | 03 - Disciplinas de Desarrollo |
1.5 📝 Cómo Leer un Caso de Estudio
Cada caso de estudio sigue esta estructura:
- Resumen Ejecutivo: Vista rápida del proyecto y tecnologías
- Contexto del Cliente: Qué necesita y por qué
- Decisiones de Tecnología: Stack elegido con justificación
- Decisiones de Arquitectura: Patrones y estructura
- Decisiones de Diseño (UX/UI): Interfaz y experiencia de usuario
- Requisitos No Funcionales: Seguridad, performance, calidad
- ADRs: Decisiones arquitectónicas documentadas
- Lecciones Aprendidas: Qué funcionó y qué no
- Métricas de Éxito: Cómo se midió el resultado
1.6 🎓 Casos de Estudio Futuros
Próximos casos de estudio planificados:
- E-commerce con Microservicios (Node.js, React, PostgreSQL, Redis)
- API REST con Clean Architecture (Python, FastAPI, MongoDB)
- Aplicación Mobile Multiplataforma (React Native, Firebase)
- Dashboard de Analytics en Tiempo Real (Vue.js, WebSockets, InfluxDB)
- Sistema de Gestión de Inventario (Java, Spring Boot, MySQL)
1.7 🤝 Contribuir con un Caso de Estudio
Si tienes un proyecto que quieres documentar como caso de estudio:
- Usar la plantilla: Seguir la estructura definida arriba
- Documentar decisiones: Incluir ADRs y justificaciones
- Agregar diagramas: Arquitectura, flujos, modelos de datos
- Incluir código relevante: Snippets que ilustren decisiones clave
- Compartir lecciones: Qué funcionó, qué no, y por qué