IngameUsers - emkarcinos/WMIAdventure GitHub Wiki

IngameUsers

W tym module znajdziemy informację o użytkownikach wewnątrz aplikacji. Dane użytkowników dotyczące autoryzacji i USOS znajdują się w Users. Mamy tutaj głównie CRUDowe operację na bazie danych, obecnie bez żadnej logiki biznesowej.

Diagram klas

UserProfile

Przechowuje podstawowe informacje o profilu użytkownika.

  • user - Klucz obcy na User (więcej w Users)
  • displayedUsername - Nazwa użytkownika wyświetlana w aplikacji -
  • semester - Klucz obcy na Semester
  • userStats - Nie zaimplementowane

Semester

Tabela słownikowa. Na razie jest tu tylko numer semestru, jeżeli w przyszłości będziemy chcieli nadać nazwy semestrom, to właśnie tutaj jest na to miejsce.

UserCard

Łączy karty z danym użytkownikiem. Encja reprezentujące relację wiele-do-wielu.

  • userProfile - Klucz obcy na UserProfile
  • card - Klucz obcy na Card (Więcej w Cards).

Para (userProfile, card) musi być unikalna.

Deck

Każdy użytkownik ma dwa decki. W każdym z decków jest 5 kart, których kolejność jest istotna, dlatego dla każdej karty jest osobna kolumna z numerem tej karty w talii.

  • card{num} - Klucz obcy na UserCard.

UserDeck

Encja many-to-many przechowująca informację o deckach graczy.

  • deck_number - numer talii (TODO)
  • deck - Klucz obcy na Deck
  • user_profile - Klucz obcy na UserProfile

Zestaw (deck_number, deck, user_profile) musi być unikalny.