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

Dynamic dashboard statistics #156

Draft
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

gmakharat
Copy link
Contributor

Ticket: https://broadinstitute.atlassian.net/browse/DDP-5819

Draft version of dynamic dashboard statistics feature:

  • Statistic interface which helps to make high level abstraction for the feature, to make easier to add different kind of statistic representation later, this type interface will be parent of all type of statistic(Counter, Graph, etc).
  • StatisticFactory interface and StatisticCreator class which will help to generate different kind of Statistic type, to hide switch statement which manages to which type of object return depending on statistic type(Counter-Participant, Graph-Participant etc).
  • StatisticResult abstract class which will be parent class of result of any type of statistic, currently empty but it can be useful to provide common data for all kind of statistic
  • StatisticPayload first intention of this class was to deserialize json from frontend of what kind of statistic user wanted to create, but currently is used to create Java object filled with data from dashboard_settings table, I think it can be good helper class to communicate with code from outer world(Database, Frontend, etc).
  • StatisticFor idea of this enum class is to make difference for what we make statistics, statistics for participant related things or statistics for medical record related things and etc.
  • FilterType nearly the same idea as StatisticFor has, will help in filtering data, for example StatisticFor can be PARTICIPANT and FilterType will be ENROLLED, REGISTERED, etc it should be useful for filtering to have small methods which will have Single Responsibility.
  • DisplayType enum class, the same idea as FilterType and StatisticFor have, to make difference on code level what kind of representation is required.
  • Counter, ParticipantCounter and CounterResult classes are related to COUNTER representation of statistic, I think each representation will have such classes, for example BarGraph, ParticipantBarGraph, BarGraphResult, all of these classes will have type Statistic

…-manager into DDP-5103_testbostson_demographic_dashboard

� Conflicts:
�	src/main/java/org/broadinstitute/dsm/route/BatchKitsRoute.java
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant