Owns the Employee and Assignment domains.
- Java 21, Spring Boot 3.5
- Spring Data JPA + Hibernate (community SQLite dialect)
- SQLite
| Method | Path | Description |
|---|---|---|
| GET | /health |
Liveness check |
| GET | /employees |
List employees (filter department, active) |
| GET | /employees/{id} |
Get one |
| POST | /employees |
Create |
| PUT | /employees/{id} |
Update |
| DELETE | /employees/{id} |
Delete |
| GET | /assignments |
List (filter employeeId, assetId) |
| GET | /assignments/{id} |
Get one |
| POST | /assignments |
Assign an asset to an employee |
| POST | /assignments/{id}/return |
Mark an assignment returned |
./mvnw spring-boot:runor with Maven directly:
mvn spring-boot:runmvn test- Inactive employees can still receive new assets (rule not enforced).
returnedDateis not validated againstassignedDate(rule not enforced).- No outbound POST to
audit-svcon assignment changes — wiring this up is a course exercise. - Notifications webhook to
notifications-svcswallows errors silently — "add resilience" is a future exercise.