Guvern · Birou de program de dezvoltare internațională · 18 ianuarie 2022
Platformă de Management pentru Programe Umanitare
O suită multi-aplicație pentru planificarea programelor, raportarea partenerilor și operațiuni de teren — unificată sub o singură platformă operațională, cu capabilități geospațiale și offline.
Rezultate obținute
Model de livrare
Monorepo
Livrare multi-aplicație consolidată, cu pachete partajate și o singură poveste de orchestrare.
Pregătire pe teren
Offline + ultim kilometru
Produse dedicate pentru colectare deconectată și vizibilitate logistică.
Profunzime date
Geospațial
PostGIS și portaluri de raportare pentru supraveghere de program sensibilă la locație.
Context
Operațiuni de program multi-țară cu organizații partenere, auditori și echipe de teren care nu pot presupune conectivitate fiabilă.
Provocare
Echipele de program rulau planificarea, raportarea partenerilor, deplasările, auditurile și logistica de ultim kilometru pe unelte fragmentate. Personalul de teren avea nevoie de colectare offline; sediul central avea nevoie de o imagine coerentă a parteneriatelor, rezultatelor și riscurilor. Frontend-urile legacy și mai multe backend-uri încetineau și inconsecvențau livrarea.
Abordare
Am consolidat livrarea într-un monorepo cu pachete UI partajate și paritate local/producție bazată pe Docker. Backend-urile au rămas orientate pe domeniu (management de program, raportare parteneri, raportare cluster), iar frontend-urile au reutilizat un strat comun de componente. Colectarea offline și urmărirea de ultim kilometru au fost tratate ca produse de prim rang, cu contracte explicite de sincronizare și API.
Arhitectură
Backend-uri Django și PostGIS, frontend-uri Polymer/Lit într-un monorepo pnpm, rutare edge Nginx, profiluri Docker Compose pentru stive selective de aplicații, și servicii dedicate de colectare offline și ultim kilometru (inclusiv Next.js + Nest pentru logistica de teren).
Domeniu
- Portaluri de management de program
- Raportare partener și cluster
- Colectare de date offline
- Urmărire livrare de ultim kilometru
- Pachete de design system partajate
- Stive dockerizate local și de tip producție
Constrângeri
- Framework-uri UI legacy de lungă durată care încă servesc trafic de producție
- Segregare strictă a datelor între domeniile de program
- Constrângeri de conectivitate pe teren
- Roluri multiple de stakeholderi cu nevoi de acces diferite
Aspecte cheie ale soluției
- Workspace-uri monorepo pentru frontend-uri partajate și lansări coordonate
- Raportare geospațială susținută de PostGIS pentru vizualizări de parteneri și cluster
- Client de colectare offline-first cu API orientat pe sincronizare
- Stivă de aplicație de ultim kilometru separată, dar integrabilă cu API-urile de program
Tehnologii
Rezultate
- O singură cale de orchestrare locală pentru aplicațiile centrale de program, în locul multor repo-uri ad-hoc
- Pachete UI partajate care au redus componentele duplicate în portaluri
- Fluxuri de colectare offline și ultim kilometru integrate cu același model de date de program
- Limite de proprietate mai clare între stive de raportare de program, parteneri și cluster
Lecții învățate
- Platformele umanitare reușesc atunci când offline și online sunt proiectate împreună, nu adăugate ulterior.
- Pachetele UI partajate contează mai mult decât un mega-frontend unic, atunci când domeniile trebuie să rămână separate.
- Profilurile Compose sunt o metodă practică de a păstra suitele de amploare rulabile pentru ingineri noi.
Să discutăm
Ești pregătit să construiești ceva durabil?
Colaborează cu o echipă de ingineri seniori care proiectează, livrează și operează software pe care afacerile se bazează ani la rând.
Contactează-ne