%%{init: {'theme':'default', 'themeVariables': {'fontSize':'24px', 'fontFamily':'Arial', 'primaryColor':'#e8f4ff', 'primaryBorderColor':'#1166cc', 'primaryTextColor':'#000', 'lineColor':'#333', 'secondaryColor':'#e9fbea', 'tertiaryColor':'#f4e9ff'}}}%%
flowchart TB
subgraph CITY["🏛️ EXTERNAL - CITY & PUBLIC"]
Resident["👤 Resident
Web/Mobile"]
Admin["👔 City Staff
Admin Portal"]
Laserfiche["📁 Laserfiche
Records System"]
CMS["🌐 City Website
CMS"]
Social["💬 Social
Channels"]
end
subgraph ISVLANE["🔌 EXTERNAL ISV (Optional)
Civic Engagement SaaS"]
ISVUI["🎨 Civic ISV
UI Modules"]
end
subgraph PFT["⚙️ PERFICIENT LAYER
Application - Integration - Operations"]
FE["🖥️ Perficient
Front-End UI"]
APP["📦 Engagement
Services
Microservices"]
ETL["🔄 ETL
Analytics Jobs"]
INTEG["🔗 Connectors
Integration Layer"]
SRE["🛠️ Perficient SRE
Runbooks
Incident Response"]
CI["🚀 CI/CD
Pipeline"]
end
subgraph IBM["☁️ IBM CLOUD PLATFORM
Managed Services"]
subgraph VPC["🔒 VPC LANDING ZONE"]
LB["⚖️ Load Balancer
for VPC"]
API["🌉 API Connect
Gateway"]
ROKS["🐳 OpenShift
ROKS"]
DB["💾 Db2/PostgreSQL
App Data"]
DWH["📊 Db2 Warehouse
watsonx.data
Analytics Mart"]
ES["📨 Event Streams
Kafka"]
EN["📧 Event
Notifications
Email/SMS"]
WAI["🤖 watsonx.ai
NLP/Sentiment"]
WG["🎯 watsonx
governance
AI Governance"]
KCat["📚 Knowledge
Catalog
Data Gov"]
KP["🔐 Key Protect
Hyper Protect
KMS/HSM"]
SSO["🆔 IBM Verify
App ID
SSO/OIDC/SAML"]
MON["📡 Cloud
Monitoring"]
LOGS["📝 Cloud Logs
Activity Tracker"]
FLOW["🔍 Flow Logs
for VPC"]
end
SCC["🛡️ Security Center
Compliance
Controls/Evidence"]
CR["📦 Container
Registry"]
DL["🔌 Direct Link
(Optional)
Private Connectivity"]
end
%% USER TRAFFIC - Thick Green Lines
Resident ==>|"HTTPS/TLS
USER TRAFFIC"| LB
Admin ==>|"HTTPS/TLS
ADMIN ACCESS"| LB
%% LOAD BALANCER ROUTING - Blue Lines
LB ==>|"WEB APP"| FE
LB ==>|"API DIRECT"| API
%% AUTHENTICATION FLOWS - Orange Lines
FE -.->|"OIDC/SAML
AUTH"| SSO
SSO -.->|"TOKEN"| FE
%% INTERNAL API FLOWS - Blue Lines
FE ==>|"API CALLS"| API
API ==>|"BUSINESS LOGIC"| APP
%% DATA PROCESSING - Purple Lines
APP ==>|"DATA OPS"| DB
APP ==>|"EVENTS"| ES
ES ==>|"AI PROCESSING"| WAI
WAI ==>|"INSIGHTS"| DWH
ETL ==>|"BATCH ANALYTICS"| DWH
DWH ==>|"DASHBOARDS"| FE
%% NOTIFICATION FLOW - Green
FE ==>|"TRIGGER"| EN
EN ==>|"Email/SMS
NOTIFICATIONS"| Resident
%% EXTERNAL INTEGRATIONS - Magenta Lines
INTEG ===>|"INTEGRATION"| API
API ===>|"REST/JSON
RECORDS"| Laserfiche
API ===>|"REST/JSON
CONTENT"| CMS
API ===>|"REST/JSON
SOCIAL"| Social
%% MONITORING & LOGS - Gray Thin Lines
APP -.->|"metrics"| MON
APP -.->|"logs"| LOGS
API -.->|"audit"| LOGS
LB -.->|"flow"| FLOW
%% SECURITY & COMPLIANCE - Red Dashed Lines
SCC -..->|"POLICIES"| ROKS
KP -..->|"ENCRYPTION"| DB
KP -..->|"ENCRYPTION"| DWH
%% ISV OPTIONAL FLOWS - Dashed Purple
Resident -.->|"OPTIONAL UI"| ISVUI
ISVUI -.->|"SSO"| SSO
ISVUI -.->|"API"| API
%% CI/CD FLOWS - Thin Blue
CI -.->|"images"| CR
CI -.->|"deploy"| ROKS
%% SRE OPERATIONS - Thin Gray
SRE -.->|"observe"| MON
SRE -.->|"analyze"| LOGS
%% PRIVATE NETWORK - Dashed Gray
DL -..->|"PRIVATE NET"| VPC
Laserfiche -..->|"PRIVATE LINK"| DL
classDef city fill:#fef3c7,stroke:#f59e0b,stroke-width:3px,color:#000
classDef isv fill:#f3e8ff,stroke:#9333ea,stroke-width:2px,stroke-dasharray: 5 5,color:#6b21a8
classDef per fill:#dcfce7,stroke:#22c55e,stroke-width:3px,color:#166534
classDef ibm fill:#dbeafe,stroke:#2563eb,stroke-width:4px,color:#1e3a8a
classDef security fill:#fee2e2,stroke:#ef4444,stroke-width:2px,stroke-dasharray: 8 3,color:#991b1b
class Resident,Admin,Laserfiche,CMS,Social city
class ISVUI isv
class FE,APP,ETL,INTEG,SRE,CI per
class LB,API,ROKS,DB,DWH,ES,EN,WAI,WG,KCat,SSO,MON,LOGS,FLOW,CR ibm
class KP,SCC,DL security