akademia-envelo-3 / moovelo-back

1 stars 0 forks source link

[BE001][TECH] Dodać model powiadomień do diagramu klas #2

Open mdziewiur opened 1 year ago

mdziewiur commented 1 year ago

Wymagania początkowe:

Stworzony diagram klas encji w dokumencie Moovelo Diagrams https://app.diagrams.net/#G179g0bYr5a6yRHah3mAhE_U0rWKL0aYDt

Informacje o funkcjonalności powiadomień zawarte w Scenariuszach: https://docs.google.com/document/d/1TXrUVaU8lpe4sKMLGnuvRp63_wqig6T9qF7RQPVq2F8/edit

Wymagania taska:

Stworzenie diagramu UML przedstawiającego schemat działania funkcjonalności wysyłania powiadomień do wybranych użytkowników aplikacji w przypadku:

  1. Edycji wydarzenia, do którego wybrani użytkownicy mają dostęp, przez właściciela wydarzenia
  2. Usunięcia wydarzenia, do którego wybrani użytkownicy mają dostęp, przez właściciela wydarzenia
  3. Usunięcia grupy, której wybrani użytkownicy są członkami, przez właściciela grupy

Powiadomienia powinny mieć różną treść w zależności rodzaju akcji, która spowoduje ich wysłanie:

Ad.1 Zmiany daty i godziny wydarzenia są traktowane jako ważne i powiadomienia dotyczące tych zmian powinny zawierać informacje o nowej dacie lub godzinie wprowadzonej przez właściciela wydarzenia. Zmiana pozostałych atrybutów wydarzenia skutkuje wysłaniem ogólnego powiadomienia, że wydarzenie zostało zmienione. Ad. 2 Akcja usunięcia wydarzenia skutkuje wysłaniem powiadomienia o usunięciu wydarzenia. Ad. 3 Akcja usunięcia grupy skutkuje wysłaniem powiadomienia o usunięciu grupy.

Funkcjonalność opiera się na wzorcu Observer, klasa jest podmiotem obserwowanym, implementującym interfejs , a klasy, które są obserwatorami implementują interfejs i są odpowiedzialne za powiadamianie użytkowników.

Link do wzorca Observer refactoring guru Observer

Kryteria akceptacji:

Potwierdzenie zasadności użytego wzorca w uproszczonej implementacji dotyczącej wydarzeń i grup. Kod (proof of concept) dostępny pod : https://github.com/mstebel/observer_pattern Umieszczenie w dokumencie Moovelo (zakładka behavioral) diagramu UML stworzonego na podstawie 'proof of concept' i zatwierdzenie schematu przez cały zespół backend Moovelo.

mdziewiur commented 1 year ago

Wymagania początkowe:

Stworzony diagram klas encji w dokumencie Moovelo Diagrams https://app.diagrams.net/#G179g0bYr5a6yRHah3mAhE_U0rWKL0aYDt

Informacje o funkcjonalności powiadomień zawarte w Scenariuszach: https://docs.google.com/document/d/1TXrUVaU8lpe4sKMLGnuvRp63_wqig6T9qF7RQPVq2F8/edit

Wymagania taska:

Stworzenie diagramu UML przedstawiającego schemat działania funkcjonalności wysyłania powiadomień do wybranych użytkowników aplikacji w przypadku:

  1. Edycji wydarzenia, do którego wybrani użytkownicy mają dostęp, przez właściciela wydarzenia
  2. Usunięcia wydarzenia, do którego wybrani użytkownicy mają dostęp, przez właściciela wydarzenia
  3. Usunięcia grupy, której wybrani użytkownicy są członkami, przez właściciela grupy

Powiadomienia powinny mieć różną treść w zależności rodzaju akcji, która spowoduje ich wysłanie:

Ad.1 Zmiany daty i godziny wydarzenia są traktowane jako ważne i powiadomienia dotyczące tych zmian powinny zawierać informacje o nowej dacie lub godzinie wprowadzonej przez właściciela wydarzenia. Zmiana pozostałych atrybutów wydarzenia skutkuje wysłaniem ogólnego powiadomienia, że wydarzenie zostało zmienione. Ad. 2 Akcja usunięcia wydarzenia skutkuje wysłaniem powiadomienia o usunięciu wydarzenia. Ad. 3 Akcja usunięcia grupy skutkuje wysłaniem powiadomienia o usunięciu grupy.

Funkcjonalność opiera się na wzorcu Observer, klasa jest podmiotem obserwowanym, implementującym interfejs , a klasy, które są obserwatorami implementują interfejs i są odpowiedzialne za powiadamianie użytkowników.

Link do wzorca Observer https://refactoring.guru/pl/design-patterns/observer

Kryteria akceptacji:

Potwierdzenie zasadności użytego wzorca w uproszczonej implementacji dotyczącej wydarzeń i grup. Kod (proof of concept) dostępny pod : https://github.com/mstebel/observer_pattern Umieszczenie w dokumencie Moovelo (zakładka behavioral) diagramu UML stworzonego na podstawie 'proof of concept' i zatwierdzenie schematu przez cały zespół backend Moovelo.