Project

A Project object includes the project description as well as the links to participants.

namestring

The name of the project.

descriptionstring

The summary of a project, which gives outsiders a brief idea of the objective or the scope of the project.

We separated the list of the members as supervisors and students so that the view functions do not have to check for their roles all the time.

supervisorsarray of string

Usernames of supervisors of the project.

studentsarray of string

Usernames of students participating in the project.

As described above, a project should have several tasks, some revisions for reports and slides:

tasksarray of Task

List of Tasks created for this project.

reportsArtifact

An object representing the reports of the project.

slidesArtifact

An object representing the presentation slides of the project.

Each project must be evaluated by the supervisor(s); the evaluation should therefore be stored as a property of the project.

evaluationnumber

The evaluation of the work for the project that is provided by the supervisor. It can be based on previous evaluation of individual tasks.

Additionally, information about the timeframe of the project is also needed. It can be used for sorting, filtering and reminding participants of the deadline.

created_ontime

The date and time the project is created.

deadlinetime

The date and time for the deadline of the project.