Skip to content

Global Architecture

Browser
Control Center UI
JWT Auth
Cloudflare Edge
CF Access
JWT Auth
CF Pages
Static Hosting
CF Functions
/api/*
CF D1
SQLite Edge DB
CF Worker
cron-stats
CF Tunnels
SSH-MAIN, SSH-PROXY, Doors
Tunnels & API calls
On-Premise Infrastructure
Datacenter Central
Zabbix Server
192.168.1.88
SSH-MAIN Tunnel
Container On-Site
Zabbix Proxy
192.168.1.166
RPI-001
Entry
RPI-002
SAS
RPI-003
Exit
External Services
Azure Receipt API
DEV + PROD
Zippin Cloud
UniFi Cloud
Langflow AI
Cloudflare
On-Premise
External
AI
Browser → CF Edge (Auth, Pages, Functions, D1, Workers, Tunnels) → On-Premise + External Services
Internet
Cloudflare Edge
CF Tunnels: SSH-MAIN, SSH-PROXY, Doors
vpn.zippin.tech
OpenVPN Server
CF Tunnels & VPN
Central Datacenter
UDM Pro
Orange WAN
USW-Pro-24-PoE
Beelink SER8
Zabbix Server
Store Container — Crolles
UDM Pro SE
Starlink WAN
USW Aggregation
10 Gb/s uplinks
USW-Pro-24-PoE
MikroTik hAP ax3
VPN + Firewall
MikroTik PoE ×2
PoE Switches
Powers & connects
Network Rack 9U
PSU 25A / 2.1kW
RPI-001
Entry
RPI-002
SAS (MikroTik + WiFi)
RPI-003
Exit
Zippin Cameras ×14
t01–t13
Tracking (daisy-chain RJ45)
s01–s02
Overhead
IP Subnets
10.27.185.0/24
Store LAN
10.12.0.0/23
VPN Tunnel
10.128.0.0/20
GCP Zippin
Cloudflare
On-Premise (UniFi)
MikroTik
Subnets
UDM Pro SE → USW Aggregation → USW-Pro-24-PoE → MikroTik hAP ax3 (VPN) → MikroTik PoE Switches → Equipment
Phase 1 — Authentication
#FromToAction
1UserCF AccessVisit site
2CF AccessCF AccessGoogle / Email OTP login
3CF AccessCF PagesJWT cookie (CF_Authorization)
4CF PagesUserStatic HTML / CSS / JS
Phase 2 — API Request
#FromToAction
5UserMiddlewareAPI Request + JWT
6MiddlewareMiddlewareVerify JWT signature (RS256)
7MiddlewareMiddlewareCheck Origin header (CSRF)
8MiddlewareMiddlewareRate limit check (tiered)
9MiddlewareRBACExtract caller email
10RBACD1Get role + permissions
11D1RBACrole_id, permissions[]
12RBACAPIAuthorized request
13APID1Query / Mutate
14APIUserJSON response
User → CF Access (Google/OTP) → JWT → Middleware (verify, CSRF, rate limit) → RBAC → D1 → API → JSON
RPi Controllers
RPI-001
Entry
RPI-002
SAS
RPI-003
Exit
Zippin Cloud
Gateway API
Metrics, Events
Cart Finalization
Azure App Service
Receipt API DEV
Receipt API PROD
Polling & Events
Cron Worker (every 15 min)
Poll
/api/status/api/occupancy/api/stats
Health Check
17 endpoints
Trigger Evaluation
INSERT
D1 Database
rpi_snapshots
rpi_alerts_history
receipt_api_health
trigger_alerts
receipt_api_requests
SELECT
Control Center UI
Operations
API Health
Monitoring
RPi + Zippin + Azure → Cron Worker (Poll, Health, Triggers) → D1 tables → Dashboard pages
Phase 1 — Entry
#FromToAction
1CustomerEntry (RPI-001)Badge / QR Scan
2EntryJES (Moneweb)Verify account: balance, account type, status
3JESEntryApproved / Denied (balance & account check)
4EntryEntryOpen gate 1
Phase 2 — SAS Zone
#FromToAction
5CustomerSAS (RPI-002)Enter SAS zone
6SASSASBadge scan + door sensor check
7SASZippin CloudStart shopping session
8ZippinSASSession confirmed
9SASSASOpen gate 2
Phase 3 — Shopping & Exit
#FromToAction
10CustomerStore ZoneShopping (tracked by cameras)
11CustomerExit (RPI-003)Approach exit
12ExitZippin CloudCart finalization
13ZippinZippinProcess cart items
Phase 4 — Payment
#FromToAction
14ZippinReceipt API (Azure)Charges API call
15Receipt APIElior / MonewebPayment processing
16EliorCustomerReceipt / Notification
17Receipt APIReceipt APIMetricsService.Log()
18Receipt APID1POST /api/receipt-api/logs
Customer → Badge Entry → SAS → Shopping (tracked) → Exit → Zippin Cart → Receipt API → Elior/Moneweb → Payment
Zabbix Monitoring
Zabbix Server
192.168.1.88
SNMP Polling
Zabbix Proxy
192.168.1.166
Zabbix Web UI
monitoring.fjzippin.com
SNMP Targets
MikroTik hAP ax3
HOST-RESOURCES-MIBIF-MIBMIKROTIK-MIB
UDM Pro SE
SNMPv2c — 35 interfaces
USW Switches
Health Checks & SNMP
Health Checks (17 endpoints)
6
CF Tunnels
4
TUGA APIs
4
Back Offices
2
Azure APIs
1
UniFi Cloud
Alert Pipeline
Alert Pipeline
Trigger Alerts
RPI Alerts
Notifications
Dashboard
Zabbix
SNMP Targets
Health Checks
Alerts
Zabbix (Server → Proxy) + SNMP Targets + 17 Health Check endpoints → Alert Pipeline → Dashboard Notifications
User Question
Chat input
POST /api/langflow
Control Center
Prompt Template
System + Context
Embeddings
OpenAI
ChromaDB
Vector Store
LLM
GPT-4 / Claude
D1: messages
Response stored
Response
Displayed to user
AI / Langflow Pipeline
Cloudflare (API + D1)
User → API → Prompt → Embeddings → ChromaDB → LLM (GPT-4/Claude) → D1 messages → Response
STMicroelectronics Crolles — Autonomous Store
SAS Entry Zone
Entry Door
RPI-001 — Badge + QR
SAS Door
RPI-002 — Zippin Session
Shopping Zone
Shelves + Products
Tracking Cameras
t01–t13 (daisy-chain RJ45)
Overhead Cameras
s01–s02
Exit Zone
Exit Door
RPI-003 — Auto-close
All cameras → RJ45 daisy-chain → Network Rack
Network Rack 9U — NR-AU-40-LR-01
PSU
25A / 2.1kW
RPI-001
Entry
RPI-002
SAS
RPI-003
Exit
MikroTik PoE ×2
MikroTik hAP ax3
Router + VPN
USW-Pro-24-PoE
USW Aggregation
Entry / RPi / UniFi
Shopping zone
Exit zone
MikroTik / Power
Cameras (daisy-chain) → MikroTik PoE → MikroTik Router → USW-Pro-24 → USW Aggregation