The Main Application is DataMate's core Spring Boot service, containing major functional modules including data management, data cleaning, operator marketplace, and data collection.
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
- Dataset CRUD operations
- File upload/download
- Tag management
- Dataset versioning
- Data source configuration
- Scheduled data collection tasks
- Data synchronization
- Data import/export
- Default: 8080
- Context Path:
/api
server:
port: 8080
servlet:
context-path: /api
datamate:
data-management:
base-path: /dataset- JDK 21+
- Maven 3.8+
- PostgreSQL 12+
- Redis 6+
cd backend/services/main-application
mvn clean installcd backend/services/main-application
mvn spring-boot:run- Create entity class in
domain/model/ - Create repository interface in
domain/repository/ - Implement repository in
infrastructure/persistence/ - Create application service in
application/ - Create controller in
interfaces/rest/
cd backend/services/main-application
mvn testmvn test -Dtest=DatasetControllerTest- Spring Boot Docs: https://docs.spring.io/spring-boot/
- AGENTS.md