Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Canned Analytics #1334

Open
2 tasks done
vinayvenu opened this issue May 18, 2023 · 21 comments
Open
2 tasks done

Canned Analytics #1334

vinayvenu opened this issue May 18, 2023 · 21 comments
Labels

Comments

@vinayvenu
Copy link
Member

vinayvenu commented May 18, 2023

Avni Project Description

Avni is a SaaS ready multitenant platform that can be used by community-based organisations to collect and make sense of their data. It allows easy setting up of an organisations data and process model, allows addition of rules to highlight information and schedule visits with beneficiaries, and helps with integration with other external systems.

Sample use-cases

  1. Reproductive and Child health
  2. Non-communicable disease management
  3. Social security followups

See https://avniproject.org/case-studies/ for some case studies where Avni has been used

Canned Analytics Project Description

While Avni users can set up analytics using BI tools, many standard reports that an end-user requires can be created right off the box within Avni. A canned analytics solution that provides basic analytics on a project readily will enable easier data access for organisations.

Avni currently has a canned analytics solution, but it does not perform well enough. This is because data for analytics was pulled from the OLTP database that contains data from all organisations. Avni-etl did not exist at this time.

The ETL solution creates organisation specific analytic tables. This can be used by the existing canned analytics solution to create better and faster reports. This project will include changes to ETL to bring in data that it does not bring in today, and create some rollups if they are necessary.

Learning Path

Complexity: Medium
Required Skills: Java, React-based web application development
Project size: 1.5 - 2 months

Link to documentation for Product Set-Up

Avni can be set up with documentation here

Acceptance/Success Criteria for the pull requests

  • Basic project with some visualisations are created
  • Visualisations are performant

Milestones with timelines

Week 1 - Set up of project and familiarization with data model
Week 2 - Feature toggles and creation of the first visualisation
Week 4 - Basic visualisations for sync statistics and transactional data
Week 6 - Downloads, performance analysis
Week 8 - Production readiness - Service, daemons, infra setup etc (stretch goal as this requires a different skill-set)

Tasks

  1. vinayvenu
@vinayvenu vinayvenu added the Epic label May 18, 2023
@AieshaShetty
Copy link

Hey @vinayvenu ,
I really want to contribute to this project and learn more about it.
I have some doubts regarding the repository where I would be Implementing the following changes. Do we have to create this from the ground up or in some existing repository? I have some good insights over the following & would really like to write a proposal to C4GT regarding this.

@vinayvenu
Copy link
Member Author

Hi @AieshaShetty

This will have to be designed and created from ground up. There are some visualisations that exist today that may be used as inspiration.

Hope that helps.

@ritikranjan12
Copy link

Hello @vinayvenu,
I am writing to express my keen interest in your project. As a pre-final year Student in Computer Science and Engineering, with a specialization in Full-Stack Development, I am thrilled at the opportunity to contribute to this initiative. I have a strong command of React.js, coupled with experience in creating user-friendly interfaces and documenting solution capabilities.

The belief I hold dear is the incredible power of collaboration and its ability to transform communities. I am proud to have a proven track record of actively contributing to various open-source programs, including Github Octernship, GirlScript Summer of Code, and many others. Through these experiences, I have honed my skills in collaborative development, project management, and technical documentation.

I kindly request your guidance on how I can begin my journey with this project. Should I proceed by submitting a formal proposal, or is there a specific process I should follow? I am eager to immerse myself in the work and make a meaningful impact.

I greatly anticipate the opportunity to collaborate with mentors and contribute to the success of this project.

Warmest regards,
Ritik Ranjan

@vinayvenu
Copy link
Member Author

Hi @ritikranjan12 ,

Glad to hear your interest.
I would suggest taking this route

  1. Going through the website and documentation
  2. Try setting up Avni on your local machine and try it out. This video might help

The video also has a demo of the existing analytics tool that we are going to rebuild. We can either stick to its capabilities, or build something new.

