Kwantu What is the Kwantu platform? - kwantu/platformconfiguration GitHub Wiki

The Kwantu platform enables people who are not developers to create, publish and use apps. It is optimised for creating apps that help people collect and use data as part of a structured business process. It is particularly suited for the design of administrative data apps used to manage large government or NGO programmes.

Key principles

The platform is designed based on the following principles:

Apps are configured, not coded

The platform provides a series of building blocks that can be used to create new apps. These abstract app logic into workflow, data objects, taxonomies, searches, roles and permissions. Non-developers can configure new apps by editing JSON configuration files that define each of these areas.

Apps are scaleable out of the box

The platform handles scaling your app. As usage grows from a few users to hundreds, thousands or tens of thousands, the architecture is in place to scale accordingly.

Organisations manage their own data

Every organisation (or other grouping of people) using the Kwantu platform has it's own community. This is a password protected system that they manage. They can create unlimited user accounts in their community and adopt one or more apps to use in that community. Data generated via these apps is managed in their community. Each community has it's own database, separate from data associated with other communities.

Shared apps

People creating new apps may publish them in the app registry. There they are available for community owners to browse and adopt. If adopted, a version of the app is created in the community. There the community and it's users can collect and use data associated with the app.

Distributed programmes

Large programmes working with multiple partners can create apps, not systems. Instead of asking each partner to use one system framed around the programmes needs, the programme can create one or more apps that each partner can adopt and use in it's own community. This allows partners to use other apps too. It also gives partners access to data associated with the programme.

Interoperability

Data objects may be shared across different apps. Apps in turn may be adopted and used by multiple communities. This approach embeds interoperability at a low level.