GSoC 2020 Ideas: Primero

NOTE: This ideas list is under development and will likely be changed up through the official announcement of GSoC 2020 projects. Please also visit the Google Summer of Code 2020 @ Open Source Center page for other sub-org information and details.


Primero: Getting Started & Getting Oriented

Primero™ is an open source software platform that helps social services, humanitarian and development workers manage protection-related data, with tools that facilitate case management, incident monitoring and family tracing and reunification.

The Primero project began in 2013 as the result of many years of inter-agency collaboration. Its goal is to bring more coherent, cost effective, and user friendly information management tools to the Child Protection and Gender Based Violence sectors.

The app is highly configurable to adapt to a broad range of protection programmes. Our GitHub repo is the starting point for getting started as a developer:

You should also check out our Contributing Guide to learn about how to contribute code. Finally, be sure to visit our community forum to learn more about the people creating Primero and what we’re thinking about and working on right now:

Please take a look at our our project ideas below and decide which might be most interesting for you. For all projects, we recommend the following steps to get started:

  1. Set up your development environment for the Primero Platform. Head to our GitHub repo and check the out the README file for instructions: https://github.com/primeroIMS/primero
  2. Read the docs. Our documentation, community page, and support hub is the starting point for learning everything you need to know about Primero: https://support.primero.org/documentation
  3. Play around. Check out the platform, login, change settings, add configurations, add users and surveys. There are guides for admins, as well as for users of the CPIMS+ edition of Primero here: https://support.primero.org/documentation
  4. Work on something from the issue tracker. Take a look at our issues marked with the label good-first-issue here: https://github.com/ushahidi/primero TBD. All issues for both the Platform-API (https://github.com/primero TBD) and for the web-client (https://github.com/primero TBD) are stored there.

We’re happy to help you learn more about applying for Google of Summer of Code to work on Primero. If you have additional questions not covered here, please contact one of our GSoC team:

GSoC 2020 Project Ideas

Project 1: Primero Platform integration with RapidPro

This project involves work to integrate the Primero case management and incident monitoring functionality with a RapidPro open source communication platform. Significant investment has been made in these two applications which are both positioned as Digital Public Goods. These apps cover a broad range of use cases for rights-based programming and can directly contribute to the achievement of multiple Sustainable Development Goals. The goal of this integration is to:

  • Allow for SMS-based alerts to be registered for priority actions (i.e. create case, follow up) in low bandwidth / low resourced settings where Primero web app is not available;
  • Create a feedback loop with Primero to support decision making on critical/high risk cases;
  • Allow integrations of RapidPro-supported messaging apps;
  • Strengthen Primero community by providing RapidPro supported helpdesk;

More information about this project will be available soon.

Project 2: Develop Primero GDPR compliance tools

This project will work to build new features to support user’s General Data Protection Regulation (GDPR) compliance requirements. Currently, the Primero platform is being used by more than 50 organizations around the world. As a digital public good, we anticipate that this number will increase significantly in the coming years. Although Primero’s current feature set includes many privacy features (audit logs, role-based access, granular confidentiality settings) there are a number of unmet requirements.These include: redress features, right to be forgotten . Github repository: https://github.com/primeroIMS/primero

Project 3: Primero user customization package

Primero is an app designed to help social services workers with their day-to-day work. It is very important that the end user feels that they can “fine tune” the application to meet their ongoing needs for managing information. This project focuses on front end user customization (skins) that allow improvements to the application’s design and experience. The candidate selected may want to explore integration with 3rd party tools such as user-owned calendars provided by Google or Outlook, develop a tool for improved user management and selection of avatars, UI theme/look-and-feel support, or other such customization tools.

  • Related skills: JavaScript, UI/UX design, others TBA
  • Difficulty level: Medium
  • Related readings: GitHub repo, example docs (link)
  • Potential Primero mentors: @rmactavish, TBD @ UNICEF?

Project 4: Integrate Rapid Pro Courier Message Broker Module with Primero

Rapid Pro (also from UNICEF) used to be a monolithic app but it has now been separated into modules. The message broker was rewritten into Go which compiles into a lightweight standalone binary. The backend is pluggable, so we would like to add our own Primero backend to read and write messages directly from within Primero. The broker supports over 36 different channel types - so that is SMS aggregators like Twilio and IP channels like Facebook, Telegram and Whatsapp.