# Cómo construí este portfolio
## Decisiones de arquitectura
Este portfolio no es solo una web más - es una demostración práctica de arquitectura limpia, Domain-Driven Design (DDD) y principios SOLID aplicados con Symfony.
### ¿Por qué arquitectura hexagonal?
La arquitectura hexagonal (también conocida como Ports & Adapters) me permite:
- **Separar claramente** el dominio del negocio de los detalles técnicos
- **Hacer el código testeable** sin depender de frameworks externos
- **Facilitar el mantenimiento** y la evolución del código
- **Demostrar expertise** en arquitecturas avanzadas
### Stack técnico elegido
- **PHP 8.1+** con todas las funcionalidades modernas
- **Symfony 6.4** como framework web
- **Twig** para templating limpio y mantenible
- **JSON files** como persistencia (simple pero efectivo)
- **Vanilla JavaScript** (sin frameworks, código limpio)
- **CSS moderno** con Grid, Flexbox y Custom Properties
### Bounded Contexts implementados
1. **Portfolio Context**: Gestiona información personal, skills y experiencia
2. **VibeCoding Context**: Gestiona artículos técnicos y contenido
3. **Shared Kernel**: Elementos compartidos entre contextos
### Principios SOLID en acción
**Single Responsibility**: Cada clase tiene una única razón para cambiar
**Open/Closed**: Abierto para extensión, cerrado para modificación
**Liskov Substitution**: Las implementaciones son intercambiables
**Interface Segregation**: Interfaces pequeñas y específicas
**Dependency Inversion**: Dependemos de abstracciones, no de concreciones
## Conclusión
Este portfolio es tanto una carta de presentación como una demostración de código limpio y arquitectura sólida.
Cómo construí este portfolio
Del concepto a producción: arquitectura hexagonal, DDD y Symfony