Component Architecture

The Avni suite of tools includes the following components:

  • Avni android app
  • Avni administrator app
  • Avni server
  • Avni rules server
  • Avni reporting system

Avni components

Avni Android app

The Avni Android app is the primary interface for field workers. It provides the ability to fill forms and record observations from the field. The app can work completely offline and allows for sync of data to a central server (Avni server) when the field-worker is at a place with good internet.

The login credentials of authorised users are maintained in AWS Cognito - a third-party identity server that is integrated with Avni.

Avni Web app for Administration

The Avni Administrator app is a web-based interface that is used to configure organisations in Avni. Login is allowed to all organisation administrators. In this, you can configure and setup Avni server, for example configuring master data for Locations, Hierarchies, Users, design the Program Forms, etc. It can also be used for Data Imports, Exports and Data-Entry. It runs in a web browser.

Avni Server

The Avni server exists for the following reasons

  • A centralized place to keep data persistent and to enable sharing of data between different devices.
  • Enable creation of organisation workflows and forms centrally through metadata.
  • Enable availability of aggregate data that can be accessed by the Reports server.

The Avni server is multitenant, which means that the same server can be used for multiple organisations/locations/programs. Multitenancy is achieved through row-level security policies within the database. This is important for Avni to achieve operational efficiency. For further in-depth details on multi-tenancy please refer Multitenancy

Avni Rules Server

Avni uses JavaScript-based rules to provide configurability for each implementation of the platform. For details please refer to Rules concept guide. These rules are executed primarily on the android device when used in the field in offline mode. Since Avni also has data entry web application which is used in the online mode, for performance reasons these rules cannot be executed in the browser. To run these rules, closer to the database, Avni provides a node-based rule server which executes the same rules on the server-side.

Security is handled through JWT tokens obtained from the Identity Server. More details are available here: Security.

Avni Analytics & Reporting

Avni comes pre-integrated with Jasper Reports & Metabase as a reporting interface with many out-of-the-box reports pre-configured, and it is very easy to create new reports/charts as required. Each tenant/organisation/Location can have their reports defined.

If you use a different reporting tool, it can also be easily integrated with Avni database / APIs.