2.2 KiB
2.2 KiB
Gemini Context: DJI Cloud API Demo Platform
Project Overview
This project is a comprehensive management platform for DJI Docks and industry drones, demonstrating the "Cloud API" integration. It is a full-stack application designed with a separation of concerns between the backend services and the frontend user interface.
- Purpose: To manage device access, control, and data visualization for DJI enterprise products.
- Architecture: Client-Server architecture using HTTP for management and MQTT for real-time device communication.
Project Structure
- Cloud-API (Backend):
- Language: Java 11+
- Framework: Spring Boot 2.7.12
- Key Components:
cloud-sdk: Core logic for DJI device interaction.sample: Business logic implementation.
- Infrastructure: MySQL 8.0+, Redis 6.2+, EMQX 4.4.0 (MQTT Broker).
- Cloud-API-Web (Frontend):
- Language: TypeScript, HTML, SCSS
- Framework: Vue 3 (Composition API)
- Build Tool: Vite
- UI Library: Ant Design Vue
- Key Features: Map visualization (AMap), Real-time video (Agora RTC).
Building and Running
Backend (Cloud-API)
Prerequisites: Java 11+, Maven, running MySQL/Redis/EMQX instances.
- Configuration: Update
application.yml(or properties) insamplemodule with database and MQTT credentials. - Build:
cd Cloud-API mvn clean install - Run:
cd Cloud-API mvn spring-boot:run -pl sample
Frontend (Cloud-API-Web)
Prerequisites: Node.js v17.8+ (recommended).
- Install Dependencies:
cd Cloud-API-Web npm install # or yarn install - Development Server:
npm run serve - Production Build:
npm run build
Development Conventions
- Backend: Follows standard Spring Boot tiered architecture (Controller, Service, DAO). Uses
spring-integration-mqttfor device messaging. - Frontend: Uses Vue 3 Composition API. State management via Vuex.
- Database: Schema is located in
Cloud-API/sql/cloud_sample.sql.