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
- create new graph endpoint
- get graph endpoint
- edit graph endpoint
- delete graph endpoint
- create new view endpoint
- get view endpoint
- edit view endpoint
- delete view endpoint
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[]