[x] wyodrębnić ValueObjects
~- [ ] encja User może mieć więcej "odpowiedzialności" (podejście bardziej DDD), np. zarządzanie swoimi zdjęciami (np. przez metody AddPhoto, ChangePhotoOridinal, DeletePhoto, itd. - wtedy można przerzucić walidację liczby obrazów do tych metod), matchami, wiadomościami, itd. W takim przypadku User będzie w centrum całej aplikacji i manipulowanie zdjęciami, matchami, wiadomościami będzie musiało odbywać się poprzez Usera, a co za tym idzie poprzez UserRepository. Do przemyslenia czy to nie wplynie negatywnie na wydajność bazy + takie podejście mocno ogranicza możliość modularyzacji aplikacji, bo wszystko będzie mocno związane ze sobą za pomocą User~
[x] User.Sex i UserSettings.DiscoverSex to nie powinno być to samo
[x] enumy to nie encje, przenieść
~- [ ] zdarzenie - nowy match powinno być zdefiniowane jakoś w warstwie domeny, a nie dopiero w Api~