Files
deepdata/backend
figmar 4e2ec55167
CodeQL Advanced / Analyze (actions) (push) Canceled after 0s
CodeQL Advanced / Analyze (java-kotlin) (push) Canceled after 0s
CodeQL Advanced / Analyze (javascript-typescript) (push) Canceled after 0s
CodeQL Advanced / Analyze (python) (push) Canceled after 0s
Docker Image Build & Push / manifest (push) Canceled after 0s
Docker Image Build & Push / build-and-push-arm (push) Canceled after 0s
Docker Image Build & Push / build-and-push-amd (push) Canceled after 0s
Docker Image Build & Push / manifest (push) Canceled after 0s
Docker Image Build & Push / build-and-push-arm (push) Canceled after 0s
Docker Image Build & Push / build-and-push-amd (push) Canceled after 0s
Frontend Docker Image CI / Build and Push Frontend Docker Image (push) Canceled after 0s
Gateway Docker Image CI / Build and Push Gateway Docker Image (push) Canceled after 0s
M5: 方法更新移植 —— 移除 accountOnly/定时同步,本地登录与 Casdoor SSO 并存,登录时自动建号
- 网关: CasdoorProperties 移除 accountOnly/sync* 配置块; SsoConfigController 移除 /sync 管理端点; UserController 移除本地登录/注册 403
- 删除 CasdoorAccountSyncService/CasdoorAdminClient/CasdoorUserDto (定时全量同步方案废弃, 由 CasdoorUserService.upsertFromCasdoor 登录时自动建号替代)
- 保留既有修复: JJWT 0.12 适配(IdTokenVerifier/validateToken), updateById 修主键, RoleResolver owner/name 组名处理, WebFlux 兼容
- 前端: LoginDialog 移除 accountOnly 条件(本地登录+SSO 按钮恒显), Header 恢复注册入口恒显
2026-09-01 18:04:28 +08:00
..

DeepData Backend

Overview

DeepData Backend is a microservices architecture based on Spring Boot 3.5 + Java 21, providing core functions such as data management, RAG indexing, and API gateway.

Architecture

backend/
├── api-gateway/          # API Gateway + Authentication
├── services/
│   ├── data-management-service/  # Dataset management
│   ├── rag-indexer-service/      # RAG indexing
│   └── main-application/         # Main application entry
└── shared/
    ├── domain-common/    # DDD building blocks, exception handling
    └── security-common/  # JWT utilities

Services

Service Port Description
main-application 8080 Main application, includes data management, data cleaning, operator marketplace modules
api-gateway 8080 API Gateway, route forwarding and authentication

Technology Stack

  • Framework: Spring Boot 3.5.6, Spring Cloud 2025.0.0
  • Language: Java 21
  • Database: PostgreSQL 8.0.33 + MyBatis-Plus 3.5.14
  • Cache: Redis 3.2.0
  • Vector DB: Milvus (via SDK 2.6.6)
  • Documentation: SpringDoc OpenAPI 2.2.0
  • Build: Maven

Dependencies

External Services

  • PostgreSQL: deepdata-database:5432
  • Redis: deepdata-redis:6379
  • Milvus: Vector database (RAG indexing)

Shared Libraries

  • domain-common: Business exceptions, system parameters, domain entity base classes
  • security-common: JWT utilities, auth helpers

Quick Start

Prerequisites

  • JDK 21+
  • Maven 3.8+
  • PostgreSQL 12+
  • Redis 6+

Build

cd backend
mvn clean install

Run Main Application

cd backend/services/main-application
mvn spring-boot:run

Run API Gateway

cd backend/api-gateway
mvn spring-boot:run

Development

Module Structure (DDD)

com.deepdata.{module}/
├── interfaces/
│   ├── rest/       # Controllers
│   ├── dto/        # Request/Response DTOs
│   ├── converter/   # MapStruct converters
│   └── validation/  # Custom validators
├── application/     # Application services
├── domain/
│   ├── model/       # Entities
│   └── repository/  # Repository interfaces
└── infrastructure/
    ├── persistence/  # Repository implementations
    ├── client/       # External API clients
    └── config/       # Service configuration

Code Conventions

  • Entities: Extend BaseEntity<ID>, use @TableName("t_*")
  • Controllers: @RestController + @RequiredArgsConstructor
  • Services: @Service + @Transactional
  • Error Handling: throw BusinessException.of(ErrorCode.XXX)
  • MapStruct: @Mapper(componentModel = "spring")

Testing

# Run all tests
mvn test

# Run specific test
mvn test -Dtest=ClassName#methodName

# Run specific module tests
mvn -pl services/data-management-service -am test

Configuration

Environment Variables

  • DB_USERNAME: Database username
  • DB_PASSWORD: Database password
  • REDIS_PASSWORD: Redis password
  • JWT_SECRET: JWT secret key

Profiles

  • application.yml: Default configuration
  • application-dev.yml: Development overrides

Documentation