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 ▶️
This project provides default analytics for organisations that run Avni. It is integrated to the main web application of Avni - avni-webapp.
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.
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
- 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]
- Data - To give overall distribution of data captured across form submissions e.g. Distribution by Occuptation, Distribution by Gender. [Completed]
- 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.
To start the app, run
Open http://localhost:3000 to view it in the browser.
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=...
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.
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.
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 🙌
Avni Canned analytics is licensed under AGPL v3.0
Project created by Arjun Khandelwal