jedinutilitiesisustacksapaneelenergia

JedIN Utilities (IS-U) — Stack Tecnológica Completa

JedIN Team2026-04-227 min de leitura

O iPaaS Verticalizado para Utilities

O JedIN Utilities (IS-U) é o produto white-label que substitui o SAP IS-U em distribuidoras de energia brasileiras. Roda sobre o core iPaaS do JedIN e entrega portal do cliente, backoffice operacional, admin, integração SAP (4 sistemas), marketing automation e marketplace P2P de energia solar.

Este post documenta a stack técnica completa — frameworks, versões, bibliotecas, integrações e modelos de dados.


Linguagens

CamadaLinguagemVersão
FrontendTypeScript5.3
BackendTypeScript5.3
MCP ServerJavaScript ES2022Node 20
BancoSQL (Postgres + RLS)16

Frontend

Framework

TecnologiaVersãoUso
Next.js14.1App Router, SSR
React18.2UI library
Tailwind CSS3.4.1Styling
Radix UIlatestDialog, dropdown, select, toast
Lucide React0.309Ícones (Zap, Receipt, etc.)

State e Dados

  • Zustand 4.4.7 — store de carrinho persistido em localStorage (stores/isu-shop.store.ts)
  • TanStack React Query 5.17 — cache de dados do portal
  • react-hook-form 7.49 + Zod 3.22.4 — forms
  • next-intl 3.4 — i18n (pt-BR / en-US / es)
  • Socket.io-client 4.8 — notificações em tempo real

Visualização

  • Leaflet 1.9.4 + react-leaflet 4.2.1 — mapa de outages com clustering
  • Monaco Editor (integrado do Flow Designer core)

Rotas

apps/web/app/[locale]/utilities/

SeçãoPáginas
Portaldashboard, bills, consumption, tickets, services, outages, installations, shop, campaigns, notifications, tariffs, account
Backofficeatendimentos, despacho, billing ops, anexos
Admintenants, users, branding, feature flags

Hooks customizados

  • useUtilityCustomer() — session management, logout
  • useUtilityTenantConfig() — branding dinâmico (cores, menus, catálogo)

Backend

Framework

TecnologiaVersãoUso
Node.js20 LTSRuntime
NestJS10.3Framework modular
Express5.2.1HTTP adapter
Prisma5.8ORM

Módulos (17 submódulos · ~23.3K LOC)

Localização: apps/api/src/modules/utilities/

SubmóduloFunção
customerJWT customer auth (token type utility-customer), rate-limit, password reset
billingPaymentGatewayService (PIX/boleto/cartão/débito auto), ConsumptionService
service-request13 tipos (2ª via, religamento, nova ligação, transferência de titularidade…) com SLA
outageGPS auto-clustering (raio 500m) + impacto DEC/FEC
integrationSAP S/4HANA + C4C V1 + Sales Cloud V2 + Service Cloud V2 + BTP + JedIN Flow
marketingSegments, campaigns, automations, templates (estilo Emarsys)
marketplaceP2P solar trading (ANEEL REN 482/2012) + PIX mock
portalEndpoints públicos consolidados
field-crewDespacho com tracking GPS + WhatsApp/SMS
regulatoryDEC/FEC ANEEL + export CSV
notificationMulti-canal (Email / SMS / WhatsApp / Push)
tenantBranding, domínio, feature flags, catálogo de serviços
commonUtilityS3Service, UtilityPdfService, InMemoryRateLimitGuard

Async e Jobs

  • BullMQ 5.1 + @nestjs/bullmq 10 — bill generation, notification dispatch, outage grouping
  • @nestjs/schedule 4.x — SAP V2 pull scheduler (bidirectional sync)
  • ioredis 5.3.2 — cliente Redis

Libs do Backend

LibVersãoUso
pdfkit0.15.1Boleto 2ª via (barcode, linha digitável)
pdf-parse2.4.5Leitura de faturas legadas
xlsx0.18.5Export ANEEL, relatórios
qrcode1.5.4PIX QR Code
nodemailer8.0.1Emails via AWS SES
date-fns3.3Manipulação de datas de faturamento

Database (PostgreSQL 16)

Modelos Prisma (IS-U)

