baseline
Pre-releaseRelease Notes (Pre-Release: Baseline)
Summary
This checkpoint marks a significant structural cleanup and unification across all core features (Moments, Activities, Notes, Users). The codebase now exhibits a consistent four-layer architecture (Domain, Repository, Service, Router) and improved testing patterns. While not intended for production, this release serves as a stable reference baseline for future development.
Key Highlights
-
Consistent Testing Approach
- Aligned the Note feature with the same test strategy used by Moments, Activities, and Users.
- Resolved partial mock issues in the Note router tests, ensuring foreign key constraints are satisfied and
id/created_atfields are properly set.
-
Domain Layer Refinements
- Centralized all domain validation and logic into domain classes (e.g.,
ActivityData,MomentData,NoteData,UserData). - Confirmed that no HTTP or ORM references leak into domain models; domain-specific exceptions remain separate from HTTP exceptions.
- Centralized all domain validation and logic into domain classes (e.g.,
-
Service & Repository Consistency
- Confirmed that repositories focus purely on data access.
- Services handle domain exceptions by raising
HTTPExceptionas needed, maintaining the architecture’s clean separation of concerns.
-
Improved Code Organization
- Strengthened naming conventions and file structures (one file per entity/layer).
- Updated tests for each entity (unit tests in domain, repository, service, router layers).
Next Steps
- Further refine any small edge cases discovered in testing.
- Continue adding new features (e.g., additional domain logic, GraphQL expansions) using the same approach.
- Potentially merge this pre-release into a later version once additional features or QA steps confirm stability.
Purpose
This pre-release serves as an internal checkpoint, providing a well-defined baseline. It is not intended for production deployment but ensures future development can branch from a thoroughly tested, consistently structured codebase.
Full Changelog: https://github.com/codevalley/friday-api/commits/v0.1.0-alpha.1