2.0.0

1. Account System and Authentication

  • User registration and login
    • Username/password registration and login
      • Username uniqueness validation
      • Password strength validation
      • Password encrypted storage (encryption service)
    • Phone-number registration and login
      • Phone-number format validation (China 11-digit numbers)
      • SMS verification-code sending and verification (6-digit code)
      • Verification-code countdown
      • Phone-number-to-user binding
    • Email registration and login
      • Email format validation
      • Email verification-code sending and verification
      • Email-to-user binding
    • Third-party account registration and login
      • Third-party account binding
      • Third-party account login
      • Third-party account unbinding
      • Multiple third-party platform integrations supported
  • Password recovery and reset
    • Username/password recovery
    • Phone-number password recovery
      • SMS verification-code verification
      • New password setup
    • Email password recovery
      • Email verification-code verification
      • Password-reset link sending
    • Password change
      • Old-password verification
      • New-password strength check
  • JWT Token management
    • JWT Token generation and signing
    • Token refresh mechanism
    • Token expiration handling
    • Token blacklist management (Redis cache)
    • Login-user tenant ID cache
  • Permission control system (RBAC)
    • Tenant management (Tenant)
      • Tenant CRUD
      • Tenant type management
      • Tenant-bound team user management
      • Tenant-bound personal-space user management
      • Tenant blocklist configuration
    • Organization management (Org)
      • Organization tree-structure management
      • Organization CRUD
      • Organization hierarchy maintenance
      • Organization selector component
    • User management (User)
      • User basic-info management
      • User status management (activate/disable)
      • User cancellation listener
      • User selector component
      • User-tenant relationship management
      • User tag management
    • Employee management (Employee)
      • Employee basic-info management
      • Employee CRUD
      • Employee attachment management
      • Employee fingerprint management
      • Employee NFC card management
      • Employee talk-group management
      • Employee download-task management
      • Employee download-task file index
    • Employee-bound user (Employee User)
      • Employee-user binding relationship management
      • Employee-bind-user consumer
      • Employee message listener
    • Role management (Role)
      • Role CRUD
      • Role-permission association
      • Role-user association
      • Role-organization association
      • Role message listener
    • User-group management (User Group)
      • User-group CRUD
      • User-group-role association
      • User-group-user association
      • User-group message listener
    • Permission management (Permission)
      • Permission-point definition and management
      • Permission-user association
      • Permission checkbox component
      • Permission code validation

2. Live Streaming (WebRTC + Janus Gateway)

  • Single-stream live (Single Live Video)
    • Map-view live (To-B-1 Map View)
      • Leaflet map integration
      • Map markers showing device location
      • Map layer switching (base map, satellite, etc.)
      • Tap device marker to play
      • Drag device to a map position
      • Map zoom and pan
      • Device online status shown on the map
    • Grid-view live (To-C-1 Grid View)
      • Device list display
      • Device filtering (Device No, Org, online status)
      • Device online-status statistics
      • Tap a device card to play the live stream
      • Device card hover preview
    • WebRTC P2P live component
      • RTCRtpSender codec capability detection (H265/H264/VP8/VP9)
      • Janus Gateway SDP signaling exchange
      • ICE candidate exchange (IceServer)
      • STUN/TURN server configuration
      • Live-stream establishment and keepalive
      • Player controls (play/pause/fullscreen)
      • Double-click fullscreen
  • Multi-stream live (Multi Live Video)
    • Multi-grid layout live
      • 1-stream fullscreen layout
      • 2x2 (4-grid) layout
      • 3x3 (9-grid) layout
      • 4x4 (16-grid) layout
      • 5x5 (25-grid) layout
      • 6x6 (36-grid) layout
      • 1+5 (1 large, 5 small) layout
      • 1+7 (1 large, 7 small) layout
      • 1+9 (1 large, 9 small) layout
      • 1+11 (1 large, 11 small) layout
    • Multi-stream management
      • Device-number list management
      • Grid-to-device mapping management
      • Drag to swap positions within a grid
      • Dynamically add/remove live streams
      • Bulk close live streams
    • Grid-layout switching
      • Layout-type selector
      • Layout auto-fits device count
      • Layout retains valid mappings
  • Playback
    • Playback device list
      • Device filtering (Device No, Org, online status)
      • Device online-status statistics
      • Device card display
    • Single-device playback
      • Video playback player
      • Audio playback player
      • Image playback player
      • Generic player component
      • Playback time picker
      • Playback progress-bar control
      • Playback speed (0.5x/1x/1.5x/2x)
      • Playback file download
      • Playback snapshot
    • Media-file management
      • Filter media files by date
      • Calendar UI for date selection
      • File-existence check
      • Date highlighting (dates with files)
      • File-type filter (image/audio/video/alarm/normal)
      • Group display by time
      • File preview
      • File search
      • Pagination support
  • WebRTC technical details
    • Janus Gateway integration
      • Janus Admin API forwarding
      • Janus signaling-message forwarding
      • Janus result-message handling
      • Janus configuration retrieval
      • Janus ID retrieval
    • WebRTC online-status management
      • Device WebRTC online-status query
      • Device WebRTC online-status list
      • Device WebRTC status list
      • Server WebRTC online status
      • Server WebRTC online list
      • Device WebRTC keepalive
      • Server WebRTC keepalive
    • ICE Server management
      • ICE Server list retrieval
      • STUN Server configuration
      • TURN Server configuration
      • Coturn service deployment

