Stats Page

tickets to write:

Chart.js for graphing

  • frontend

    Statistics page
    new route (/statistics)
    stats icon in navbar
    gridview of graphs
    date picker (mui)
    view dropdown (mui select)
    line graph component
    bar chart component
    pie chart component
    view page
    falls under URL (/statistics/view-id)
    grid of graph components
    get view hook
    get all graph hook
    create new graph page
    new graph form
    live preview
    create new graph hook
    graph details page
    graph component
    metrics/data table
    export graph button
    falls under URL (/statistics/parent-view-id/graph-id)
    create new view modal (NER Modal)
    create new view form
    create new view hook
  • endpoints

 

 

models:

  • Quantifier

    • Total

    • Average

  • Metric:

    • Type

      • Car,

      • Project,

      • Team,

      • Change Request,

      • Budget,

      • Design Reviews,

      • User

    • Quantifier

  • Graph:

    • orgId

    • Timeframe

      • start date

      • end date

    • Title @unqiue with orgId

    • linkId @unique

    • graphType

    • cars: Car[]

    • teams: Team[]

    • projects: Project[]

    • data: Metric

    • grouping: Metric?

    • permissions: Permission[] (modify Role model to include permission)

    • User Created

    • Deleted

  • GraphCollection/View:

    • orgId

    • Graphs

    • Timeframe

      • start date

      • end date

    • Title @unique with orgId

    • linkId

    • permission: Permission[]

    • UserCreated

 

 


Enum:

  • graphType:

    • BAR

    • LINE

    • PIE

 

  • dataType:

    • CAR

    • PROJECT

    • TEAM

    • CHANGE REQUEST

    • BUDGET

    • DR

    • USER

 

  • values:

    • SUM

    • AVERAGE

 

 

Models:

  • Graph

    • organizationId: String

    • startDate: DateTime

    • endDate: DateTime

    • Title: String

    • linkId: String

    • graphType

    • Cars: Car[]

    • Teams: Team[]

    • Projects: Project[]

    • userCreated: User

    • userCreatedId: String

    • dateDeleted: DateTime

    • Data: GraphData

    • groupBy: GraphData?

 

 

  • GraphData:

    • dataType

    • values

 

  • GraphCollection:

    • organizationId: String

    • Graphs: Graph[]

    • Title: String

    • linkId: String

    • userCreated: User

    • userCreatedId: String

    • dateDeleted: DateTime

    • permissions: Permission[]

 

  • User (additions):

    • createdGraphCollections: GraphCollection[]

    • deletedGraphCollections: GraphCollection[]

    • createdGraphs: Graph[]

    • deletedGraphs: Graph[]