Back to Project List

Canned Analytics in Avni

Introduce canned analytics in the field work and data collection platform Avni so that users get some basic reports and insights out of the box when they design their own custom MIS using Avni and start using it.

Respository Video ▶️

CircleCI

avni-canned-reports

This project provides default analytics for organisations that run Avni. It is integrated to the main web application of Avni - avni-webapp.

Avni canned repo

Context

Avni is an open source field service delivery and data collection platform for non-profits and governments in all sectors — health, water, education, social service Users or Implementers can design their own MIS using Avni with its App Designer. Some of the key components of Avni included : Offline Android App, Web based App Designer, Web based Data Entry App. Close to 30 projects with combined 3000 users in the development sector have used or are continuing to use Avni. It has touched more than 500,000 lives.

WebsiteGetting StartedDocsCase studiesBlogGitterTwitter

Why Avni-canned-reports

Analytics from data captured via Avni can be derived by connecting any BI tool e.g. Metabase to either Avni database or APIs. However, this has limitations Setting up analytics using these BI tool requirers the know-how of these tools. Many organisations using Avni don't have these expertise and they need to depend upon software partners to set this up for them. This has time and cost implications.

So introducing Avni canned reports where it understands the domain and smartly gives out-of the box insights which can be a good starter for organisations to start reviewing and making sense of their data without any extra cost. It also gives ability to explore data based on dimensions and pre-defined filters required in the domain.

Current State and Roadmap

We currently plan to introduce some out of the box dashboards

  1. Activities - To give an overview of work done by Avni's data model, that is Registration, Enrolments, Exits, Visits, Visits done on time and Visits cancelled. [Completed]
  2. Data - To give overall distribution of data captured across form submissions e.g. Distribution by Occuptation, Distribution by Gender. [Completed]
  3. HR - To give a picture of usage of the app from users lens. [To be done soon]

We will continue to review the uptake of this and introduce more features like ability to mention derived measures and create custom dashboards.

Development

To start the app, run yarn start. Open http://localhost:3000 to view it in the browser.

Configuration

The app requires a working avni-server instance. The default is set in package.json to a local instance.\ To run in dev mode, change the value in package.json.

If you want to run as a specific user, run the app with the parameter REACTAPPDEVENVUSER eg:

REACT_APP_DEV_ENV_USER=user@org yarn start

Setting up the app this way will allow avni-server running in development mode to recognise the user.

If running against an existing avni server that has authentication setup, - Ensure package.json points to the right server - Open the app with a valid id token. eg: http://localhost:3000?authToken=...

Production

This app is expected to be run as part of avni-webapp. It is installed as directory right beside the current avni-webapp. Many facilities such as the login page etc, are part of avni-webapp.

Using Docker

There's docker-compose file included in the root directory. To run it on local simple checkout the project and run docker-compose up to run server and db containers.Use docker-compose down to destroy the containers. Web app can be accessed at http://localhost:8021 The docker images includes the db, server, webapp and avni-canned-analytics webapp. The webapp has admin, app designer and data entry app to be able to configure the app, enter tranactional data and then review the analytics.

Contributing

There are many ways you can contribute and help Avni. Here a few ones:

  • Star this repo and follow us on Twitter.
  • Upvote issues with 👍 reaction so we know what's the demand for particular issue to prioritize it within road map.
  • Create issues every time you feel something is missing or goes wrong.
  • Provide pull requests.

All sort of contributions are welcome and extremely helpful 🙌

License

Avni Canned analytics is licensed under AGPL v3.0

Arjun Khandelwal
Vinod Deolal
Vinay Venu

Project created by Arjun Khandelwal

November 12, 2021