[Open-source] A low-code development framework for enterprise-level IoT platforms, simplified code, plug-and-play
![[Open-source] A low-code development framework for enterprise-level IoT platforms, simplified code, plug-and-play](https://yy123.ink/api/img/1782579330566-elj9k8.jpg)
1. Project Overview
PandaX

PandaX enterprise-level IoT platform rapid development framework
Based on Go 1.20 front-end and back-end separation architecture, code simplified, plug-and-play, front-end following the latest Vue3.0 + TypeScript + vite3 + Element-plus technology
- Most functions of front-end and back-end have been encapsulated, back-end self-encapsulated go-restful, easier to use, clearer functional logic, can quickly get started and learn, and use in production
- Report dashboard designer: We only need to drag and drop to bind the database, complete the configuration, report, and creation of cool dashboards, without the need to develop the dashboard separately
- Mature rule engine: The project uses rule chains for data processing, simplifying development and configuration
- Front-end uses VUE3.0+ TypeScript + vite3 + Element-plus: PandaUI, adapted to mobile phones, tablets, and PCs, with multiple UI functions built-in to reduce development time
- High-efficiency development, using code generators can generate front-end and back-end code with one click, online preview of code, reducing code development time
- Perfect permission authentication system: Perfect permission authentication system, including menu button permissions, API permissions, and organization permissions
- Multi-database: The project supports MySQL, PostgreSql, and other databases simultaneously, and can be changed according to individual needs
2. Open Source License
Licensed under Apache-2.0
3. Screenshots









4. Feature Overview
⚡ Built-in functions
- ✔ User Management - User is the system operator, this function mainly completes the system user configuration.
- ✔ Organization Management - Configure the system organization structure (company, organization, group), tree structure display supports data permissions.
- ✔ Position Management - Configure the system user position.
- ✔ Menu Management - Configure the system menu, operation permissions, button permissions, etc.
- ✔ Role Management - Role menu, API permission distribution, set up roles according to institutions to divide data range permissions.
- ✔ Dictionary Management - Maintain some relatively fixed data frequently used in the system.
- ✔ Parameter management - Dynamically configure common parameters in the system.
- ✔ Notifications and Announcements - System notification and announcement information release and maintenance
- ✔ Log system - Record logs, more intuitive to view
- ✔ System Interface - Generate API interface documents related to business code automatically.
- ✔ Service monitoring - Monitor the current system CPU, memory, disk, stack, etc. related information.
- ✔ Code Generation - Can directly generate front-end and back-end basic business code through the framework (go, vue), reducing development time.
- ✔ Configuration dashboard designer - Generate configuration and dashboard through drag and drop directly.
- ✔ Rule chain design - IoT rule chain filtering
- ✔ Form design - Form design
- ✔ Report design - Data Report Design
- ✔ Product management - Device Product Management
- ✔ Device Management - Device Management
What other NB functions will be available in the future?
- In Development Application Management - Create an Application Management Module based on K8S orchestration capabilities.
- In Development Multi-protocol access - Create multiple protocol access in the form of plugins.
- In Development 3D Layout - Generate 3D layout automatically based on 2D layout.
- In Development Digital Twin Editor - Build digital twin models directly on the web.
5. Tech Stack
PandaX IoT Platform provides a unified access and management platform for different devices and data sources, playing a bridging role in the entire IoT architecture. Application vendors can quickly implement device reporting management through MQTT, TCP, HTTP, COAP, MQTT-SN, etc., and quickly obtain the capabilities of the IoT platform, lightweight and efficient.

Tech Stack
Backend
- Go Framework Go-Restful
- High-Performance Cache: Redis
- High-Performance Message Queue: NATS
- Relational Database: MySQL (MySQL 8)
- Cloud-Native Lightweight Object Storage (can be used locally or MinIO): MinIO
- Open-source, high-performance, cloud-native, and ultra-simple time-series data processing platform: TDengine
- Large-scale elastic scaling cloud-native distributed IoT MQTT message server: EMQX
Frontend
- JavaScript library for building user interfaces: Vue 3
- Enterprise-level design components: Element Plus
Front-end project structure
├── src │ ├── api # API AJAX │ ├── assets # Local static resources │ ├── i18n # Internationalization │ ├── components # Business common components │ ├── layout # Layout │ ├── theme # CSS theme styles │ ├── router # Vue-Router │ ├── store # Vuex │ ├── utils # Tool library │ ├── views # Business page entry and common templates │ ├── App.vue # Vue template entry │ └── main.ts # Vue entry TS ├── README.md └── package.json
Back-end project structure
Directory
Function
deploy
Deployment files, this project uses K3S for deployment, so the documents inside are deployment documents
apps
Basic functions, all functional modules are here
iothub
Device access layer, device data reporting is handled here, using EMQX's hook mode
resource
Directory for generated resources or project startup files
pkg
Global common code for all development processes
uploads
Storage for uploaded files
More functions, please visit the system.