chrissimon-au/tdd-ddd-demo-java
52.6
Adequate · 21 September 2026
498
lines of production code
Java
primary language
4
measurements over time
What this system is
This is a Spring Boot-based University Management API that provides RESTful endpoints for managing students, courses, rooms, and enrolments. The system supports core academic operations including student registration, course cataloging, room allocation, and scheduling. It is backed by a JPA data layer and includes comprehensive integration tests for all primary workflows.
Features
Initial project scaffolding and build tooling
The repository was initialized with a Maven-based Java project structure, including the Maven wrapper scripts (mvnw, mvnw.cmd) and an initialization script (init.sh) that sets up the base Spring Boot application. Additionally, shell scripts (backwards.sh, forwards.sh) were added to manage git history navigation, and the .gitignore file was updated to include standard IDE and build artifacts.
(repo-wide) · high confidence
Initial release of the University API with core domain models and controllers
The application now includes the foundational domain entities—Course, Enrolment, Room, and Student—alongside their respective Spring Data repositories and REST controllers. This change introduces endpoints for registering students, creating and retrieving courses, setting up rooms, and managing enrolments, establishing the base structure for the university management system.
src/main · high confidence
Behavioural changes
Initialize base maven project using spring initializr
The project now includes a Maven wrapper configuration (.mvn/wrapper/maven-wrapper.properties) that specifies Maven version 3.8.7 and the Maven Wrapper 3.1.1, ensuring consistent build environments across the project.
.mvn · medium confidence
Test coverage
Added automated tests for the student course enrolment workflow; Added course API test helpers and test cases; Added initial test infrastructure for the University API; Added integration and unit tests for the scheduling feature; Added test coverage for room management API; Added tests for student registration and retrieval.
Dependencies
Initialize Spring Boot project with core dependencies
The project has been initialized as a Spring Boot application (version 3.0.5) using Spring Initializr. This adds the foundational build configuration and dependencies, including Spring Boot starters for Web, WebFlux, Data JPA, and Validation, along with H2 for in-memory database support and necessary testing libraries.
(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 53 → 53 (+0.0)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 69 → 69 (+0.0)
- Maturity 71 → 56 (-14.6)
- Readiness 26 → 33 (+7.7)
- Security 100 → 100 (+0.0)
Resolved (7)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- No exposed public API
- Scanner failed to run — not a clean result
- Test reliability not included
- no production source files with tracked history to analyse
- single-maintainer — knowledge-concentration (bus factor) risk
New (21)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- No direct assertions: contextLoads (src/test/java/au/chrissimon/universityapi/UniversityApiApplicationTests.java)
- No direct assertions: givenIAmARegisteredStudent_WhenIEnrolInACourse (src/test/java/au/chrissimon/universityapi/Enroling/EnrolingTests.java)
- No direct assertions: givenIAmAStudent_WhenIRegister (src/test/java/au/chrissimon/universityapi/Students/StudentTests.java)
- No direct assertions: givenIAmAnAdmin_WhenIIncludeANewCourseInTheCatalog (src/test/java/au/chrissimon/universityapi/Courses/CourseTests.java)
- No direct assertions: givenIAmAnAdmin_WhenISetupANewRoom (src/test/java/au/chrissimon/universityapi/Rooms/RoomTests.java)
- No direct assertions: givenIHaveEnroled_WhenICheckMyEnrolment (src/test/java/au/chrissimon/universityapi/Enroling/EnrolingTests.java)
- No direct assertions: givenIHaveIncludedACourse_WhenICheckTheCourseDetails (src/test/java/au/chrissimon/universityapi/Courses/CourseTests.java)
- No direct assertions: givenIHaveRegistered_WhenICheckMyDetails (src/test/java/au/chrissimon/universityapi/Students/StudentTests.java)
- No direct assertions: givenIHaveSetupARoom_WhenICheckItsDetails (src/test/java/au/chrissimon/universityapi/Rooms/RoomTests.java)
- No direct assertions: givenIHaveTheWrongCourseId_WhenIEnrolInACourse (src/test/java/au/chrissimon/universityapi/Enroling/EnrolingTests.java)
- No direct assertions: givenIHaveTheWrongId_WhenICheckMyDetails (src/test/java/au/chrissimon/universityapi/Students/StudentTests.java)
- No direct assertions: givenIHaveTheWrongId_WhenICheckTheCourseDetails (src/test/java/au/chrissimon/universityapi/Courses/CourseTests.java)
- No direct assertions: givenIHaveTheWrongId_WhenICheckTheRoomDetails (src/test/java/au/chrissimon/universityapi/Rooms/RoomTests.java)
- No direct assertions: givenIHaveTheWrongStudentId_WhenIEnrolInACourse (src/test/java/au/chrissimon/universityapi/Enroling/EnrolingTests.java)
- No direct assertions: givenThereAreMultiplesCoursesAndRooms_WhenIScheduleCourses (src/test/java/au/chrissimon/universityapi/Scheduling/SchedulingTests.java)
- No direct assertions: givenThereIsASingleCourseAndRoom_WhenIScheduleCourses (src/test/java/au/chrissimon/universityapi/Scheduling/SchedulingTests.java)
- Scanner failed to run — not a clean result
- …and 1 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
chrissimon-au/tdd-ddd-demo-java 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 2341beef6b2be4021b27c3a2f74aa1e39686af2f — 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.