IoT Platform
Context
Monorepo
Container
IPEE Auth
IoT Platform
IPEE App
Component
IoT API
IPEE user
External user
Analyser
[Angular]
Analyse toilet visits
IoT App
[Angular]
Show telemetry, manage IoT
devices
IoT API Mainframe
AKA Analyser API
[NestJS]
Subscribe to and save
device telemetry, handle
triggers, send push
notifications, handle
querying, etc
IPEE Authentication
Authentication frontend and
backend
MongoDB
Store telemetry, attributes,
devices, customers, visits,
etc
MQTT broker
Mosquito MQTT broker
MQTT Auth API
[NestJS]
Validate MQTT credentials
and access
IoT Bridge
Connects to toilet devices
over BLE
Logger API
[NestJS]
Filters logging topics and
pushes to telemetry topics
IoT Firmwares API
[NestJS]
Handle firmware metadata
and binaries
External system
External customer system
Show toilet visits
[web]
Show telemetry,
manage IoT devices
[web]
Show telemetry
[web]
Get toilet vists
[https]
Get telemetry,
attributes and
devices
[https]
Subscribe to
telemetry
[wss]
Authenticates at
Authenticates at
Get / set telemetry,
attributes, devices,
customers, visits,
etc
[https]
Validate credentials
[https]
Publish telemetry,
get attributes,
handle commands,
fetch firmware
binaries
[mqtts]
Subscribe to
telemetry, send
commands, receive
command responses
[mqtts]
Get raw logs
[mqtts]
Filters logs on
telemetry
[mqtts]
Get available
firmwares
[https]
Publish firmware
binaries as retained
[mqtts]
Fetch telemetry and
device information
[https]
Subscribe to
telemetry
[wss | mqtts]
Legend
▯
person
▯
system
▯
container
▯
external_system
─
async