PROJECT / mini-projects
mini-projects — Lab de patrones backend
Laboratorio incremental de patrones de backend y sistemas distribuidos: un proyecto numerado por vez, cada uno spec-driven, de fundamentos de diseño a microservicios event-driven con observabilidad completa.
Problema
Los patrones de diseño y los sistemas distribuidos se entienden de verdad implementándolos, no leyéndolos. Faltaba un espacio ordenado para construirlos de a uno, sin mezclar todo en un repo caótico.
Qué hice
Proyecto 01 (completo): una interfaz uniforme EmailSender sobre proveedores SMTP/File/Null, con decoradores de logging, retry y circuit-breaker, más una máquina de estados Closed → Open → Half-Open. Proyecto 02 (en curso): microservicios de órdenes event-driven con RabbitMQ, sagas y observabilidad completa (Prometheus, Grafana, tracing con Jaeger). Todo sobre Bun + TypeScript + Fastify, con Zod, Vitest y Biome, y Docker Compose para dev local.
Destacados
- Patrones Adapter + Decorator + máquina de estados de circuit-breaker (proyecto 01, completo).
- Microservicios de órdenes event-driven con RabbitMQ y sagas (proyecto 02, en curso).
- Observabilidad de extremo a extremo: métricas con Prometheus/Grafana y tracing con Jaeger.
- Cada proyecto spec-driven, con Docker Compose para levantar el entorno local.
Stack
- Bun
- TypeScript
- Fastify
- Zod
- RabbitMQ
- Prometheus
- Grafana
- Jaeger
- Docker
Links
—