Skip to content
Piotr Roksela edited this page May 5, 2017 · 1 revision

Wizja

Funkcjonalności

Maile

  • Komponent odpowiedzialny jest za komunikację z użytkownikiem systemu przy pomocy wiadomości email.
  • Maile wysyłane będą w celu poinformowania użytkownika o przyznaniu punktów możliwych do rozdysponowania na konkretne problemy zgłoszone w YAIT.
  • Dostarczany jest również interfejs umożliwiający rozsyłanie maili do podanych użytkowników i o wskazanej treści umieszczanej później w domyślnym szablonie.

Tokeny

Dla określonego adresów email i parametrów tworzone są zestawy tokenów. W systemie zapisujemy dla każdego tokenu:

  • ID tokenu
  • ilość wykorzystanych punktów (konieczne)
  • informację o dacie ważności
  • ilość punktów możliwych do rozdysponowania na podstawie tokenu

Dla każdego tokenu tworzony jest link URL, który następnie wysyłany jest do określonego użytkownika. Tworzenie URLa będzie zrealizowanie przez stworzenie skrótu z jego ID (HMAC lub JWT). W systemie nie zapisujemy powiązania pomiędzy użytkownikiem a tokenem. URL może być wykorzystany do autoryzacji anonimowego użytkownika. W założeniu linki mogą być przesyłane przez użytkownika dowolnej innej osobie.

Ilość punktów przyznanych danego issue będzie zapisywane jako liczba.

Powiązane komponenty

  • Dostarcza funkcjonalności dla komponentu backendowego.
  • Aby zapisywać tokeny potrzebne będzie powiązanie z komponentem obsługującym bazę danych (ten sam co backend?).

Wykorzystywana technologia

Java

Przypadki użycia

Przypadki użycia:

  • Wysłanie tokenów do użytkowników
  • Wysłanie maili o określonej treści do użytkowników

Przebieg głównego przypadku użycia - wysłanie tokenów do użytkowników:

  1. Wywołanie funkcji (przez komponent zewnętrzny/użytkownika/etc.) pozwalającej na przydzielenie danej grupie użytkowników tokenów - możliwości zagłosowania. Funkcja dostaje listę adresów email.
  2. Generowanie tokenów dla podanych adresów - przy użyciu JWT.
  3. Generowanie URL dla tokenów. Dla każdego osobny URL. (Musi być zgodny z URLami obsługiwanymi przez backend)
  4. Stworzenie treści maili, wraz z załączonym URLem.
  5. Wysłanie maili (Spring Mail)

Przebieg dodatkowego przypadku użycia - wysłanie maili do grupy użytkowników:

  1. Wywołanie funkcji otrzymującej na listę adresów email.
  2. Stworzenie przez użytkownika treści maila.
  3. Wysłanie maili (Spring Mail)

Technologie

Clone this wiki locally