Skip to content

tratif/ddd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fitness Domain

Planowanie grafiku zajęć

  1. Zajęcia mają przypisane: dzien w tygodniu, godzinę rozpoczęcia, czas trwania, trenera prowadzącego. Np.: we wtorki o 17:00 odbywają się zajęcia z podnoszenia ciężarów prowadzone przez Tomka.
  2. Na podstawie grafiku dostępne są konkretne terminy zajęć, np.: podnoszenie ciężarów we wtorek 17 stycznia o 17:00.
  3. Administrator może odwołać konkretny termin zajęć (np. z powodu święta)

Trenerzy

  1. Trener może prowadzić maksymalnie N niepokrywających się zajęć w tygodniu
  2. Terener może prowadzić maksymalnie M zajęć w ciągu dnia
  3. Terener może prowadzić zajęcia dla maksymalnie N osób (zależne np. od kwalifikacji, stażu itp)

Zapisy na zajęcia

  1. Można zapisać się na nie więcej niż 5 zajęć (w konretnym terminie) do przodu. Np.: zapisuję się na podnoszenie ciężarów w każdy dzień danego tygodnia na godzinę 19:00.
  2. Na dane zajęcia zapisać się może nie więcej niż N osób (gdzie N jest specyficzne dla prowadzącego dane zajęcia)
  3. Gdy w momencie zapisu nie ma wolnych miejsc, członek klubu jest wpisywany na listę rezerwową
  4. Maksymalnie 6 osób może być na liście rezerwowej dla danego terminu zajęć.
  5. Można zapisać się tylko na jedne zajęcia danego typu w ciągu jednego dnia

Odwoływanie rezerwacji

  1. Rezerwację można odwołać najpóźniej 1 godzinę przed terminem zajęć
  2. Uczestnictwo w zajęciach potwierdzane jest przez zeskanowanie karty w klubie
  3. Po trzeciej niepotwierdzonej rezerwacji (tzn. w przypadku gdy osoba zapisała się na zajęcia ale nie zeskanowała karty) następuje ban na zapisy na 4 dni.
  4. Gdy ktoś odwoła rezerwację, to pierwsza osoba z listy rezerwowej dostaje się na listę uczestników danych zajęć. Wysyłany jest do niej SMS z powiadomieniem

Widoki

  1. Kalendarz z wpisanymi zajęciami które można kliknąć i: a) członek klubu może się na nie zapisać, b) administrator może odwołać zajęcia c) administrator może przypisać trenera. Przy każdych zajęciach jest informacja o wolnych miejscach.
  2. Lista zajęć na które zapisany jest zalogowany członek klubu + przyciski do anulowania zapisu
  3. Widok administratora: grafik zajęć + formularz do dodania nowych pozycji
  4. Widok trenera: lista osób zapisanych na dane zajęcia

Implementacje

  1. CRUD
  2. Logika w encjach JPA (bez agregatów)
  3. Agregaty z adnotacjami JPA (+ domain services)
  4. Wyeliminowanie domain services
  5. Osobne tabele na pola do odczytu (interfejs "listenera" w domenie)
  6. Agregaty bez adnotacji JPA + repozytorium mapujące je na/z klasy JPA przy zapisie/odczycie (osobny model do rejestracji?)
  7. Rejestrowanie eventów domenowych (jako dodatek do dotychczasowego repozytorium)
  8. Event sourcing

About

ddd

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages