Database - HeartUoA/HeaRT GitHub Wiki

Current implementation of the HeaRT tool comprises 4 collections: charts, dimensions, users, and courses.
Database models were created with the help of the mongoose library.

Users

Represents a single user of the tool.
image

Name System generated? Description
username n Name of the user
createdAt y Date of user's sign up
institution n The instituion the user belongs to
department n Which department does the user represent
position n Role of the user within the institution
email n User's email address
passwordHash y User's hashed password (used for authentication)

Courses

Represents a University course that charts can be created for and is associated with a user. In the current implementation, courses can only be associated with one user.
image

Name System generated? Description
name n Course name
cohortSize n Number of students enrolled in the course
role n The role of the user in the course
startYear n When does the course start
createdByUserID y Associated with the user who created the course
createdAt y Date of creation of the course

Charts

Represents a single game for a course.
image

Name System generated? Description
isComplete y Whether the user has completed the game yet
courseID y The course that chart is associated with
createdAt y Date of creation of the chart
createdByUserID y Associated with the user who created the course
reasonOfPlay n Description of why the user is playing this particular game

Dimensions

Represents a pair of cards in a game.
image

Name System generated? Description
score n User's selected position on the dimension slider
leftCardDefaultSliderPosition y Default position of the left card
rightCardDefaultSliderPosition y Default position of the right card
definition y The title of the dimension
type y The type of dimension
leftCardStatement y Statement on the left card
rightCardStatement y Statement on the right card
marks y Additional marks on the dimension bar of the form: n: "text of the mark"}, where n is the position on the slider (0-100)
chartID y The chart that this dimension is a part of
note n User's explanation of their choice on this dimension