Powiedzmy, że mam typowy sklep internetowy.
- Klient może dodawać recenzje produktów.
- W widoku produktu wraz z każdą recenzją powinno pojawić się też imię i nazwisko autora (klienta).
- Klient może przeglądać w osobnym widoku wszystkie swoje recenzje wraz z krótką informacją o produkcie, którego dana recenzja dotyczy.
- Klient może uznać recenzję za pomocną lub niepomocną - wraz z recenzją powinna pojawić się informacja o tym, ilu użytkowników uznało ją za pomocną, a ilu wręcz przeciwnie - niezależnie od widoku, w którym jest wyświetlana (punkty 2 i 3).
- Klient może oceniać produkty.
- Wraz z produktem powinna pojawić się też średnia wszystkich ocen.
- Klient może przeglądać w osobnym widoku wszystkie produkty, które ocenił, wraz z przyznaną oceną.
W TS miałbym klasy: User
, Customer
, Product
, ProductReview
, ProductRate
, ReviewReaction
. Jak będą wyglądały bounded contexty przy takich początkowych wymaganiach?