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.