VolEver: Platforma, která pomáhá lidem pomáhat
Případová studie vývoje multiplatformní aplikace propojující dobrovolníky s uprchlíky pomocí frameworku Flutter

Logo aplikace
Požadavek
Přání klienta
Klient se na nás obrátil s žádostí o vývoj multiplatformní mobilní aplikace, která by umožňovala propojování dobrovolníků a jejich klientů za účelem poskytování bezplatné právní pomoci. Aplikace je spuštěna v několika evropských zemích a podporuje různé jazyky (čeština, ruština, ukrajinština, litevština, slovinština, ...).
Specifikem aplikace bylo její sdílení několika partnerskými organizacemi. Každá organizace měla spravovat uživatele a obsah v dané zemi (schvalování zakázek, registrace, propojení dobrovolníků s klienty, …).
Důležitým požadavkem při vývoji byla bezpečnost komunikace mezi uživateli a ochrana před zneužitím systému. Klient si dále přál zjednodušit prověřování uživatelů – po registraci měla být k dispozici jen omezená funkcionalita aplikace a další funkce aplikace měly být schvalovány adminem pro danou zemi na základě poskytnutých údajů.
Problém
Na jaké výzvy a překážky jsme při vývoji narazili tentokrát?
První zkouškou pro naše vývojáře bylo nastavení práv na několika úrovních (superadmin, manažer země, manažer regionu, dobrovolník, prověřený dobrovolník, klient). Aplikace je navíc mezinárodní a sdružuje několik národních organizací, což znamenalo další komplikace při návrhu efektivní architektury.
Dále jsme museli přijít na způsob, jak v aplikaci zadávat termíny schůzek, na nichž se dobrovolníci mohou po propojení dohodnout s klienty pomocí real-time chatu.
Potenciální riziko pro chod aplikace představují trollové (uživatelé, kteří chtějí chod platformy narušit). Museli jsme se tedy zamyslet nad tím, jak zneužití platformy předejít a ochránit ji proti nežádoucímu chování.
Velký důraz byl ze strany klienta kladen také na vysokou přizpůsobitelnost, uživatelskou přívětivost a jednoduché ovládání. Aplikace měla být jednoduchá na používání, přehledná a intuitivní.



Řešení
Jak jsme si s překážkami při vývoji poradili?
Proti útokům trollů jsme systém ochránili implementací reCaptchy a vícefázového ověření. Každá žádost o registraci nového uživatele navíc vyžaduje ruční schválení administrátory.
Vysokým požadavkům klienta na hladký uživatelský zážitek jsme dostáli díky důkladnému UX návrhu. Aplikaci jsme sladili do jednotného, pozitivního stylu a proces registrace jsme zefektivnili pomocí funkcí onboardingu.
Co všechno systém obsahuje?
- Několik možností registrace a přihlášení (e-mail a heslo, telefon, účty na sociálních sítích)
- Možnost označení „prověřených“ uživatelů, kteří nevyžadují schválení administrátora pro propojení
- Hodnocení schůzek a zakázek po dokončení
- Filtrování zakázek podle lokality a typu; možnost označení oblíbených zakázek
- Archivace obsahu (zakázky, schůzky, chat, …)
- Chat v reálném čase s možností odesílání příloh a propisování schůzek přímo v chatu
- Upozornění ohledně stavu zakázky, schůzky, nové zprávy apod.
- Možnost zasílat upozornění konkrétním uživatelům či skupinám uživatelů
- Správa uživatelů a obsahu v aplikaci (účty a profily, typy pomoci a jejich podmínky, zakázky)
- Správa dokumentů (podmínky účasti, zásady ochrany osobních údajů, etický kodex dobrovolníka)
- Administrační rozhraní umožňující export dat pro statistické účely
- Administrace s podporou více jazyků
Klient
Organizace pro pomoc uprchlíkům (OPU)
- nezisková, nevládní a humanitární organizace zaměřená na pomoc uprchlíkům v České republice
- poskytuje bezplatné právní a sociální poradenství, zajišťuje edukační programy, pomáhá s integrací cizinců do společnosti
- pracuje zejména s uprchlíky ze zemí mimo EU, bez ohledu na pohlaví, věk a pobytový status
Časová náročnost
-
Analýza nám trvala 2 měsíce
-
Na vlastní vývoj jsme potřebovali 3 měsíce
Hlavní přínos
To nejlepší na aplikaci
- Jednodušší a rychlejší onboarding nových dobrovolníků/klientů: Sběr dat při registraci urychluje propojení dobrovolníků s klienty.
- Přehledné a intuitivní rozhraní: Uživatelé hledající/nabízející pomoc v určitém regionu si mohou zobrazit dostupné možnosti podle polohy, což zvyšuje motivaci k dobrovolnictví a posiluje samostatnost klientů.
- Podklady pro přípravu reportů
- Nižší administrativní zátěž pracovníků OPU: Aplikace výrazně ulevila zaměstnancům neziskové organizace OPU, kteří se nyní přímo podílejí pouze na dozoru a schvalování. Vše ostatní si klienti a dobrovolníci zvládnou v aplikaci vyřídit sami.


Platformy
Co jsme při vývoji použili
VolEver je multiplatformní aplikace napsaná ve Flutteru. Používá BLoC/Cubit pro state management, GoRouter pro navigaci a GetIt pro dependency injection. Pro komunikaci s backendem využívá Dio, pro push notifikace Firebase Messaging.
Aplikace je postavená na offline-first architektuře s lokální SQLite databází přes Drift pro ukládání chatů, zpráv a nabídek/žádostí. Komunikace v reálném čase je možná díky integraci WebSocket přes AWS API Gateway. Modely a stavy jsou generovány pomocí služby Freezed.
Aplikace podporuje více jazyků, obsahuje Google Sign In a Apple Sign In pro autentizaci a reCAPTCHA Enterprise pro ochranu před boty. Aplikace běží na platformách iOS a Android.
Náhled aplikace












Co dál?
Vzhledem ke spokojenosti klienta s výsledkem budeme na systému pracovat i nadále. V současnosti zvažujeme rozšíření o webovou verzi a administraci na míru. To by pomohlo zpřístupnit platformu širšímu okruhu uživatelů a zjednodušit správu obsahu. Dalšími potenciálními přínosy by byly lepší škálovatelnost a efektivnější provoz.
Další případové studie