ramirocerda

PROJECT / mini-projects

mini-projects — Lab de patrones backend

Personal En progreso

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.

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.

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.

  • 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.
  • Bun
  • TypeScript
  • Fastify
  • Zod
  • RabbitMQ
  • Prometheus
  • Grafana
  • Jaeger
  • Docker