3. Remote Control

  • Data Acquisition Server remote control
    • Server remote-control page
      • Server info display
      • Server status monitoring
      • Server configuration view
      • Server WebRTC configuration
    • Server settings
      • Disk management settings
      • Service management settings
      • Other configuration
    • Server dropdown menu
      • Quick-action menu
      • Server restart/shutdown
      • Server log view
  • Data Acquisition Device remote control
    • Device remote-control page
      • Device info display
      • Device status monitoring
      • Device configuration view
      • Device WebRTC configuration
    • Device settings
      • Live settings
      • Video settings
      • Recording settings
      • Audio settings
      • Image settings
      • Time settings
      • WiFi parameter settings
      • Mobile network parameter settings
      • Security parameter settings
      • User settings

4. Device Management (Device)

  • Device model management
    • Manufacturer management (Manufacturer)
      • Manufacturer CRUD
      • Manufacturer message listener
    • Device type management (Device Type)
      • Device type CRUD
      • Device type selector
      • Device type message listener
    • Data Acquisition Server model (Data Acquisition Server Model)
      • Model CRUD
      • Model view page
      • Model message listener
    • Data Acquisition Device model (Data Acquisition Device Model)
      • Model CRUD
      • Model edit page
      • Model view page
      • Model selector
      • Model message listener
    • Data Acquisition Box model (Data Acquisition Box Model)
      • Model CRUD
      • Model view page
      • Model selector
      • Model message listener
    • Fingerprint scanner model (Fingerprint Scanner Model)
      • Model CRUD
      • Model message listener
    • NFC card model (NFC Card Model)
      • Model CRUD
      • Model message listener
    • Talk server model (Talk Server Model)
      • Model CRUD
      • Model message listener
    • File storage server model (File Storage Server Model)
      • Model CRUD
      • Model message listener
  • Device instance management
    • Data Acquisition Server (Data Acquisition Server)
      • Server CRUD
      • Server edit page
      • Server view page
      • Server list page
      • Server message listener
      • Server file-storage binding
    • Data Acquisition Device (Data Acquisition Device)
      • Device CRUD
      • Device add page
      • Device edit page
      • Device view page
      • Device message listener
      • Device-info message listener
      • Device status save
      • Device location save
      • Device info save
    • Server-Device binding (Server Data Acquisition Device)
      • Binding CRUD
      • Binding add page
      • Binding view page
      • Binding list page
    • Data Acquisition Box (Data Acquisition Box)
      • Box CRUD
      • Box message listener
      • Box-fingerprint-scanner binding
    • Fingerprint scanner (Fingerprint Scanner)
      • Scanner CRUD
      • Scanner message listener
      • Fingerprint-report message listener
    • NFC card (NFC Card)
      • NFC card CRUD
      • NFC verification message listener
      • NFC report message listener
    • Talk server (Talk Server)
      • Talk server CRUD
      • Talk server device binding
      • Talk server message listener
    • File storage server (File Storage Server)
      • Storage server CRUD
    • Common device management
      • Device base controller
      • Device-model base class
      • Device message listener
      • Device-model message listener
      • Device-share management
      • Device-model selector
  • Firmware upgrade management (Firmware Package)
    • Firmware package management
      • Firmware package CRUD
      • Firmware package add page
      • Firmware package list page
      • Firmware package upload
      • Firmware package download root-path configuration
    • Firmware info management
      • Get device firmware info
      • List device firmware info
      • Push single firmware info
      • Bulk push firmware info
      • Firmware fetch function
    • Firmware upgrade flow
      • Upload firmware package to server
      • Push firmware info to device
      • Device downloads firmware package
      • Device upgrade-progress monitoring
      • Upgrade success/failure status reporting
      • Firmware rollback
  • Device online-status management
    • IoT online status
      • Device IoT online-status query
      • Device IoT online-status list
      • Device IoT status list
      • Device IoT keepalive
      • Server IoT keepalive
    • Online-status sync
      • Online-status-list consumer
      • Online-status keepalive consumer
      • Device online-status sync scheduler
    • Common status management
      • Device status list
      • User online query
      • User online list
      • User keepalive
  • Device data encryption
    • Device data encryption function
    • Device data decryption function
    • Secure-encoder integration (es-secure-encoder)
      • WASM compilation
      • Data encryption
      • JavaScript interop
      • Key management and data encryption

