Skip to main content

Frontend CRM (backoffice)

Aplicación web de agentes del CRM de mensajería. Está construida con Angular 18 (basada en NgModules; solo unos pocos componentes del chat son standalone), NgRx para el estado global y Socket.IO para el tiempo real. El paquete se llama backoffice (package.json, angular.json).

:::info Rama documentada Esta documentación describe la rama feat/meta_connections, que respecto a main habilita el canal Instagram en Conexiones (OAuth de Meta, ajustes y reautorización), añade el estado de mensaje failed (con motivo traducido), enlaces clicables en mensajes y el aviso de expiración del acceso. Ver Conexiones Meta. :::

Stack​

TecnologíaVersión (package.json)Uso
Angular (@angular/core)^18.2.0Framework; módulos NgModule con carga perezosa
TypeScript~5.5.4strict y strictTemplates activados
NgRx (store, effects, store-devtools)^18.0.2Estado global (8 slices)
RxJS~7.8.1Servicios reactivos y sockets
socket.io-client^4.8.3Tiempo real (namespace /chat)
@ngx-translate/core^15.0.0i18n (es, en)
Bootstrap5.3.3Estilos base
@ng-bootstrap/ng-bootstrap^17.0.0Modales, dropdowns, tooltips
@ng-select/ng-select^13.0.0Selects múltiples
@swimlane/ngx-datatable^20.1.0Tablas
ngx-toastr^16.0.1Notificaciones
secure-web-storage + crypto-js^1.0.2 / ^4.2.0Sesión cifrada en localStorage
node-forge^1.3.1Cifrado con clave pública RSA
Karma + Jasmine~6.4.0 / ~4.3.0Tests unitarios

Mapa de la documentación​

SecciónContenido
ArquitecturaEstructura de carpetas, arranque, módulos core / shared / features
Rutas y layoutsÁrbol de rutas, módulos lazy, guards por ruta
Estado (NgRx)Slices, acciones y efectos
ServiciosServicios de API y de UI
Auth, interceptores y RBACSesión, headers, errores HTTP, permisos
SocketsEventos de chat, chat interno, WhatsApp
Frame / iframeModo embebido con postMessage
Widget de chat webProyecto aparte: widget embebible para sitios de clientes (no es este iframe)
i18n y temaTraducciones, idioma del tenant, tema
CompartidoComponentes, directivas, pipes y helpers
FeaturesUn resumen por módulo de negocio, incluido el chat
Conexiones MetaFeature con mayor profundidad: Instagram, WhatsApp, Web, estado failed
LibreríasDependencias de package.json, dónde se usan y cuáles están sin uso
EntornosClaves de environment.*
Build y despliegueDocker, nginx, CI
Testing y calidadKarma, hooks de Git, gitleaks

Relación con el backend​

El frontend consume la API REST bajo environment.apiUrl y el socket bajo environment.socketUrl. Los módulos del backend relacionados con la rama son Meta, Connection, WhatsApp y Message.