Skip to content

Module Inventory ​

The IoT DC3 modules, grouped by repository directory. Each module links to its original README.md on the main branch on GitHub.

Source of Truth

Driver counts and module names match the current repository layout: 36 connectivity driver modules live under dc3-driver/.

Gateway ​

ModuleDescriptionDocumentation
dc3-gatewaySpring Cloud Gateway — the single HTTP entryREADME

Center Services ​

ModuleDescriptionDocumentation
dc3-center-authAuth Center — tenants, users, roles, resources, and tokensREADME
dc3-center-managerManager Center — drivers, profiles, devices, points, and metadataREADME
dc3-center-dataData Center — point values, queries, and command dispatchREADME
dc3-center-agenticAgentic Center — AI conversations, model providers, and tool callsREADME
dc3-center-singleSingle-process aggregated startup — handy for local debuggingREADME

Protocol Drivers ​

CategoryModuleProtocol / Purpose
Industrial protocolsdc3-driver-modbus-tcpModbus TCP
Industrial protocolsdc3-driver-modbus-rtuModbus RTU
Industrial protocolsdc3-driver-opc-uaOPC UA
Industrial protocolsdc3-driver-opc-daOPC DA
Industrial protocolsdc3-driver-plcs7Siemens S7
Industrial protocolsdc3-driver-bacnet-ipBACnet/IP
Industrial protocolsdc3-driver-ethernet-ipEtherNet/IP
Industrial protocolsdc3-driver-finsOmron FINS
Industrial protocolsdc3-driver-melsecMitsubishi MELSEC
Industrial protocolsdc3-driver-iec104IEC 60870-5-104
Industrial protocolsdc3-driver-sl651SL651 hydrological monitoring protocol
Industrial protocolsdc3-driver-dlmsDLMS / COSEM
Industrial protocolsdc3-driver-knxKNX
Industrial protocolsdc3-driver-dnp3DNP3
Industrial protocolsdc3-driver-iec61850IEC 61850
Industrial protocolsdc3-driver-dlt645DL/T645
Industrial protocolsdc3-driver-mbusM-Bus
IoT protocolsdc3-driver-mqttMQTT
IoT protocolsdc3-driver-coapCoAP
IoT protocolsdc3-driver-lwm2mLwM2M
IoT protocolsdc3-driver-httpHTTP
IoT protocolsdc3-driver-bleBluetooth Low Energy
IoT protocolsdc3-driver-zigbeeZigbee
IoT protocolsdc3-driver-lorawanLoRaWAN
IoT protocolsdc3-driver-kafkaKafka
Data bridgingdc3-driver-mysqlMySQL data source
Data bridgingdc3-driver-postgresqlPostgreSQL data source
Data bridgingdc3-driver-oracleOracle data source
Data bridgingdc3-driver-sqlserverSQL Server data source
Data bridgingdc3-driver-redisRedis data source
Base communication & managementdc3-driver-tcp-udpTCP / UDP
Base communication & managementdc3-driver-serialSerial
Base communication & managementdc3-driver-snmpSNMP
Base communication & managementdc3-driver-canCAN
Simulation & debuggingdc3-driver-virtualVirtual driver
Simulation & debuggingdc3-driver-listening-virtualListening-style virtual driver

To write your own driver, see Driver Authoring.

API Contracts ​

ModulePurposeDocumentation
dc3-api-authAuth Center gRPC / Protobuf contractREADME
dc3-api-managerManager Center gRPC / Protobuf contractREADME
dc3-api-dataData Center gRPC / Protobuf contractREADME
dc3-api-driverDriver gRPC / Protobuf contractREADME

Messaging and E2E ​

CategoryModulePurpose
Messagingdc3-mq-core / dc3-mq-rabbitmq / dc3-mq-kafka / dc3-mq-mqtt / dc3-mq-pulsarPluggable message-middleware abstraction — a broker-neutral port plus one adapter per broker; the active implementation is selected via DC3_MQ_TYPE (default rabbitmq; part of the release line since 2026.9)
Messaging TCKdc3-mq-tckBroker-neutral contract suite — an adapter that passes it is compliant
Testingdc3-e2e / dc3-coverageEnd-to-end tests and coverage aggregation

Relational Persistence ​

CategoryModulePurpose
Runtimedc3-db-core / dc3-db-runtimePaging / tenant / operation contracts; the R2DBC pool, PostgreSQL dialect, and schema-fingerprint startup gate
Domain storesdc3-db-auth / dc3-db-manager / dc3-db-data / dc3-db-agenticPostgreSQL R2DBC stores for the Auth / Manager / Data / Agentic domains
Testingdc3-db-tckPostgreSQL Testcontainers contract suite

The runtime is PostgreSQL + R2DBC only — JDBC / MyBatis are not supported runtime paths.

Time-series Storage ​

The only implementation today is the Data Center's native R2DBC store on PostgreSQL + TimescaleDB — there is no runtime switch and no DC3_TSDB-style backend selector; the TDengine / InfluxDB / IoTDB adapters from older docs were removed when the persistence layer converged. Don't go looking for them.

ModulePurpose
dc3-tsdb-coreStore-neutral reactive TsdbStore port and capability set — point history is implemented by the Data Center's native R2DBC store

Common Components ​

CategoryModulePurpose
Base modelsdc3-common-modelShared models — BO / VO / DTO / Builder / Ext
Base capabilitiesdc3-common-publicShared annotations and entities (tenant markers, tree entities), HTTP client, OAuth/HMAC verification, common utilities
Webdc3-common-webWebFlux, BaseController, OpenAPI, security baseline
Constants & exceptionsdc3-common-constantConstants, enums, value objects
Constants & exceptionsdc3-common-exceptionException hierarchy
Data accessdc3-common-sqlShared base for the JDBC database drivers (connection management and query execution)
Communicationdc3-common-mqttMQTT client configuration (used by the MQTT driver and other MQTT consumers)
Communicationdc3-common-facade-apiCross-service facade interfaces
Communicationdc3-common-facade-grpcgRPC facade implementation
Communicationdc3-common-facade-local-authAuth local facade
Communicationdc3-common-facade-local-managerManager local facade
Communicationdc3-common-facade-local-dataData local facade
Communicationdc3-common-facade-localDependency-only POM aggregating all local facades (for single-process apps)
Domain capabilitiesdc3-common-authAuthentication, authorization, tenant, and token domain capabilities
Domain capabilitiesdc3-common-managerDriver, profile, device, point, and metadata domain capabilities
Domain capabilitiesdc3-common-dataPoint value, command, and data query domain capabilities
Domain capabilitiesdc3-common-driverDriver SDK — registration, scheduling, collection, and command runtime
Domain capabilitiesdc3-common-agenticAI conversation, model provider, tool call, and memory capabilities
Gatewaydc3-common-gatewayGateway filters and routing helpers
Platform supportdc3-common-logLogging configuration
Platform supportdc3-common-threadThread pool configuration
Platform supportdc3-common-quartzScheduling infrastructure
Platform supportdc3-common-apiAPI utilities
Platform supportdc3-common-resourceDiscovers HTTP API endpoints at startup and registers them as Auth authorization resources
Testingdc3-common-testTestcontainers, gRPC, RabbitMQ, and contract test infrastructure

CLI and Web Frontend ​

ModulePurposeDocumentation
dc3-cliStandalone TypeScript CLI (npm install -g dc3-cli) — see the CLI manualREADME
dc3-webVue 3 + TypeScript management console — talks to the backend only through the gateway; see FrontendREADME

Released under the AGPL-3.0 License