Oprogramownie musi być responsywne i dostępne do obsługi przez urządzenia mobilne,
Oprogramownie musi być dostępne na serwerze zdalnym,
Oprogramowanie powinno być podzielone na część publiczną i wewnętrzną,
Oprogramownie powinno oferować automatyczne przyjmowanie nowych dotacji oraz ich automatyczne księgowanie za pomocą Przelewy24,
Oprogramowanie powinno dbać o kompletność i poprawność przesyłanych informacji od wpłacających,
Oprogramowanie powinno oferować interfejs REST API do pobierania wpłat od darczyńców,
Oprogramowanie powinno posiadać strefę wewnętrzną zawierającą dostęp do przyjętych dotacji z podziałem na te potwierdzone i do weryfikacji.
Implementacja oraz wdrożenie
Aplikacja została stworzona w ramach wolontariatu w jednym ze schronisk dla zwierząt. Intefejs obu stref (publicznej i wewnętrznej) został oparty o dobre praktyki oraz z wykorzystaniem stylu opartego o "Boostrap". Styl został wykorzystany na mocy licencji MIT.
Backend został stworzony w oparciu o język PHP w wersji 7.3 we frameworku Symfony 4.4. Kod został sprawdzony poprzez PHP CodeSniffer oraz PHP Mess Detector. Dane przechowywane są w bazie danych MySQL.
Aplikacja posiada następujące funkcjonalności:
Tworzenie nowej dotacji wraz z przyjąciem informacji dodatkowych dotyczących darczyńcy,
Budowanie żądania płatności do serwisu Przelewy24,
Automatyczna obsługa i rozliczanie transakcji przy wykorzystanie REST API Przelewy24,
Strefa wewnętrzna dla obsługi oferuje:
Przegląd dotacji z podziałem na wpłaty dokonane, oczekujące i do weryfikacji
Weryfikację wpłat w celu ew. moderacji nieodpowiednich słów w wiadomościach
Podgląd statystyk na "szybkich panelach" dashboardu,
Podgląd wpłat na przestrzeni miesięcy za pomocą rysowanego w locie wykresu
Podgląd zdarzeń zarejestrowanych przez aplikację,
Wysyłanie za pomocą zadań cron przypomnień o zainicjowanych, ale nie opłaconych dotacjach,
Wysyłanie podziękowań za zrealizowaną dotację,
Dostęp do danych dotacji za pomocą REST API w celu umożliwienia implementacji listy darczyńców na zewnętrznych serwisach wraz z możliwością paginacji i limitowania ilości rekordów.
Część serwerowa została uruchomiona na serwerze zdalnym. W ramach współpracy ze schroniskiem, zaimplementowano wykorzystanie REST API na stronie fundacji.