xtoon/xtoon-boot-ddd
51.6
Adequate · 21 September 2026
10.1k
lines of production code
Java
primary language
4
measurements over time
What this system is
This system is a monolithic application scaffolding framework designed to provide a structured foundation for building enterprise applications. It offers core infrastructure services including user and tenant management, authentication, and security controls. Additionally, it provides domain-specific modules for managing organizational structures, such as employees, offices, and job positions. The architecture is organized into distinct modules for common utilities, system services, and API controllers, facilitating a clear separation of concerns.
Features
Database schema updated to version 1.3.0 with new organizational tables
The database schema has been updated to version 1.3.0, introducing support for a new organizational structure. This update adds five new tables to the database: \org\_employee\ for storing employee details, \org\_office\ for managing organizational units, and \org\_post\ for job positions. Additionally, it includes two relationship tables, \org\_employee\_office\ and \org\_employee\_post\, which link employees to their respective offices and job positions. These changes enable the system to manage complex organizational hierarchies and employee-role assignments.
db · high confidence
New domain models and application services for authentication, captcha, and user/tenant management
This change introduces the core domain models and application services for the system's security and user management features. It adds domain models for employees, offices, and posts, alongside new services for handling CAPTCHA generation and validation, user authentication (including login by account, mobile, and token), and tenant registration and querying. The update also includes the corresponding repository implementations and DTOs required to support these new capabilities.
xtoon-sys · high confidence
New employee, office, and post management interfaces and domain models
The xtoon-org module introduces new application service interfaces and implementations for managing employees, offices, and posts. This includes the creation of \EmployeeApplicationService\, \OfficeApplicationService\, and \PostApplicationService\ along with their corresponding query services (\EmployeeQueryService\, \OfficeQueryService\, \PostQueryService\). The diff also adds command objects (\EmployeeCommand\, \OfficeCommand\, \PostCommand\) and DTOs (\EmployeeDTO\, \OfficeDTO\, \PostDTO\) to support these operations. Additionally, domain model classes such as \EmployeeName\, \EmployeeNo\, \SexEnum\, \OfficeCode\, \OfficeName\, \PostCode\, and \PostName\ are introduced to encapsulate business rules for these entities. Some existing files like \SysTenantServiceFacade\ and \Email\/\Mobile\ types have been renamed and moved to align with the new organizational structure.
xtoon-org · high confidence
Removals
Removed legacy account, tenant, and user management endpoints and implementations
Deleted the legacy service interfaces and implementations for account, tenant, and user management (including AccountService, TenantService, and UserService), along with their corresponding Facade implementations, controllers, and supporting domain classes (factories, repositories, specifications, and converters). This removes the previous registration, login, and user management capabilities from the system.
src/main · high confidence
Architecture
Refactored common utilities and domain models into the xtoon-common module
This change reorganizes the codebase by moving shared domain models (such as Specification, Entity, ValueObject, and StatusEnum) and utility classes (including UserContext, TenantContext, and various helper classes) from the main application's infrastructure and domain packages into the xtoon-common module. This includes renaming packages from com.xtoon.boot.domain.shared and com.xtoon.boot.infrastructure to com.xtoon.boot.common.domain and com.xtoon.boot.common.util. Additionally, the MyBatis interceptor was updated to use the new UserContext for retrieving the current user's ID, and the Page class was simplified by removing the sameValueAs method. Test coverage was added for specification logic (And, Or, Not) and utility classes.
xtoon-common · high confidence
Behavioural changes
Refactor xtoon-api controllers to use application services
Controllers in the xtoon-api module have been refactored to replace direct calls to facade services with application services (e.g., UserApplicationService, RoleApplicationService, PermissionApplicationService). This change separates the web layer from the business logic, moving validation and data transformation into the application layer. Additionally, common classes such as AbstractController, Result, and utility classes have been moved from the infrastructure package to the web package, and the LogController has been renamed to reflect its new location.
xtoon-api · high confidence
Updated project documentation and configuration
The README.md was updated to reflect version 1.2.0, corrected the project description to specify 'monolithic application scaffolding' instead of 'SaaS platform', and added Swagger and Hibernate-validator to the technology stack. Additionally, the .gitignore was updated to exclude .DS\_Store files.
(repo-wide) · high confidence
Test coverage
Removed obsolete test classes for user, permission, role, and system facade components
The test suite for the user domain model (Account, Permission, Role, User) and several system-level service facades (SysLog, SysPermission, SysTenant, SysUserService) has been removed. Additionally, the unit tests for the MyBatis repository implementations (TenantRepositoryImpl, UserRepositoryImpl) and the SysLogController have been deleted, indicating a cleanup of outdated or unused test coverage in the src/test directory.
src/test · high confidence
Dependencies
Migrate to multi-module Maven project structure
The project has been restructured from a single-module Maven build into a multi-module architecture. The root \pom.xml\ now defines modules \xtoon-common\, \xtoon-sys\, \xtoon-org\, and \xtoon-api\, with common dependencies and properties moved from the root to the \xtoon-common\ module. This change isolates shared libraries (such as MyBatis-Plus, Shiro, and Fastjson) into the common module, while \xtoon-api\, \xtoon-sys\, and \xtoon-org\ now depend on \xtoon-common\ for their shared functionality.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 49 → 52 (+2.5)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 95 → 96 (+1.7)
- Architecture 100 → 87 (-12.7)
- Maturity 57 → 57 (-0.0)
- Readiness 18 → 26 (+7.9)
- Security 97 → 97 (+0.0)
Resolved (8)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (7 lines × 2) (xtoon-common/src/main/java/com/xtoon/boot/common/util/xss/HTMLFilter.java)
- No exposed public API
- Scanner failed to run — not a clean result
- Test reliability not included
- early-stage repository — too few commits for a meaningful bus factor
- early-stage repository — too little history to judge knowledge freshness
New (23)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no contributor guidance (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (11 lines × 4) (xtoon-common/src/main/java/com/xtoon/boot/common/domain/StatusEnum.java)
- Duplicated block (11 lines × 4) (xtoon-common/src/main/java/com/xtoon/boot/common/domain/StatusEnum.java)
- Duplicated block (20 lines × 10) (xtoon-org/src/main/java/com/xtoon/boot/org/domain/model/employee/EmployeeId.java)
- Duplicated block (20 lines × 2) (xtoon-org/src/main/java/com/xtoon/boot/org/domain/model/office/OfficeCode.java)
- Duplicated block (20 lines × 8) (xtoon-org/src/main/java/com/xtoon/boot/org/domain/model/employee/EmployeeName.java)
- Duplicated block (21 lines × 2) (xtoon-org/src/main/java/com/xtoon/boot/org/domain/model/employee/Email.java)
- Duplicated block (22 lines × 2) (xtoon-org/src/main/java/com/xtoon/boot/org/domain/model/employee/Mobile.java)
- Duplicated block (22 lines × 3) (xtoon-sys/src/main/java/com/xtoon/boot/sys/domain/model/captcha/CaptchaCode.java)
- Duplicated block (7 lines × 2) (xtoon-common/src/main/java/com/xtoon/boot/common/util/xss/HTMLFilter.java)
- Hotspot: xtoon-common/src/main/java/com/xtoon/boot/common/util/mybatis/MybatisInterceptor.java (xtoon-common/src/main/java/com/xtoon/boot/common/util/mybatis/MybatisInterceptor.java)
- No ADRs found
- No assertions: delete (xtoon-sys/src/test/java/com/xtoon/boot/sys/infrastructure/persistence/repository/PermissionRepositoryImplTest.java)
- No assertions: isSatisfiedBy (xtoon-sys/src/test/java/com/xtoon/boot/sys/domain/specification/LoginByAccountSpecificationTest.java)
- No assertions: isSatisfiedBy (xtoon-sys/src/test/java/com/xtoon/boot/sys/domain/specification/LoginByTokenSpecificationTest.java)
- No assertions: store (xtoon-sys/src/test/java/com/xtoon/boot/sys/infrastructure/persistence/repository/CaptchaRepositoryImplTest.java)
- No assertions: store (xtoon-sys/src/test/java/com/xtoon/boot/sys/infrastructure/persistence/repository/LogRepositoryImplTest.java)
- …and 3 more
Architecture
- Containers 0 added · 0 removed · contexts 0 added · 1 removed · edges 0 added · 0 removed
Removed bounded contexts (1)
- xtoon-sys
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
xtoon/xtoon-boot-ddd was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit bb226216f6a6ebca90074f2cf924b1e7d998dbb0 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.