5. Report Management (Report)

  • User log (User Log)
    • User operation-log query
      • Log list query
      • Log pagination query
      • Log update
      • Log message listener
    • Operation-log recording
      • User login log
      • User operation audit
      • Operation-time recording
      • Operation-IP recording
  • MQTT connection log (MQTT Connection Log)
    • MQTT connection-log query
      • Connection-log list
      • Connection-time statistics
      • Connection success/failure records
    • MQTT connection scheduler
    • MQTT public-account sync scheduler
    • MQTT account management
      • MQTT account save function
      • MQTT account removal consumer
      • MQTT account DTO
  • MQTT connection statistics (MQTT Connection Statistics)
    • Connection-statistics report
      • Online-device count statistics
      • Offline-device count statistics
      • Connection-peak statistics
      • Connection-duration statistics
    • System-agent message listener
  • GPS log (GPS Log)
    • GPS log query
      • GPS position-record list
      • GPS track playback
      • GPS position update time
      • GPS accuracy info
    • GPS document-add scheduler
    • GPS API
    • GeoJSON API
  • Battery level log (Battery Level Log)
    • Battery-level log query
      • Battery-record list
      • Battery-level trend
      • Low-battery alert
      • Charging-status record
    • Battery document-add scheduler
    • Admin view
    • To-B view
  • Other logs
    • My-log listener
    • My-log scheduler
    • My-log function
    • Zfygb document-add scheduler

6. Configuration Management (Configuration)

  • Data dictionary (Data Dictionary)
    • Data dictionary type (Data Dictionary Type)
      • Type CRUD
      • Type add page
      • Type edit page
      • Type view page
      • Type list page
    • Data dictionary (Data Dictionary)
      • Dictionary CRUD
      • Dictionary add page
      • Dictionary selector
    • Data dictionary map (Data Dictionary Map)
      • Map CRUD
      • Map add page
      • Map edit page
      • Map view page
      • Map list page
      • Map API
    • Data dictionary table (Data Dictionary Table)
      • Table CRUD
      • Table add page
      • Table edit page
      • Table view page
      • Table list page
  • Value set (Value Set)
    • Value set type (Value Set Type)
      • Type CRUD
      • Type add page
      • Type selector
    • Value set (Value Set)
      • Value set CRUD
      • Value set add page
      • Value set view page
    • Value set map (Value Set Map)
      • Map CRUD
      • Map add page
      • Map API
    • Value set table (Value Set Table)
      • Table CRUD
      • Table edit page
  • Translation management (Translation)
    • Translation CRUD
    • Translation edit page
    • Translation listener
    • Multi-language support
      • Chinese (zh-CN)
      • English (en-US)
  • SMS configuration (SMS Config)
    • SMS configuration management
      • SMS configuration CRUD
      • SMS configuration list page
    • SMS template management
      • Template CRUD
      • Template-SMS-config association
    • SMS sending
      • SMS send API
      • SMS send records
    • SMS package management
      • SMS package query
      • SMS balance management
  • Other configuration
    • Email configuration (Email Config)
      • Email configuration CRUD
      • Email template management
      • Email-template-config association
      • Email sending
    • Notification configuration (Notification Config)
      • Notification configuration CRUD
      • Notification template management
      • Notification-template-config association
      • Notification sending
      • Notification user management
    • Base configuration controller

