Instruction file imported from YanhanLi/online_study_sys (
.cursor/rules/04-module-structure.mdc). Copyright stays with the author.
PlayEdu Module Structure
PlayEdu follows a modular architecture with separate modules for different concerns:
Module Organization
Each module follows a similar structure with domain models, services, and mappers:
-
playedu-api: Main API controllers and application entry point
- Controllers - API endpoints
- Request DTOs - Request data objects
- Configuration - Module-specific configuration
-
playedu-common: Shared utilities, base classes, and common functionality
- Constants - System constants
- Exceptions - Custom exceptions
- Utilities - Common utility classes
- Base Models - Base model classes
-
playedu-resource: Resource management (files, media, etc.)
- Domain Models - Entity classes
- Services - Business logic
- Mappers - Database access layer
-
playedu-course: Course management functionality
- Domain Models - Course entities
- Services - Course business logic
- Mappers - Course data access
-
playedu-system: System administration functionality
- Domain Models - System entities
- Services - System business logic
- Mappers - System data access
Domain-Driven Design
The codebase follows a layered architecture with:
- Controllers: Handle API requests and responses
- Services: Implement business logic
- Mappers: Data access layer (using MyBatis)
- Domain models: Entity classes representing business objects
This modular approach allows for separation of concerns and easier maintainability.