Files

2.6 KiB

Main Application

Overview

The Main Application is DeepData's core Spring Boot service, containing major functional modules including data management, data cleaning, operator marketplace, and data collection.

Architecture

backend/services/main-application/
├── src/main/java/com/deepdata/main/
│   ├── interfaces/
│   │   ├── rest/       # Controllers
│   │   ├── dto/        # Request/Response DTOs
│   │   └── converter/   # MapStruct converters
│   ├── application/     # Application services
│   ├── domain/
│   │   ├── model/       # Entities
│   │   └── repository/  # Repository interfaces
│   └── infrastructure/
│       ├── persistence/  # Repository implementations
│       ├── client/       # External API clients
│       └── config/       # Service configuration
└── src/main/resources/
    ├── application.yml                # Main configuration
    ├── config/application-datamanagement.yml  # Data management config
    └── config/application-datacollection.yml   # Data collection config

Modules

1. Data Management

  • Dataset CRUD operations
  • File upload/download
  • Tag management
  • Dataset versioning

2. Data Collection

  • Data source configuration
  • Scheduled data collection tasks
  • Data synchronization
  • Data import/export

Configuration

Port

  • Default: 8080
  • Context Path: /api

Key Configuration

server:
  port: 8080
  servlet:
    context-path: /api

deepdata:
  data-management:
    base-path: /dataset

Quick Start

Prerequisites

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

Build

cd backend/services/main-application
mvn clean install

Run

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

Development

Adding a New Module

  1. Create entity class in domain/model/
  2. Create repository interface in domain/repository/
  3. Implement repository in infrastructure/persistence/
  4. Create application service in application/
  5. Create controller in interfaces/rest/

Testing

Run Tests

cd backend/services/main-application
mvn test

Run Specific Test

mvn test -Dtest=DatasetControllerTest

Documentation