Duszpasterstwo prowadzone przez Dom Zakonny Księży Orionistów prowadzi działalność na rzecz osób o różnym stopniu niepełnosprawności pod nazwą „Drabia Jakubowa”. Zrzesza osoby potrzebujące pomocy i wolontariuszy. Organizuje i finansuje turnusy rekolekcyjne dla podopiecznych dzięki crowdfundingowi.
Aplikacja Web, Automatyzacja
Drabina Jakubowa – crowdfunding na rzecz osób niepełnosprawnych zgodny z WCAG 2.1
Stworzyliśmy aplikację Przypnij Skrzydła pomagającą zbierać pieniądze na rzecz rehabilitacji osób z niepełnosprawności, wyposażoną w płatności online. Oprócz tego odświeżyliśmy, zabezpieczyliśmy i dodaliśmy nowe funkcje w aplikacji Zaplecze Drabiny Jakubowej.
KLIENT
WYZWANIE
Czy uważasz się za osobę, która pomaga innym?
Jeśli tak, to zapewne fajnie byłoby mieć Cię za sąsiada! 😉
Ten tekst będzie o tym, jak programistycznie pomagaliśmy pomagać tym, co pomagają osobom z niepełnosprawnościami 👩🦽. Nie wiem, ile razy to słowo wystąpi tekście, ale jeśli nie pomagasz, to może zaczniesz po przeczytaniu? 😄 Jak nie, to też wszystko w porządku (moim zdaniem)! Nieprzypadkowo o tym piszę, ponieważ projekt Drabiny Jakubowej miał być normalnym projektem komercyjnym. Doszło jednak do zwrotu akcji.
Ks. Łukasz Mikołajczyk, założyciel Drabiny Jakubowej jako osoba nowoczesna i szeroko stosująca powszechnie dostępne narzędzia informatyczne do optymalizacji swojej pracy, szybko dostrzegł także potrzebę automatycznego przetwarzania informacji, które towarzyszą procesom prowadzenia wsparcia dla potrzebujących.
Głównym sposobem w jaki Drabina pomaga osobom z ograniczoną sprawnością, jest organizacja turnusów rehabilitacyjnych i innych integrujących eventów, co zapobiega wykluczeniu społecznemu tych osób i stymuluje pozytywne zmiany w ich życiu. Na działalność składają się dziesiątki procesów i uczestniczące w nich setki ludzi, pełniących różnorakie funkcje i działających głównie na zasadzie wolontariatu. Trwa to przez cały rok.
Aby trochę przybliżyć całą domenę wspomnę, że na każdym turnusie rehabilitacyjnym przebywa do 150 wolontariuszy, a każdy podopieczny (których jest trochę mniej) potrzebuje co najmniej jednej osoby w roli wspierającej. Wśród wolontariuszy są też lekarze, pielęgniarki, księża, obsługa administracyjna, koordynatorzy, czy fotograf, który na przykład musi wiedzieć komu może robić zdjęcia, a komu nie.
Co robią te wszystkie osoby? Jak wyglądają procesy towarzyszące? Z odpowiedzi na te pytania wynika zakres funkcji oprogramowania. Dokładny opis wykracza poza potrzeby tego artykułu. W skrócie można powiedzieć, że turnusów jest 5-6 w całym roku. Każdy z nich poprzedza wiele miesięcy przygotowań, a punkt kulminacyjny – czyli sam event trwa ponad tydzień. Najważniejsze działania obejmują:
- Ewidencję wszystkich uczestników (wolontariuszy i podopiecznych), ustalenie ich ról i formy uczestnictwa
- Pozyskanie funduszy (duża część pieniędzy pochodzi od darczyńców)
- Obsługa procesów finansowo-księgowych
- Promocja działalności (działania marketingowe)
- W trakcie trwania turnusu: zakwaterowanie, obsługa wyżywienia, organizacja zajęć i atrakcji, bezpieczeństwo, ewidencja incydentów itp.
Jak zapewne wyczuwasz, te wszystkie procesy w jakiś sposób się zazębiają. Czy bez wsparcia dedykowanego rozwiązania informatycznego, integrującego przetwarzanie danych, funkcjonowanie Drabiny Jakubowej było by możliwe? Czy możliwe byłoby zwiększanie skali działania?
Jeszcze zanim CodiFive rozpoczęło swoją współpracę z Drabiną, istniało już oprogramowanie realizujące głównie ewidencję ludzi, turnusów i dokumentów, stworzone wcześniej przy pomocy frameworka Django. Aplikacja napisana wolontariacko, w ramach pracy inżynierskiej, miała wiele cech typowych dla prototypów. Jedną z nich była trudność dalszej rozbudowy z powodu powieleń w kodzie i jego niespójności. Poprzednio rozbudowy były wykonywane na zasadzie doklejenia kolejnego fragmentu, tak aby nie zmieniać istniejącego kodu. Nie było też możliwe działanie w krótkim cyklu: zmiana, udostępnienie (ci/cd). Wchodząc w projekt nie mieliśmy dostępu do repozytorium kodu z historią zmian.
Powyższe architektoniczne oraz organizacyjne problemy były „kulą u nogi” przy próbie wyjścia naprzeciw potrzebom Drabiny Jakubowej. A jakie były to dokładnie potrzeby?
- Internetowy serwis crowdfundingowy zintegrowany z obsługą turnusów rehabilitacyjnych, na które pieniądze są zbierane dzięki płatnościom online.
- Automatyzacja obsługi turnusów rehabilitacyjnych (zapisy uczestników, wolontariuszy i koordynatorów, tworzenie zbiórek celowych, generowanie dokumentów, wysyłanie powiadomień do zainteresowanych)
- Wsparcie dla marketingu – możliwość wysyłania newsletterów tematycznych do odpowiednich grup osób.
- Ewidencja przepływu pieniędzy (dane o wpłatach i ich księgowania, raportowanie)
- Obsługa wysyłania podziękowań i raportów dla darczyńców.
ROZWIĄZANIE
W pierwszej kolejności skupiliśmy się na porządkach. W większości naszych projektów repozytorium kodu, ewidencja zmian w systemach, procesy komunikacji tematycznej z klientem wykonywane są w oparciu o system GitLab. Jest to bardzo wygodny i spójny sposób zadbania o wymianę informacji na linii klient – zespół deweloperski oraz pozwalający na świetne dokumentowanie prac. Wzrasta komfort każdej zaangażowanej osoby, łatwo poukładać zadania, czy przechowywać dokumenty. Do zliczania czasu prac wykorzystaliśmy tradycyjnie Clockify. Wymiana dokumentów została dostosowana po potrzeb Drabiny – skorzystaliśmy z narzędzi jakie oferuje Google. W pracach kreatywnych pomogło Miro i Figma. Piszę o tych narzędziach, bo mają ogromne znaczenie dla zapewnienia jakości wytworzonego oprogramowania, a więc i osiągnięcia spodziewanego rezultatu. Zdarza się, że rozwijamy organizacyjnie dzięki temu naszych klientów, a czasem oni rozwijają nas, ponieważ jesteśmy otwarci na ich propozycje. 😊
Prace zostały rozwojowe zostały wycenione w stylu „Fixed price”, czyli z góry. Tu przyznaję, zrobiliśmy spory i kosztowny błąd, ponieważ przejęcie cudzego kodu wymaga nieprzewidywalnych nakładów pracy na „sprzątanie” i dostosowanie go do dalszej obróbki/rozbudowy. Obecnie w każdej takiej sytuacji działamy w trybie Time&Material, czyli elastycznego finansowania prac z częstą informacją zwrotną dla klienta o tym co się dzieje.
Problem z odświeżeniem starego oprogramowania, aktualizacji bibliotek, poprawy błędów oraz zabezpieczenia przed włamaniami postawił nas przed decyzją: czy wycofujemy się z projektu? Czy może jednak ten fragment prac wykonamy za darmo, wspierając Drabinę Jakubową. Wszak ona wspiera potrzebujących, a my jako firma patrzymy empatycznie na otoczenie i chcemy pomagać.
To był właśnie pivot, o którym pisałem na początku. Koszty poprawek przekroczyły wartość pierwotnej wyceny wszystkich funkcji, które były do przygotowania.
Potem było już łatwiej…
ROZWIĄZANIE
Zrealizowaliśmy moduł crowdfundingowy, czyli stronę przypnijskrzydla.drabinajakubowa.pl. Serwis pozwala na prezentowanie zbiórek na opłacenie pobytu wolontariuszy podopiecznych oraz zbiórek na cele ogólne Drabiny Jakubowej. Strona obsługuje wpłaty online dzięki Przelewy24, prezentuje statystyki, możliwość zapisania się na newsletter i oczywiście pozwala na zaprezentowanie każdej osoby (opis, zdjęcia, cel), dla której zbierane są pieniądze wraz ze wsparciem, które już otrzymała. Ofiarodawcy mogą pozostawić po sobie ślad lub dokonać wpłaty anonimowo.
Strona jest dostępna cyfrowo, a więc zgodna ze standardem WCAG 2.1 oraz dostosowana do urządzeń mobilnych. Jako CodiFive specjalizujemy się w dostarczaniu rozwiązań dostępnych cyfrowo m.in. dla podmiotów publicznych, objętych prawem.
W panelu administracyjnym dodaliśmy elementy automatyzacji dzięki którym, gdy wolontariusz zaoferuje swoje wsparcie na turnusie rehabilitacyjnym, automatycznie rozpoczyna się zbieranie pieniędzy na ten cel, wysyłane są podziękowania oraz dodatkowe informacje i dokumenty (np. umowa do podpisania). Operacje wymagają minimalnej obsługi ze strony operatora, a aplikacja stara się użyć dostępnych danych wprowadzonych w przeszłości. Dba także o prawidłowe zachowanie w przypadkach brzegowych (np. ktoś wycofuje się uczestnictwa, a pieniądze zostały już częściowo zebrane).
Dzięki funkcji integracji online z serwisem Sender.net, dedykowanym do obsługi newsletterów, różne grupy osób (np. fani, wolontariusze, darczyńcy, podopieczni, współpracownicy) mogą otrzymywać angażujące do dalszego działania wiadomości i inne przydatne dla nich informacje.
Wolontariusz, który przebywał na turnusie oprócz umowy, otrzymuje też automatycznie generowany dokument z zaświadczeniem o pobycie. Działa wewnętrzna komunikacja, ułatwiająca kontakt pomiędzy uczestnikami (wolontariuszami i koordynatorami) danego turnusu.
Pracujemy dalej nad rozwojem systemu, ponieważ Drabina zwiększa skalę swojej działalności. Możesz wspierać jej rozwój, tak jak my. Poszukaj odpowiedniej zbiórki na ten cel, na przypnijskrzydla.drabinajakubowa.pl ☺
REZULTATY
Pod koniec 2022 roku Drabina osiągnęła następujące korzyści:
- Uzyskanie narzędzia umożliwiającego zwiększenie skali działalności dobroczynnej (crowdfunding, płatności online, public relations)
- Zyskanie bezpieczeństwa systemu, w którym przechowywane są wrażliwe dane osobowe
- Zapewnienie możliwości dodawania nowych funkcji
150
157000 zł
400
Technologie
- Python/Django
- Docker
Czas trwania
Od początku 2022
Zespół
3 osoby