Skip to content

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.

LayerMain TechnologiesRole
Backend applicationSpring Boot, Maven multi-module, MyBatis PlusHTTP APIs, business services, data access, modular build
Protocol accessMQTT, CoAP, HTTP, Modbus, SIP, JT808Device access, protocol parsing, uplink/downlink messages
Messaging and rulesEMQX, built-in Netty Broker, rule engine, message bridgeHigh-concurrency connections, device events, rule automation
Data layerMySQL, Redis, TDengine, IoTDB, InfluxDBBusiness data, cache, time-series data, history queries
Frontend applicationVue2, Vue3, Element ecosystem, ECharts, Three.jsAdmin UI, dashboards, configuration editor, mobile UI
Video capabilitiesZLMediaKit, RTSP, RTMP, HLS, WebRTCStream pulling, forwarding, playback, recording
Deployment and operationsDocker Compose, Nginx, SSL, mounted log directoriesQuick deployment, unified entry, data persistence
Hardware ecosystemArduino, ESP-IDF, Raspberry Pi, Luat Air780EDevice-side SDKs and access examples

Backend Modules ​

ModuleResponsibility
fastbee-adminBackend application entry, configuration loading, and Web service startup
fastbee-open-apiControllers and open APIs for frontend and external calls
fastbee-serviceCore services, including devices, products, rules, permissions, and more
fastbee-serverProtocol services and access capabilities such as MQTT, CoAP, and SIP
fastbee-iot-dataData collection, message consumption, rule processing, and scheduled jobs
fastbee-protocolProtocol parsing, encoding/decoding, and device-message conversion
fastbee-mqMessage queues, bridges, and asynchronous message processing
fastbee-notifySMS, email, WeChat, WeCom, DingTalk, and other notification channels
fastbee-recordVideo recording and media-related services
fastbee-plugsPlugins, database bridge, Modbus TCP, and other extensions
fastbee-common-extendCommon 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 ​

EnvironmentRecommendation
JDKJDK 1.8 is recommended. Verify dependency compatibility before using a higher version.
MySQLStart with MySQL 5.7 or later. Enable backup and slow-SQL analysis in production.
RedisUsed for cache, sessions, and distributed locks. Restrict production access to the internal network.
Node.jsSelect the version required by the corresponding frontend project.
TDengine/IoTDBEnable when the volume of device history data is large.
EMQXEnable when an independent MQTT Broker or higher connection scale is required.
ZLMediaKitEnable 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.

FastBee | fastbee.cn