Technology Stack and Modules
Technology Stack Overview
FastBee combines a Java backend, Vue frontend, and multiple IoT middleware components into a complete delivery system. In actual deployments, you can start with the minimum required dependencies and gradually add time-series databases, EMQX, ZLMediaKit, and other components according to business scale.
| Layer | Main Technologies | Role |
|---|---|---|
| Backend application | Spring Boot, Maven multi-module, MyBatis Plus | HTTP APIs, business services, data access, modular build |
| Protocol access | MQTT, CoAP, HTTP, Modbus, SIP, JT808 | Device access, protocol parsing, uplink/downlink messages |
| Messaging and rules | EMQX, built-in Netty Broker, rule engine, message bridge | High-concurrency connections, device events, rule automation |
| Data layer | MySQL, Redis, TDengine, IoTDB, InfluxDB | Business data, cache, time-series data, history queries |
| Frontend application | Vue2, Vue3, Element ecosystem, ECharts, Three.js | Admin UI, dashboards, configuration editor, mobile UI |
| Video capabilities | ZLMediaKit, RTSP, RTMP, HLS, WebRTC | Stream pulling, forwarding, playback, recording |
| Deployment and operations | Docker Compose, Nginx, SSL, mounted log directories | Quick deployment, unified entry, data persistence |
| Hardware ecosystem | Arduino, ESP-IDF, Raspberry Pi, Luat Air780E | Device-side SDKs and access examples |
Backend Modules
| Module | Responsibility |
|---|---|
| fastbee-admin | Backend application entry, configuration loading, and Web service startup |
| fastbee-open-api | Controllers and open APIs for frontend and external calls |
| fastbee-service | Core services, including devices, products, rules, permissions, and more |
| fastbee-server | Protocol services and access capabilities such as MQTT, CoAP, and SIP |
| fastbee-iot-data | Data collection, message consumption, rule processing, and scheduled jobs |
| fastbee-protocol | Protocol parsing, encoding/decoding, and device-message conversion |
| fastbee-mq | Message queues, bridges, and asynchronous message processing |
| fastbee-notify | SMS, email, WeChat, WeCom, DingTalk, and other notification channels |
| fastbee-record | Video recording and media-related services |
| fastbee-plugs | Plugins, database bridge, Modbus TCP, and other extensions |
| fastbee-common-extend | Common extensions, MyBatis Plus configuration, and utilities |
Frontend Projects
vue: Vue2 admin UI, including routing, permissions, state management, API wrapper, i18n, and common business pages.vue3: Vue3 admin UI with a modern composition-based development model for ongoing feature evolution.- Visualization and Web configuration: large screens, component configuration, variable binding, animation, and event interaction.
- Mobile and H5: lightweight operations for device viewing, alarms, personal center, and similar scenarios.
Runtime Recommendations
| Environment | Recommendation |
|---|---|
| JDK | JDK 1.8 is recommended. Verify dependency compatibility before using a higher version. |
| MySQL | Start with MySQL 5.7 or later. Enable backup and slow-SQL analysis in production. |
| Redis | Used for cache, sessions, and distributed locks. Restrict production access to the internal network. |
| Node.js | Select the version required by the corresponding frontend project. |
| TDengine/IoTDB | Enable when the volume of device history data is large. |
| EMQX | Enable when an independent MQTT Broker or higher connection scale is required. |
| ZLMediaKit | Enable when using video monitoring, stream forwarding, or recording. |
Selection Principles
- Use Docker Compose for evaluation and demo environments to reduce dependency setup cost.
- For secondary development, first run backend, frontend, MySQL, and Redis, then add EMQX, time-series databases, and video services.
- When device scale grows, separate the MQTT Broker, database, time-series database, and video service from application nodes.
- For cluster scenarios, prioritize Cluster Edition Docs and plan capacity based on server clusters, Web clusters, load balancing, and benchmark results.

