Skip to content

Latest commit

 

History

History
112 lines (88 loc) · 2.48 KB

File metadata and controls

112 lines (88 loc) · 2.48 KB

Main Application

Overview

The Main Application is DataMate'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/datamate/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

datamate:
  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

Related Links