I'm designing modules in web chess game and I feel confused in some case.
I've separated several modules (aggregates):
- Profile (id, name, photo, isActive)
- Ranking (id, value, list of ranking changes (date, ranking difference, opponent id))
- Purchases (id, money, list of puchase position (id, shopItemType, date))
It looks good because these aggregates are small, but it seems a bit artificial. Ranking and Purchases is one to one with Profile. All these three agregates seem to be one aggregate. If I delete Profile by id I have to delete Ranking and Purchases too.
If I created one aggregate (profile data, ranking data and purchases data) it would be too big (SRP ??).
Could you guys give me some advices ?