The Tech Behind Makueni County’s Open Contracting Portal

May 1, 2020 Open Contracting and Procurement Analytics
Mihai Postelnicu
Procurement, Program, Tech Stack

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

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 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 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.

Share This Post

Related from our library

Three Lessons on Building Trust in Public Health Data

Accessible and timely public health data has the power to shape policy and significantly improve population health outcomes. But effective public health policy needs to be built on a foundation of trust in order for policies and individual health behaviors to change. In DG's TCDI program, we've learned three lessons on how to build trust in public health data.

May 11, 2023 Health
Fertilizer Technical Working Groups Provide Key Insights into Africa’s Fertilizer Sector

From June 2021 to September 2022, Development Gateway: An IREX Venture’s (DG’s) Visualizing Insights on Fertilizer for African Agriculture (VIFAA) program convened 12 Fertilizer Technical Working Groups in 14 countries which have yielded essential information on Africa’s fertilizer sector, including insights on how geopolitical events have impacted the fertilizer sector and what is needed to mitigate resulting threats to food security throughout Africa.

May 4, 2023 Agriculture
The Cashew-IN Platform: An Assessment of the Cashew Sectors in Five Countries (Part 2)

In the first part of this blog series, we discussed the CALM assessment of the cashew data ecosystem, key findings from the assessment, and how DG is using the findings as well as partner and stakeholder feedback to guide the development of the Cashew-IN platform, a website that will facilitate access to and use of data to improve decision-making for policymakers, farmers, and the private sector. In this blog, we will look at the indicators on the Cashew-IN platform and what the data is telling us about the cashew sector more broadly.

April 27, 2023 Agriculture