If you need any guidance, you can look at the documentation (https://avni.readme.io) or join the developers chat channel at https://join.skype.com/xiTU162DSJTd .

Once you are comfortable with Avni, you should be ready to begin your proposal. If you have any quick questions, do login to Skype and ask.

@harshraj78
Copy link

Hi @vinayvenu,

I'm eager to contribute to this project and expand my knowledge about it. I have a good understanding of the following aspects and would like to submit a proposal to C4GT regarding this.

Now, I would like to inquire about how I can proceed given that I have theoretical knowledge of Java but only some practical experience with React.

Thank you!

@Keshavinee
Copy link

Hi @vinayvenu,

I would love to be part of this project and collaborate with the team to implement the necessary changes to the Avni ETL solution. I'm eager to contribute my expertise and help enhance the canned analytics functionality.

Looking forward to working with you all!

@kapil1502
Copy link

Hello @vinayvenu,
I want to know if we have to make ETL changes to take data and store it in the Data warehouse using schemas for easy access and then push it back for analytics will make the process of analytics a lot faster.

@shreyaspande2003
Copy link

Hi @vinayvenu I would like to express my strong proficiency in, HTML, CSS, and Node.js , Javascript and React.js. With a solid grasp of these technologies, I am eager to make a meaningful contribution to this project. If possible, I kindly request to be assigned to this endeavor so that I may commence my efforts promptly and begin actively working on it.
Also can i get to know about the original github link the project is currently working on ??

@vinayvenu
Copy link
Member Author

Hello @vinayvenu,
I want to know if we have to make ETL changes to take data and store it in the Data warehouse using schemas for easy access and then push it back for analytics will make the process of analytics a lot faster.

I did not understand what you meant by "push it back".

@kapil1502
Copy link

kapil1502 commented May 29, 2023

@vinayvenu
Actually, I was thinking of moving the data from the database to the data warehouse to make data easily available for analytics.

@Aarav238
Copy link

Aarav238 commented Jun 3, 2023

Hey @vinayvenu . I am computer Science under grad . I am familiar with full stack Development(MERN) and I also have knowledge of containerization . I would love to contribute in this project and explore more in the community. Can you please guide me how to get started?

@Rohanxmalik
Copy link

Dear Mentor,
@vinayvenu

I am excited about the opportunity to contribute to the Avni project under C4GT. My previous internship experience has familiarized me with technologies like MERN stack and TypeScript, which I believe will be valuable in understanding and contributing to the codebase.

Before diving into major feature implementations, I would like to start by making some minor contributions to better understand the codebase and workflow. To begin, I would greatly appreciate your guidance in setting up the project locally on my system. This will allow me to explore the codebase, gain familiarity with the data model, and better understand the project's requirements.

Could you please assist me in setting up the Avni project locally? If there are any specific instructions or resources that would be helpful, please provide them so that I can follow them accurately.

Once the project is set up, I will focus on familiarizing myself with the codebase and data model during the initial weeks. This will involve understanding the existing features and their implementation.

Additionally, I would like to contribute by improving the existing canned analytics solution. I will work on enhancing the ETL (Extract, Transform, Load) process to bring in data that is currently missing and create necessary rollups. I mainly wanna ensure that the visualizations are performant and meet the acceptance criteria.

I understand that creating a proposal is required before undertaking major feature implementations. Therefore, my initial focus will be on gaining a deeper understanding of the codebase and contributing in areas where I can make minor improvements.

Thank you for considering my contribution. I am eager to start working on the Avni project and look forward to your guidance and support throughout this journey.

Best regards,
Rohan Malik
rohanxmalik06@gmail.com

@vinayvenu
Copy link
Member Author

Hi @Rohanxmalik

You can follow instructions available here to set up the project. Ensure to set up avni-server, avni-etl and avni-webapp, create an organisation and get a feel of the system.

You can also try some any of the issues marked "good first issue" on avni-server, avni-webapp or avni-client repositories. This can give more confidence in understanding the project better.

Creating rollups needs a solid understanding of the data model. Trying out setting up a couple of organistions can help.

Hope that helps.

@vinayvenu
Copy link
Member Author

Sure. The project does not expect users to have a different warehouse at this point. avni-etl allows you to convert the data model of an organisation to a more analytics friendly schema (in postgres terms).

@vinayvenu
Copy link
Member Author

Hello @vinayvenu,
I want to know if we have to make ETL changes to take data and store it in the Data warehouse using schemas for easy access and then push it back for analytics will make the process of analytics a lot faster.

Take a look at the avni-etl repository to know more.

@Mounika-Pavanthi
Copy link

I am excited to contribute to the Avni project and its mission to empower community-based organizations. With my expertise in data management and [relevant skills], I am confident in my ability to make a valuable impact. The potential use cases of Avni, particularly in reproductive and child health, non-communicable disease management, and social security follow-ups, resonate strongly with me. I am eager to collaborate with the project team and leverage my skills to drive meaningful change. Please consider my involvement in the Avni project, as I am dedicated to its success and the positive impact it can have on communities. Thank you for considering my proposal.

@HariCharanR
Copy link

Dear @vinayvenu ,

I am writing to express my interest in joining the development team of the project.

I am particularly interested in the User Interface(frontend) aspect of the project. I have a strong understanding of REACT and I am confident that I can make a significant contribution to this area of the project.

Thank you for your time and consideration.

Sincerely,
HARICHARAN R

@vinayvenu
Copy link
Member Author

Dear @vinayvenu ,

I am writing to express my interest in joining the development team of the project.

I am particularly interested in the User Interface(frontend) aspect of the project. I have a strong understanding of REACT and I am confident that I can make a significant contribution to this area of the project.

Thank you for your time and consideration.

Sincerely, HARICHARAN R

#1336 (comment)

@dipanshu-mahto
Copy link

dipanshu-mahto commented Jun 10, 2023

Dear @vinayvenu ,

I would like to contribute to the Avni project and join the development team. I believe I can add value to the project with experience in React, JavaScript, and creating pages for e-commerce companies. please do consider me.

Right now, I am pursuing my B-Tech in the ECE discipline from NIT Patna.

Thank you,
Dipanshu

@vinayvenu
Copy link
Member Author

Hi @dipanshu-mahto please come over to Skype to talk more - https://join.skype.com/xiTU162DSJTd

@dipanshu-mahto
Copy link

dipanshu-mahto commented Jun 12, 2023 via email

ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Aug 1, 2023
…erified working

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Aug 3, 2023
Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Aug 3, 2023
Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Aug 14, 2023
Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Aug 17, 2023
…cording to ETL

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Aug 18, 2023
…eByProportion query according to ETL

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Aug 18, 2023
…sits query according to ETL

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Aug 21, 2023
…ller

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Aug 21, 2023
…t added

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Aug 22, 2023
Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Aug 22, 2023
Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Aug 23, 2023
…ties tab

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Aug 24, 2023
…or past week table in hr tab

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Sep 4, 2023
…show weekly data for past 3 months

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-canned-reports that referenced this issue Sep 4, 2023
…ver, modified and added new tables to incorporate etl based changes

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Sep 16, 2023
1) added runInOrgContext in ReportRepository
2) removed getSummaryTable paramenters in ReportController
3) renamed StrUtil to StringUtil and removed isEmpty class as it is a predefined class

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Sep 16, 2023
…Repository (removed it as a parameter from function)

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Sep 16, 2023
Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
ak2502 added a commit to AvinashRamachandruni/avni-etl that referenced this issue Sep 16, 2023
Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
vinayvenu pushed a commit to avniproject/avni-etl that referenced this issue Sep 26, 2023
…erified working

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
vinayvenu pushed a commit to avniproject/avni-etl that referenced this issue Sep 26, 2023
Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
vinayvenu pushed a commit to avniproject/avni-etl that referenced this issue Sep 26, 2023
Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
vinayvenu pushed a commit to avniproject/avni-etl that referenced this issue Sep 26, 2023
…cording to ETL

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
vinayvenu pushed a commit to avniproject/avni-etl that referenced this issue Sep 26, 2023
…eByProportion query according to ETL

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
vinayvenu pushed a commit to avniproject/avni-etl that referenced this issue Sep 26, 2023
…sits query according to ETL

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
vinayvenu pushed a commit to avniproject/avni-etl that referenced this issue Sep 26, 2023
…ller

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
vinayvenu pushed a commit to avniproject/avni-etl that referenced this issue Sep 26, 2023
…t added

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
vinayvenu pushed a commit to avniproject/avni-etl that referenced this issue Sep 26, 2023
Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
vinayvenu pushed a commit to avniproject/avni-etl that referenced this issue Sep 26, 2023
Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
vinayvenu pushed a commit to avniproject/avni-etl that referenced this issue Sep 26, 2023
…ties tab

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
vinayvenu pushed a commit to avniproject/avni-etl that referenced this issue Sep 26, 2023
…or past week table in hr tab

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
vinayvenu pushed a commit to avniproject/avni-etl that referenced this issue Sep 26, 2023
…show weekly data for past 3 months

Signed-off-by: ak2502 <akanksha.feb25@gmail.com>
mahalakshme added a commit to avniproject/avni-webapp that referenced this issue Oct 9, 2023
mahalakshme added a commit to avniproject/avni-webapp that referenced this issue Oct 9, 2023
mahalakshme added a commit to avniproject/avni-webapp that referenced this issue Oct 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: New Issues
Development

No branches or pull requests