ModeloDescrição
UtilityCustomerCPF/CNPJ unique por tenant, social login
UtilityInstallationInstalação/medidor, tarifa, tensão
UtilityBillMês de referência (YYYY-MM), decomposição de consumo, status pagamento
UtilityServiceRequest13 tipos, SLA deadline, timeline de eventos
UtilityOutageCoordenadas GPS, clientes afetados, equipe despachada
UtilityConsumptionLeituras históricas (automática/manual/estimada)
UtilityPaymentRegistros de pagamento (PIX/boleto/cartão)
UtilityNotificationLogs de Email/SMS/WhatsApp/Push
UtilityTenantConfigBranding, cores primária/secundária, feature menus
utility_marketing_{segments,campaigns,automations,templates}Marketing automation

RLS

Isolamento tenant via tenant_id + políticas FOR ALL USING (tenant_id = current_setting('app.tenant_id')::uuid).


Integrações SAP

SistemaProtocoloService
SAP S/4HANAOData RESTSapS4IntegrationService — leituras, billing docs, master data
SAP C4C V1OData + Basic AuthSapC4cIntegrationService — service tickets bidirecional
SAP Sales Cloud V2REST + Bearer tokenSapSalesCloudV2Service — oportunidades, promoções
SAP Service Cloud V2REST + sap-c4c-rawagent headerSapServiceCloudV2Service — requests, crew assignment
SAP BTPConnection poolingBTP Adapter
JedIN Flow EngineInternal HTTPjedin-flow-executor.util

Integração bidirecional: ticket criado no portal → flow JedIN → SAP V2 Case POST (caseType ZISU).


Storage & Email

ServiçoLibUso
AWS S3@aws-sdk/client-s3 3.1001PDFs boleto, documentos, anexos de tickets
AWS SES@aws-sdk/client-ses 3.1027Emails transacionais

Auth

CamadaTecnologia
Customer JWTToken type utility-customer (via @nestjs/jwt 10.2)
StrategyPassport-JWT + Local + OAuth (reset password)
Passwordbcrypt 5.1.1
Rate limitInMemoryRateLimitGuard (3 req/min/IP)
Role guardUtilityAdminRoleGuard

MCP Server

Package: packages/mcp-isu/ · Porta: 3360 · Tools: 28

Categorias de Tools

CategoriaTools
Customer4 (list, get, search, create)
Billing4 (list, get, generate, process_payment)
Service Requests4 (create, list, update, get)
Outages3 (report, list, resolve)
Analytics3 (consumption, dashboard, DEC/FEC)
Solar Prosumer3 (dashboard, marketplace, listing)
Shop1 (list products — público)
Campaigns1 (list active — público)
Notifications1 (list com filtros)
Config2 (get/update tenant settings)

Auth flow: auto-login via credenciais de teste, session cache por x-session-id header, Express 4.21 como framework (JS puro, sem transpile).


Regulatório

ANEEL Compliance

  • DEC (Duração Equivalente de Interrupção por Consumidor) = Σ(Ca_i × t_i) / Ct
  • FEC (Frequência Equivalente de Interrupção por Consumidor) = Σ(Ca_i) / Ct
  • Métricas: withinTarget, percentOfTarget, eventCount
  • Service: AneelComplianceService
  • Export: CSV via xlsx

REN 482/2012 (P2P Solar)

Modalidades suportadas: autoconsumo_local, autoconsumo_remoto, geracao_compartilhada, EMUC. PIX gateway via DistribuidoraMockService para validação de créditos SCEE.


Observability

  • OpenTelemetry — tracing distribuído
  • @sentry/nestjs 10.40 — error tracking
  • Jaeger — visualização
  • Prometheus + Grafana — métricas

Resumo

Stack enxuta e alinhada ao core JedIN:

  • FE: Next.js 14 + React 18 + Zustand + Leaflet (mapas de outage)
  • BE: NestJS 10 + Prisma 5 + BullMQ + 17 submódulos
  • DB: PostgreSQL 16 com RLS multi-tenant
  • Storage: AWS S3 + SES
  • Integrações: 5 sistemas SAP + JedIN Flow Engine
  • MCP: 28 tools na porta 3360

Diferenciais técnicos: mapa de outages com auto-clustering GPS, motor DEC/FEC nativo, marketplace P2P com modalidades ANEEL REN 482/2012, portal white-label com branding dinâmico por tenant.

Próximos posts:

Related Articles

jedinr2cxai

R2-CX — Stack Tecnológica Completa do Consultor Autônomo

Deep dive no R2-CX: consultor autônomo multi-produto com 14+ MCP targets, Playwright browser automation, LLM multi-provider (Groq Llama 3.3 70B + Gemini Flash + Ollama), Live View em tempo real, session persistence PostgreSQL e skill improvement loop.

2026-04-229 min de leitura
Ler mais
Fale conosco pelo WhatsApp