$ cat ~/projects/bautista-misionera/README.md

Bautista Misionera

★ Destacado

Sitio web institucional con integración Ekleria

La congregación en línea: el pastor publica en Ekleria y el sitio se actualiza solo, sin CMS adicional.

Estado
En producción
Rol
Full-Stack & Arquitectura
Periodo
2025
Cliente
Iglesia Bautista Misionera de Santa Eulalia
Ver demo en vivo ↗
SSR+Pre
render: SSR + prerender estático
0
CMS adicionales necesarios
1 BFF
única puerta de entrada a Ekleria

# Resumen

bautistamisionera.com es el sitio institucional de la Iglesia Bautista Misionera de Santa Eulalia. Construido con Angular (standalone, OnPush, Signals) y renderizado en servidor con Angular SSR + prerendering de rutas estáticas para SEO óptimo. Un BFF propio (Node/Express) actúa como única puerta de entrada a la plataforma Ekleria —el SaaS de gestión de iglesias también desarrollado por FaberIT—, aplicando el patrón Gateway/Port para que ningún componente Angular llame directamente a APIs externas. El equipo pastoral gestiona eventos, noticias y ministerios desde el panel Ekleria que ya conoce; el sitio se actualiza sin tocar código.

! El problema

La iglesia necesitaba presencia digital actualizable sin personal técnico. Los CMS genéricos duplicaban el trabajo: el secretario ya registraba todo en Ekleria y luego lo repetía manualmente en el sitio. Además, un sitio puramente estático no garantizaba SEO sin SSR.

La solución

Angular SSR con prerendering de rutas estáticas resuelve el SEO sin sacrificar interactividad. Un BFF intermedio consume Ekleria y expone una API limpia al frontend, manteniendo la UI desacoplada de cualquier detalle de integración. El pastor publica en Ekleria y el sitio refleja el cambio sin intervención técnica.

# Características

Patrón Gateway/Port con Ekleria

Los componentes Angular inyectan EkleriaGateway (interface + token), nunca HttpClient directamente. El BFF es el único que habla con Ekleria, manteniendo la UI completamente desacoplada.

Angular SSR + prerendering

Rutas estáticas prerenderizadas en build; rutas dinámicas con SSR. SEO óptimo con metadatos y JSON-LD por página sin sacrificar interactividad en cliente.

BFF como capa de integración

Un servidor Node/Express intermedio agrega, transforma y cachea los datos de Ekleria antes de servirlos al frontend, protegiendo la UI de cambios en la API upstream.

Design tokens SCSS

Paleta institucional completa en tokens CSS personalizados: azul tinta, marfil y latón con reglas de uso estrictas para mantener coherencia visual.

Componentes standalone con OnPush + Signals

Toda la UI usa ChangeDetectionStrategy.OnPush y estado reactivo con signal()/computed(), sin Subjects ni BehaviorSubjects.

Contenido 100 % desde Ekleria

Eventos, cultos, ministerios y noticias se gestionan en el panel Ekleria; el sitio los refleja sin depender de un CMS adicional ni intervención técnica.

# Arquitectura

La arquitectura sigue el patrón Gateway/Port: los componentes Angular nunca hablan con Ekleria directamente, sino a través de un token de inyección (EkleriaGateway) cuya implementación real (HttpEkleriaGateway) llama al BFF propio. El BFF (Node/Express) es la única capa que se comunica con las APIs de la plataforma Ekleria, agrega y transforma los datos, y los expone como una API REST limpia al frontend. Angular SSR prerenderiza las rutas estáticas en build y sirve SSR para el resto, garantizando SEO completo.

Componentes
01 Angular (Standalone + Signals) UI con OnPush, signal()/computed() y lazy loading por ruta
02 Angular SSR + Prerender Rutas estáticas prerenderizadas en build; SSR para rutas dinámicas
03 EkleriaGateway (Port) Interface + InjectionToken que desacopla la UI de cualquier implementación HTTP
04 ibmse-bff (Node/Express) BFF intermedio: único punto de integración con Ekleria
05 Ekleria Platform APIs Fuente de datos: eventos, ministerios, noticias y miembros

# Stack técnico

Frontend
AngularStandalone ComponentsOnPushSignalsSCSS tokens
Rendering
Angular SSRPrerenderSeoServiceJSON-LD
Integración
Gateway/Port patternBFF Node/ExpressEkleria Platform API
Infra
DockerTraefikVPS FaberIT
TypeScript 72%
SCSS 20%
Otros 8%

# Aprendizajes

  • El patrón Gateway/Port no es burocracia: cuando Ekleria cambia su API, solo se toca la implementación del gateway, ningún componente de UI.
  • Angular SSR + prerendering de rutas estáticas es la combinación perfecta para sitios institucionales: SEO sin sacrificar la reactividad de Signals.
  • El BFF como capa intermedia protege al frontend de los detalles de cada integración y permite cachear, transformar y versionar sin afectar la UI.
  • El diseño con tokens SCSS y reglas de uso explícitas evita que el color institucional se desvíe con el tiempo, incluso en equipos pequeños.

# Roadmap

Formulario de contacto y oración con notificación al pastor vía Ekleria
Sección de donaciones en línea integrada con el módulo de finanzas de Ekleria
PWA con notificaciones push de cultos y eventos

¿Te sirve para tu negocio?

Esta solución se puede adaptar a tu organización. Comparte el proyecto o escríbeme para conversarlo.

Conversemos →