7. Operations Management

  • Database backup (Database Backup)
    • Database backup management
      • Backup list query
      • Manual backup trigger
      • Automatic backup scheduler
      • Backup file management
    • Backup file operations
      • Backup file download (single/batch)
      • Backup file-size display
      • Backup modified-time display
      • Backup type marker (auto/manual)
    • Backup security authentication
      • Timestamp retrieval
      • Token security verification
      • Encryption-service integration
  • Device file backup (Device File Backup)
    • Device file backup management
      • Backup task creation
      • Backup progress monitoring
      • Backup file list
    • File-index management
      • File-index CRUD
      • File-index thumbnail
      • File-index message listener
    • File upload controller
    • File upload function
    • DMS function
  • Agent client (Rust)
    • System management
      • System timestamp retrieval
      • System status monitoring
    • User management
      • User service
      • User repository
      • User model
      • User DTO
    • Backup management
      • Backup service implementation
      • Backup DTO
    • Message-queue integration
      • Producer
      • Consumer
      • Message-queue configuration
    • Task scheduling
      • Scheduler
      • Task runner
    • Database integration
      • SQLx PostgreSQL support
      • Database connection pool
    • API layer
      • Axum web framework
      • RESTful API implementation
      • Swagger UI integration
    • Configuration management
      • Application configuration
      • Environment-variable configuration
    • Security authentication
      • Password encryption
      • Ring crypto library

8. History Data Management (History)

  • Device status history
    • Device status history
      • Status-change records
      • Status snapshots
    • Device location history
      • Location-change records
      • Location snapshots
  • Data sync history
    • Data sync history
      • Sync-record query
      • Sync snapshots
    • Server data-sync audit
  • Device usage history
    • Data Acquisition Box usage history
      • Usage-record query
      • Usage snapshots
    • Fingerprint scanner usage history
      • Usage-record query
      • Usage snapshots
    • NFC card usage history
      • Usage-record query
      • Usage snapshots
  • Device check-out / return history
    • Device check-out history
      • Check-out record query
      • Check-out snapshots
    • Device return history
      • Return record query
      • Return file index
      • Return snapshots

9. Order Management (Order)

  • Order management
    • Order CRUD
    • Order-item management
    • Product management

10. Base Data Management (Base Data)

  • Talk-group management
    • Talk-group CRUD
    • Employee-talk-group association
  • Storage strategy
    • Storage-strategy CRUD

11. Messaging and Event Handling

  • MQTT message gateway
    • MQTT Gateway
      • MQTT connection management
      • MQTT message publishing
      • MQTT message subscription
      • MQTT QoS control
    • MQTT configuration
      • EMQX Broker integration
      • MQTT topic management
      • MQTT authentication and authorization
  • IoT message consumers
    • IoT V1 consumer
    • IoT V1 search consumer
    • IoT V1 categorized-info list
    • IoT V1 categorized-info reporting
    • Device-list refresh notification
  • Message-listener base classes
    • Message listener
    • Query message listener
    • WebRTC message listener
    • Management message listener
  • Application event listeners
    • Display-info application listeners
      • Main-service application listener
      • Device-service application listener

12. System Infrastructure

  • Cache management
    • JetCache integration
      • Redis cache
      • Local cache
      • Cache tiering
    • Cache configuration
    • Cache controller
    • String cache
  • Database integration
    • MyBatis Plus configuration
    • Mapper interfaces (98 Mappers)
    • Entities (98 Entities)
    • Services (98 Services)
    • MyBatis XML mapping files (392 Mapper XMLs)
  • Full-text search
    • MeiliSearch integration
      • MeiliSearch configuration
      • MeiliSearch proxy controller
      • MeiliSearch API
    • Document indexing
      • GPS document index
      • Battery document index
      • Other document indexes
  • Security configuration
    • Spring Security configuration
      • JWT authentication
      • Permission interception
      • Password encryption
      • Security Utils
    • CORS configuration
    • CSRF protection
  • Task scheduling
    • Async-task configuration
    • Scheduled tasks
      • GPS document-add scheduler
      • Battery document-add scheduler
      • MQTT connection scheduler
      • Device online-status sync scheduler
      • Other business schedulers
  • REST client
    • RestClient configuration
    • HTTP request wrapper
    • Exception handling
  • API documentation
    • SpringDoc configuration
    • Swagger UI
    • OpenAPI 3.0 specification
  • JSON processing
    • Jackson configuration
    • ObjectMapper customization
    • Date formatting
  • Spring configuration
    • Spring configuration
    • Environment configuration
    • Profiles management (dev/prod)
  • ES Center Server configuration
    • Configuration properties
    • Custom configuration
    • Plus configuration
  • AOP aspects
    • Message aspect

