Year:Feb 2017 - Sept 2019
The Partner Reporting Portal simplifies UNICEF’s partnership reporting process, as well as improving both staff and civil society partners’ capacity to monitor the progress of programme results for children. It forms part of UNICEFs eTools product strategy to digitalize and streamline partnership management.
This open-source platform can be used by civil society implementing partners to view information, manage reporting and analyze data on their partnerships with UNICEF. And enables UNICEF to focus on results instead of administration.
UNICEF and their various partners on the ground were using manual processes for reporting on the progress of different programmes in each country office. This resulted in inefficient use of the organization’s time and non-standardized reports of varying quality.
Under our existing Long Term Agreement with UNICEF, Tivix was engaged to lead the design, development and deployment of a new tool to overcome these issues.
The Partner Reporting Portal was the result of over two and a half years of work, in collaboration with senior UNICEF stakeholders. PRP aims to enable civil society implementing partners to easily report progress against results for projects jointly planned with UNICEF.
The portal is designed to increase programme efficiency and reduce the burden on partners by streamlining the reporting process. Enabling civil society implementing partners and UNICEF to jointly track and analyze results achieved for children and communities around the world.
The platform is built so that all the functionality is exposed via REST API’s. The data from these API’s drives the web interface which is a Single Page Application (SPA). There is a proxy that sits in front of the frontend SPA and backend API’s.
Additionally there is a message broker and asynchronous task / job queue that is used to run long-running and regular (say every 1 hour or 1 day) tasks.
Each of these services is either in the code or has an associated Dockerfile describing how it can be built and deployed on a docker friendly environment.
The implementation details of each of these services is as follows:
- Django API – This is the backend REST API service. It uses Django and Django REST Framework.
- Polymer frontend – This is the SPA written in Polymer.
- Nginx proxy – This sits in front of the Django and Polymer services and routes requests. This helps us to not run these services on different ports for example, that would cause CORS issues.
- Celery Beat
- Celery workers
- PostgreSQL database
The UX / visual design philosophy for the project uses Google Material Design, with variations.
The technical design philosophy for PRP builds on what has already been established by the eTools team at UNICEF.
- Simplified and predictable reporting frameworks across different countries and regions
- Streamlined and efficient communication and feedback loops between UNICEF and Civil Society partners, adapted to the unique requirements of each office and situation
- Efficient management of data flows to improve programme implementation, including in humanitarian response situations
- Central platform for civil society implementing partners to view information, manage reporting and analyse data on their partnerships with UNICEF
PRP is an open-source project and can be found on Github.
Project documentation can be found on Gitbook.
“Tivix’s team navigated between multiple key stakeholders, using a tailored development and feedback process to accommodate changing requirements. Their collaborative nature was key to success.”Project Manager