Visualization of Grouped Data¶
The Problem¶
One of the common needs that arises when analyzing data is to group similar results, aggregate them, and gain insights from them. For eg., Consider the scenario where we have a list of employee records and would like to figure out how many employees reside in a particular country, and further categorize them by age group, gender etc., Databases make these kind of usecases easier by providing powerful grouping behaviours. However, inorder to leverage it users would need to work with SQL which requires technical knowledge.
Mathesar is focused on providing an intuitive interface over databases for non-technical users. They should be able to gain data insights through grouping with as simple interactions as possible. Mathesar currently provides the ability to group records and displays them as linear rows, separated by group headers, further narrowed down by pagination. While this allows users to group data as per their requirements, it would be more helpful to provide a bird’s eye view on the entire dataset.
An additional option to visualize the grouped results in the form of graphs or a summary view would be highly effective.
Classification¶
- Difficulty: Low
- Primary skills needed: Frontend development knowledge
- Secondary skills needed (or willing to learn): UX design, SQL, Python, Django
- Length: Medium (~175 hours)
Tasks¶
- Research and come up UX design specs and wireframes for grouped data visualization.
- Create necessary issues based on the finalized specs after review.
- Research graphing libraries and identify the one most suitable with Mathesar’s architecture and goals.
- Identify missing APIs or changes required in existing APIs and implement the necessary changes on the backend.
- Implement the frontend data visualization interface.
Expected Outcome¶
Once a user groups rows, there should be an option on the Mathesar UI to allow them to visualize the result. The interactions and user input required should be minimal.
Application Tips¶
A good candidate would be someone who is able to empathize and think from the perspective of a non-technical user, and align themselves with the goals of Mathesar. They should be willing to do a fair amount of research both in terms of UX and engineering. They will be working full-stack and would either know or be motivated to learn the necessary technologies in order to complete the project.
Mentors¶
- Primary Mentor: Pavish Kumar Ramani Gopal
- Backup Mentor: Sean Colsen
See our Team Members page for Matrix and GitHub handles of mentors.