Hey Developers!

I've been working on this dashboard idea (LP #1770289) and wanted some
feedback on the charting library itself. This is a custom library that uses
d3.js for generating the charts that we call eg-charts. I spent a lot of
time on the accessibility portion and I believe we should be WCAG 2.2
compliant with features like hidden data tables for screen readers, full
keyboard navigation, visual patterns for color-blind users and ARIA labels
throughout.


I shopped around and looked at quite a few charting libraries including the
Visa charts listed in the LP bug. I seemed to fight with Visa charts and
just getting it to fill out the divs properly. I just could never get them
to feel like part of the page. Visa also uses d3.js. I did steal some ideas
from that library like the hidden table for screen readers to tab through
along with some visual patterns to break up the colors.


Second to accessibility, the next main thing I wanted out of a charting
library was the least amount of dependencies. The only dependency for this
library is d3.js itself (almost all charting libraries use d3 it seems). We
all know how troublesome it can be upgrading Angular to a newer version and
having some 3rd party dependency issues.


Technical Benefits:

- CSS-first responsive design that works seamlessly with Bootstrap

- Dynamic aspect ratios for optimal chart readability across all devices

- Clean Angular architecture with Template Method pattern

- TypeScript interfaces for type safety and better development experience

- Minimal bundle size impact (just d3.js dependency)

- Component-based architecture (line-chart, bar-chart, pie-chart components)


It currently has line, bar and pie charts. Down the road we could add
scatter plots, area charts or really anything that d3 can do.


We have a demo here
https://egdashboard.mobiusconsortium.org/eg2/en-US/staff/sandbox

username: admin

password: demo123


I really want the community to decide on this direction.

Some specific questions for feedback:

1. Does this charting approach feel right for Evergreen's needs?

2. Are there specific chart types or features you'd find most valuable?

3. How important is the minimal dependency approach vs having more features?

4. Any concerns about maintenance or long-term viability?

5. Should we move forward with this for the dashboard project?


Will this charting library work for Evergreen? Does it suck or is it
awesome? Should we try something else? Your input will help determine if we
continue developing eg-charts or explore alternatives. Please test the demo
and share your thoughts!


Feel free to reach out with questions or detailed feedback on this mailing
list thread or LP #1770289 for technical discussion.


Thanks everyone! I appreciate all your feedback.

--
Scott Angel - Full Stack Developer
scottan...@mobiusconsortium.org
_______________________________________________
Evergreen-dev mailing list -- evergreen-dev@list.evergreen-ils.org
To unsubscribe send an email to evergreen-dev-le...@list.evergreen-ils.org

Reply via email to