13. Frontend Architecture (React Router 7 + TypeScript)

  • Routing
    • 191 route pages
    • 341 TSX component files
    • Nested route structure
    • Dynamic route parameters
  • UI component library
    • Shadcn UI components
    • Tailwind CSS styling
    • Radix UI primitives
    • Responsive design
      • Desktop adaptation
      • Mobile adaptation
      • Tablet adaptation
      • Multi-resolution support
    • Interaction experience
      • Animation effects
      • Transition effects
      • Loading states
      • Error feedback
  • State management
    • Zustand state management
      • Device state management
      • User state management
    • React Hook Form
      • Form validation
      • Form state management
  • Data requests
    • ahooks useRequest
      • Request caching
      • Request polling
      • Request debounce/throttle
    • API client wrapper
  • Map integration
    • Leaflet map library
    • Leaflet.markercluster clustering
    • proj4leaflet projection conversion
    • Map component wrapper
  • Internationalization
    • react-i18next
    • Translation-resource management
  • Performance optimization
    • Code splitting
    • Lazy loading
    • Cache strategy
    • Performance monitoring

14. Installation and Deployment (Python Installer)

  • Docker container deployment
    • Docker install script
    • Docker image loading
    • Docker image download
  • Service deployment scripts (77 deployment scripts)
    • PostgreSQL deployment
    • Redis deployment
    • MeiliSearch deployment
    • EMQX deployment
    • ActiveMQ Artemis deployment
    • Coturn deployment
    • Janus deployment
    • Nginx deployment
    • Nginx SSL deployment
    • Main-service deployment
    • Device-service deployment
    • Agent deployment
    • Web app deployment
    • Launcher deployment
    • Service initialization
  • Installation management
    • Install-service core
    • Upgrade-service core
    • Update-service core
    • SSL update service
    • Coturn service install
    • Janus service install
  • CLI tool
    • Command-line interface
    • Common utilities

15. Version Control and Collaboration

  • Git management
    • Git repository management
    • Branch strategy
    • Commit conventions
  • Multi-module architecture
    • Main-service module (es-center-server-main-service)
      • 128 Controllers
      • User-center management
      • Device management
      • Configuration management
    • Device-service module (es-center-server-device-service)
      • MQTT message handling
      • WebRTC signaling handling
      • Device status management
    • DTO module
      • Device DTO
      • Log DTO
      • Base-data DTO
      • Other DTO modules
    • Common module
      • Common device logic
      • Common base-data logic
      • Common history-data logic
      • Other common modules (26 Common modules)
  • Dependency management
    • Gradle 9.2.1 build tool
    • Version-catalog management
    • Dependency-update checks

16. Statistics

  • Code scale
    • Backend Java files: 1496
    • Frontend TSX files: 341
    • Controllers: 128
    • Services: 98
    • Mapper interfaces: 98
    • Entities: 98
    • MyBatis XML: 392
    • Listeners: 71
    • Consumers: 16
    • Route pages: 191
  • Tech-stack statistics
    • Backend framework: Spring Boot 3.5.8 + MyBatis Plus
    • Frontend framework: React Router 7 + TypeScript
    • Database: PostgreSQL
    • Cache: Redis + JetCache
    • Message queue: ActiveMQ Artemis
    • MQTT Broker: EMQX
    • WebRTC: Janus Gateway
    • Full-text search: MeiliSearch
    • Agent service: Rust + Axum
    • Encryption service: Rust + WASM
    • Install tooling: Python
    • Containerization: Docker
    • Map: Leaflet
    • UI components: Shadcn UI + Tailwind CSS