Prace nad AnimalShelter realizowane są w najlepsze. Na ten moment udało się dodać podstawową obsługę wniosków. Dostępne są akcje akceptacji oraz odrzucania. Niestety nie istnieje jeszcze weryfikacja limitu dostępnego miejsca w schronisku. Chciałbym zaprogramować to sprawdzenie jako niezmiennik, ale pozostawię je na jeden z kolejnych wpisów. Skupmy się natomiast na tym co udało się skończyć.
Zmiana sposobu raportowania
Postanowiłem, iż od dzisiaj będę prezentował listę zamkniętych zadań stworzonych na GitHubie. Mam nadzieję, iż ta praktyka pokaże co tak naprawdę udało się dowieźć oraz będzie dodatkowym motywatorem dla mnie.
- #40 Soft deletation of proposals
- #41 Acceptance and refusal of proposals
- #42 Disallow acceptance and refusal of proposals when status is not pending
- #43 Soft deletation of crud data
- #44 Save history of changing proposal status
- #45 Save date of creation and modification of data and proposals
- #46 Accepting or declining proposals forbids changing crud data
Aktualnie wykonywane zadania znajdziesz pod tym linkiem. w uproszczeniu udało się dorobić mechanizm „miękkiego” usuwania danych o zwierzętach oraz wnioskach. Dorobiono wcześniej wspomniane opcje akceptowania i odrzucania wniosków. Umożliwiono zapisywanie historii procesowania wniosków. Dodano daty stworzenia i aktualizowania rekordów w bazach danych. Na koniec zabroniono zmianę danych zwierząt po zaakceptowaniu lub odrzuceniu jego wniosku.
Wszędzie widzę eventy
Postanowiłem, iż moduły CRUD oraz wniosków będą ze sobą luźno powiązane poprzez zdarzenia, o czym wspomniałem w pierwszym wpisie. Z tego powodu jeżeli wniosek zostanie rozpatrzony pozytywnie lub negatywnie to następstwem tego faktu będzie wyemitowany event. Moduł CRUD będzie na niego nasłuchiwał, aby w razie co zablokować modyfikację wybranych danych.
Mam nadzieję, iż powyższy obrazek dobrze przedstawia zaprogramowaną, obustronną komunikację. Dodanie nowego zwierzaka powoduje stworzenie wniosku. Podjęcie decyzji co do wniosku blokuje modyfikację tych danych. w uproszczeniu idealna współpraca!
Milestones
Postanowiłem, iż tym razem zaplanuję sobie odpowiednie kamienie milowe, które chciałbym mieć w swojej aplikacji. Dlatego wykorzystując Nozbe stworzyłem projekt i o to co powstało.
Te zadania mają być dla mnie drogowskazem do celu, który chcę zdobyć. dla wszystkich z powyższych punktów będę tworzył dodatkowe mniejsze zadania na poziomie GitHuba. W ten sposób będę mógł monitorować czy praca porusza się do przodu. Zobaczymy na ile ten mechanizm się w ogóle sprawdzi, ale jestem dobrej myśli.
Podsumowanie
Jak widać praca techniczna i koncepcyjna cały czas mknie do przodu. Liczę na to, iż tak pozostanie. Pewnie niektóre aspekty poprzewracają się do góry nogami oraz przyjdą gorsze momenty, ale teraz cieszę się chwilą i wracam dalej do kodowania. Już niedługo przybędę z kolejną porcją aktualizacji na temat aplikacji AnimalShelter.
Link do GitHub: https://github.com/DevCezz/animal-shelter-new
Tag: 20220729-animalshelter-obsluga-wnioskow