Skip to content

Stack tecnologico

⚙️ Tecnologías y Estándares

A continuación se presenta el stack tecnológico recomendado junto con una breve descripción y enlaces a la documentación oficial y recursos útiles.

Capa / Componente Tecnología Descripción
Backend .NET 8, MediatR Implementación modular orientada a dominios (arquitectura limpia / DDD).
Mensajería RabbitMQ Procesamiento asíncrono de eventos y colas confiables.
Jobs Hangfire Tareas programadas y background jobs dentro del mismo ecosistema .NET.
Gateway YARP Enrutamiento y balanceo de peticiones para microservicios (reverse proxy).
Seguridad Keycloak Gestión de identidad y autorización (OpenID Connect / OAuth2).
Persistencia PostgreSQL, MongoDB Bases de datos relacional (Postgres) y documental (MongoDB) según necesidades.
Frontend React Aplicación web dinámica y componentes reutilizables.
Notificaciones SignalR / WebSockets Comunicación en tiempo real entre cliente y servidor.
Almacenamiento Firebase Storage Almacenamiento de archivos multimedia y comprobantes.
Despliegue Docker / CI-CD Contenerización e integración/despliegue continuo (pipelines).

Documentación y recursos oficiales

Aquí están las páginas oficiales (o repositorios/documentación principal) para cada tecnología, con una breve nota de uso:

  • .NET (Microsoft) — Documentación oficial y guías de migración / novedades para .NET 8:
  • https://learn.microsoft.com/dotnet/
  • Nota: usar SDK .NET 8 y seguir recomendaciones de rendimiento y publicación.

  • MediatR — Biblioteca para patrones mediator en .NET (CQRS, separación de concerns):

  • https://github.com/jbogard/MediatR

  • RabbitMQ — Documentación oficial del broker de mensajería:

  • https://www.rabbitmq.com/

  • Hangfire — Framework para background jobs en .NET:

  • https://www.hangfire.io/

  • YARP (Yet Another Reverse Proxy) — Proxy reverso de Microsoft para .NET:

  • https://microsoft.github.io/reverse-proxy/

  • Keycloak — Servidor de identidad y gestión de accesos (OpenID/OAuth2):

  • https://www.keycloak.org/

  • PostgreSQL — Documentación oficial de la base relacional:

  • https://www.postgresql.org/docs/

  • MongoDB — Documentación oficial de la base documental:

  • https://www.mongodb.com/docs/

  • React — Documentación y guía oficial (sitio principal de React):

  • https://react.dev/

  • SignalR (ASP.NET Core) — Soporte de comunicación en tiempo real:

  • https://learn.microsoft.com/aspnet/core/signalr/

  • WebSockets (MDN) — Referencia general sobre la API WebSockets en navegadores:

  • https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API

  • Firebase Storage — Guía para almacenamiento de archivos en Firebase:

  • https://firebase.google.com/docs/storage

  • Docker — Documentación oficial para contenedores y mejores prácticas:

  • https://docs.docker.com/

  • CI/CD (ejemplo: GitHub Actions) — Documentación de pipelines e integración continua:

  • https://docs.github.com/actions

Notas de integración rápida

  • Autenticación/Autorización: integrar aplicaciones con Keycloak usando OIDC/OAuth2; para APIs .NET usar middleware de autenticación JWT.
  • Mensajería: usar RabbitMQ con exchanges y routing adecuados; considerar patrones de retry y DLQ.
  • Jobs: emplear Hangfire para procesos que deban ejecutarse dentro del dominio .NET; para cargas masivas considerar colas externas.
  • Gateway: usar YARP para configuración dinámica de rutas y balanceo entre servicios.
  • Persistencia: preferir PostgreSQL para datos transaccionales y MongoDB para datos flexibles/documentales.
  • Observabilidad: instrumentar con logs estructurados, métricas (Prometheus) y trazas distribuidas (OpenTelemetry).

Tutoriales y guías recomendadas

Enlaces prácticos para aprender e implementar las piezas clave del stack:

  • Docker + .NET (Best practices): https://docs.docker.com/samples/dotnet/
  • Docker + React (multi-stage build): https://nodejs.org/en/docs/guides/nodejs-docker-webapp/
  • GitHub Actions: guías oficiales y ejemplos: https://docs.github.com/actions
  • CI/CD para .NET con GitHub Actions: https://learn.microsoft.com/dotnet/architecture/modernize-with-azure-containers/ci-cd-github-actions
  • YARP examples & getting started: https://microsoft.github.io/reverse-proxy/articles/getting-started.html
  • Keycloak quickstarts: https://www.keycloak.org/getting-started
  • RabbitMQ tutorials: https://www.rabbitmq.com/getstarted.html
  • Hangfire quickstart (.NET): https://docs.hangfire.io/en/latest/getting-started.html
  • Firebase Storage guides: https://firebase.google.com/docs/storage
  • Observabilidad con OpenTelemetry (.NET): https://opentelemetry.io/docs/instrumentation/net/