- The service is intentionally shipped as a monolithic backend for v1.0 to reduce operational overhead and keep delivery scope focused.
- The codebase follows Clean Architecture-inspired layering (presentation, application, domain, infrastructure) with pragmatic coupling where it improves implementation speed and maintainability.
- Packaging is feature-oriented (
board,project,task,security, etc.) while preserving layer separation inside each feature.
- Authorization uses a hybrid model:
- Global roles (for example admin-only operational actions).
- Membership and ownership checks at service level for board/project/task operations.
- Ownership and collaborator checks are enforced in application/domain services rather than only via URL-level role checks.
- HTTP semantics are explicit:
401for missing/invalid authentication.403for authenticated users without permission.404when resources are not found (including membership-filtered access patterns in some flows).
- Structural DTO validation was expanded to enforce request-shape constraints at boundary level.
@Validis consistently applied on request DTO entry points.IllegalArgumentExceptionis mapped to400 Bad Requestthrough centralized exception handling.- Result: API contract behavior is stabilized for malformed payloads and invalid argument combinations.
- JWT signing and verification is configured for
RS256. - A JWKS endpoint is exposed for key discovery.
- Key rotation is implemented as a manual, file-based operation in v1.0.
- The API remains stateless at HTTP session level.
- Strict domain isolation from Spring Data abstractions is not fully enforced.
- Key rotation is not automated.
- Concealment normalization between
403and404is not globally standardized. - Distributed architecture is intentionally deferred; no microservice split in v1.0.
- CI/CD pipeline automation is not included as part of v1.0 scope.
- Improve automated key rotation and operational key management.
- Unify authorization response semantics where concealment vs explicit denial is needed.
- Move closer to strict hexagonal boundaries where practical.
- Expand observability (metrics, tracing, structured operational dashboards).
- Authorization contract stabilized
- Validation hardening completed
- Centralized exception mapping implemented
- Membership-based access enforced
- JWT + JWKS configured
- Bruno integration suite green
- Documentation aligned
- Release tag prepared