yukong/GEMINI.md

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.

  1. Configuration: Update application.yml (or properties) in sample module with database and MQTT credentials.
  2. Build:
    cd Cloud-API
    mvn clean install
    
  3. Run:
    cd Cloud-API
    mvn spring-boot:run -pl sample
    

Frontend (Cloud-API-Web)

Prerequisites: Node.js v17.8+ (recommended).

  1. Install Dependencies:
    cd Cloud-API-Web
    npm install
    # or yarn install
    
  2. Development Server:
    npm run serve
    
  3. Production Build:
    npm run build
    

Development Conventions

  • Backend: Follows standard Spring Boot tiered architecture (Controller, Service, DAO). Uses spring-integration-mqtt for device messaging.
  • Frontend: Uses Vue 3 Composition API. State management via Vuex.
  • Database: Schema is located in Cloud-API/sql/cloud_sample.sql.