The Tech Behind Makueni County’s Open Contracting Portal

Since late 2017, DG has been working with the Government of Makueni County (GMC) in Kenya and Hivos on a program that takes a multi-faceted approach to improving the quality of procurement processes for transparency and anti-corruption in the county. In partnership, DG and GMC developed a portal that provides detailed information about each step along the tender and award procurement process. The platform was launched late last year and is different from our other Aid Management Platforms (AMPs) or Open Contracting portals, in that it provides county-level instead of national-level open contracting information. In this post, we highlight the technology behind the portal.

The Government of Makueni County Open Contracting Portal (OC Portal) is an open-source platform built to organize and archive procurement documents, improve data transparency and feedback by the public, and to help publish procurement information in the Open Contracting Data Standard (OCDS). DG developed the platform using the Open Contracting Explorer (OCE) framework upon which several of our OC tools are built, and the DG Toolkit, which is a flexible, customizable, and ready-to-launch set of code modules that DG developed and often uses as a ‘base’ from which we build new systems. The modules in the DG Toolkit are continually tested and improved.

Software Architecture

The platform was created using Spring Boot and uses PostgreSQL as the main open-source database to store procurement metadata and files. 

The data entry module uses the DG Toolkit form builder components, based on Apache Wicket 8 and Hibernate to provide rich data input forms for the different procurement phases, enabling complex Spring Security user role hierarchies, validation and workflow management. With different levels of validation and edit access assigned to user, admin, and approver roles within the data entry module, the system offers individual customization for different types of users.

Government of Makueni County Open Contracting Portal Architecture
Government of Makueni County Open Contracting Portal Architecture

The public-facing version of the tool – accessible to anyone looking to search for individual procurements or use the M&E dashboard – leverages the Open Contracting Explorer platform. It is powered by MongoDB as the JSON store and ReactJS as the Javascript library. With a public tool, government officials, as well as citizens, can access the database and explore Makueni County’s data and use it to make decisions on how to improve procurement efficiency, increase value for money, and reduce corruption risk.

The public tool’s configuration provides fast access to data that can be shared with users, as well as a version of the dataset that is OCDS compliant, and which can be directly downloaded and used by the public. Additionally, the public tool uses a decoupled read-only database, which enhances the security of the tool. A single source of information is kept in the PostgreSQL database (not part of the public portal,) which therefore is more secure. Another benefit of our configuration is that public traffic does not affect the performance of the data entry platform running PostgreSQL.

MongoDB’s Aggregation Framework fuels the visualizations in the dashboard interface. It provides an aggregated view of the data, which can be narrowed down and filtered by different criteria. Additionally, the data can either be browsed or exported. 

Two different flavors of the API are available to the public – one that is compliant with Open Contracting Data Standard (OCDS) 1.1, and a second API, that can be used to download the Makueni-specific data model. OCDS output is validated during generation, using the jOCDS Validator. 

The public portal is also providing SMS based procurement-related feedback through the Infobip message portal. 

License, Versioning, and Development Workflow

Capitalizing on existing processes from the DG Toolkit and Open Contracting Explorer, which are both released under the permissive open-source MIT License, the Makueni OC Portal uses the same license model. Source code contributions can be provided on the Github Platform by the community, while the whole tool can be reused in different contexts – free of charge as is, or enhanced and modified as needed.

As for our development workflow, we used the popular Gitflow workflow during development, which helped isolate feature development on branches. Additionally, it enabled us to maintain a stable master version of the tool, while the development version was going through active changes. 

For version releases, we are using the Semantic Versioning Specification (SemVer) model and strictly adhere to updating both frontend and backend components. 

Releasing Software Updates Through Artifact Publishing

Once a new version of the tool is ready to be released, software artifacts that can be readily deployed on servers are published on the Bintray.com portal and can be downloaded by anyone. This publishing model makes setup and deployment easier as there is no need to download and compile the source code of the tool every time a server is updated.

The Government of Makueni County Open Contracting Portal has a dedicated page on bintray.com where all the artifacts are published and interested third parties can subscribe to receive updates when new versions of the portal are pushed online.

What’s Next for the OC Portal?

As we look forward to expanding the portal to other counties in Kenya in Phase II of our work with Hewlett and Hivos, we will use lessons from working with the Government of Makueni County to continue our Agile development process. DG uses post-mortems to reflect on lessons learned throughout the project and then carries lessons on to the next project.

Our ultimate goal is to conduct two to three other OC assessments and implement at least one more county-level OC Portal in Kenya. In doing so, we will build on the technical architecture and tools used in Makueni County to ensure systems continue to be fast, flexible, and customizable – all while meeting local user needs.

Follow Us

Stay connected and learn the latest from Development Gateway

Learn The Latest

Subscribe to new updates

For information or inquiries, please contact us at info@developmentgateway.org.

We have lots of amazing content. Type in the search box anything that interests you and hit search.