VCPR.ORG vytváří platformu, která pomáhá veterinárním lékařům a jejich klientům při vytváření, předepisování a sledování protokolů léčby zvířat. Platforma zahrnuje backend, který spravuje protokoly, předpisy a případy, a poskytuje API, které využívají tři front-endové aplikace přizpůsobené různým skupinám uživatelů.
K rozhraní API mají přístup také nezávislí vývojáři. Editor protokolů umožňuje veterinárním lékařům vytvářet a předepisovat protokoly a aplikace OnFarm umožňuje klientům registrovat případy a zobrazovat předepsané protokoly.
Aplikace Administrace umožňuje administrátorům spravovat uživatele, účty, seznamy léčiv a další informace.
Klient, vývojář softwaru samouk a veterinární lékař v jedné osobě, vyvinul ranou verzi platformy s financováním od USDA, ale potřeboval pomoct s řízením projektu, s vývojem front-endu a vychytáním všech chyb. Backend je napsán v jazyce Scala s frameworkem Play a frontend v Reactu.
Hlavním cílem bylo opravit a stabilizovat aplikaci a následně vyvinout backend
Převzít existující projekt není nikdy snadné. Klient měl určité obavy ohledně stability aplikace a seznamu možných chyb, kterých si všiml, nicméně to nebyl konečný seznam problémů. S klientem jsme se dohodli, že na projektu začneme pracovat - seznámíme se s kódem, sepíšeme požadavky na produkt a otestujeme aktuální stav aplikace, abychom zjistili, zda jsme schopni ji dokončit v daném termínu.
Pro navázání úzké spolupráce s klientem jsme mu poskytli vysvětlení našich agilních procesů a integrovali jej do našich nástrojů (Jira, Confluence). Připojili jsme se také ke klientovu Slack kanálu, abychom usnadnili rychlou a efektivní komunikaci.
I přesto, že našim úkolem bylo napsání webového rozhraní a následně také evidence a oprava chyb, museli jsme pochopit celou platformu, abychom klientovi efektivně pomohli dosáhnout jeho cíle.
Náš tým se skládal z klienta jako backendového vývojáře, dvou frontendových vývojářů, testera a produktového manažera. Koordinace práce mezi backendem a frontendem byla náročná, ale vždy jsme se dokázali dohodnout na dalších krocích. Další výzvou byl stávající kód, který používal starou verzi Reactu s architekturou, která měla co zlepšovat.
V průběhu projektu byl náš tým schopen analyzovat a pochopit stávající kód, opravit hlavní problémy a zlepšit kvalitu kódu použitím moderního Reactu s funkčními komponentami a hooky. Sepsali jsme také požadavky na produkt pro jednotlivé aplikace a na jejich základě jsme byli schopni identifikovat, specifikovat a opravit všechny chyby na platformě.
Výsledkem spolupráce je nyní stabilní aplikace, bez problémů a s přidanými novými funkcemi. Klient je spokojen s naší schopností naslouchat a reagovat na jeho specifické potřeby, rychle se přizpůsobit stávající kódové základně (i když některé technologie pro nás byly nové) a rychle pokročit. Spolupráce probíhá i nadále.