Skip to content

Comments

Refactor Domain project to organize types by Aggregate#13

Merged
mohaaron merged 1 commit intotrunkfrom
claude/issue-12-20260201-1835
Feb 1, 2026
Merged

Refactor Domain project to organize types by Aggregate#13
mohaaron merged 1 commit intotrunkfrom
claude/issue-12-20260201-1835

Conversation

@mohaaron
Copy link
Owner

@mohaaron mohaaron commented Feb 1, 2026

Fixes #12

Reorganized the Domain project structure to follow DDD principles more closely by moving aggregate-specific types into their respective aggregate folders:

Changes

Account Aggregate:

  • Moved PersonName, Email, Password value objects

Budgets Aggregate:

  • Moved BudgetCalculator service

Debts Aggregate:

  • Moved MoneyOwed, MoneyPaid value objects

Shared types (Money, Currency, Address, etc.) remain in their current locations as they are used across multiple aggregates.

Verification

  • ✅ Build successful
  • ✅ All tests passing (6/6)
  • ✅ No breaking changes

🤖 Generated with Claude Code) | [View job run](https://github.com/mohaaron/BlazingBudget/actions/runs/21568096182

Reorganized the Domain project structure to follow DDD principles more closely by moving aggregate-specific types into their respective aggregate folders:

Account Aggregate:
- Moved PersonName, Email, Password value objects

Budgets Aggregate:
- Moved BudgetCalculator service

Debts Aggregate:
- Moved MoneyOwed, MoneyPaid value objects

Shared types (Money, Currency, Address, etc.) remain in their current locations as they are used across multiple aggregates.

All tests passing. Build succeeds without errors.

Co-authored-by: Aaron Prohaska <mohaaron@users.noreply.github.com>
@mohaaron mohaaron self-assigned this Feb 1, 2026
@mohaaron mohaaron merged commit 36bade4 into trunk Feb 1, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refactor Domain project

1 participant