Technology Stack
This page summarizes the main technologies IoT DC3 currently runs on and recommends for local development. Treat pom.xml, dc3-web/package.json, and docs/package.json as the source of truth for exact versions; the README keeps only a short reader-facing summary.
Backend and Center Services
| Area | Technologies | Purpose |
|---|---|---|
| Language and frameworks | Java 21 · Spring Boot 4 · Spring Cloud 2025 | Runtime foundation for the gateway, center services, and driver processes |
| AI integration | Spring AI 2.0 | Agentic Center integration with OpenAI-compatible providers, Tool Calling, and MCP workflows |
| Web and API | Spring WebFlux · Spring Security · springdoc-openapi | HTTP APIs, authentication and authorization, and aggregated API docs |
| Service collaboration | gRPC · Protobuf · Facade interfaces | Strongly typed contracts between center services |
| Build | Maven 3.9+ | Multi-module build, tests, packaging, and dependency version management |
Data, Messaging, and Scheduling
| Area | Technologies | Purpose |
|---|---|---|
| Primary storage | PostgreSQL | Business data, tenants, resources, device models, and runtime data |
| Time-series and extensions | TimescaleDB · AGE · pgvector | Point history, graph capabilities, and vector capabilities |
| ORM / data access | MyBatis-Plus | Persistence access and paginated queries at the DO layer |
| Message bus | RabbitMQ | Asynchronous point value reports, command dispatch, and buffering between drivers and the data center |
| Cache and scheduling | Caffeine · Quartz | In-process caching, scheduled jobs, and task orchestration |
Frontend, Docs, and Automation
| Area | Technologies | Purpose |
|---|---|---|
| Web frontend | Vue 3 · TypeScript 6 · Vite 8 · Element Plus | Management console under dc3-web/ |
| Visualization | AntV G2/G6 | Dashboard charts and relationship visualizations |
| Docs site | VitePress · Mermaid | The current docs/ site, architecture diagrams, and flow diagrams |
| CLI automation | TypeScript · pnpm · Vitest | Sibling dc3-cli/ project, a Gateway-oriented command-line client |
| Container deployment | Podman · Docker Compose | Local dependencies, dev stack, app stack, and optional observability stack |
Continue Reading
- Local Development from Source — start dependencies, load environment variables, build, and verify
- Frontend Development — running, structure, and test commands for
dc3-web/ - System Architecture Overview — how the gateway, centers, drivers, message bus, and storage work together
- Module Map — Maven modules, deployable units, and dependencies