Database arhcitecture
General
- DBMS = PostgreSQL
- Backend will use Entity framework Core as ORM
- DB setup info
- DB create script
Conceptual data model
Current assignment examples
Notes:
- Assignment can have multiple teams
- Team can have multiple coaches (UserAccount)
- Team has many positions
- Position has one primary role
- Position can have Skill requirements
- Position can have Field (of study) requirements
- Position can have (persons) type related requirements
Logical data model
V1.0 - Current
Notes:
UserAccount
- Should be removed after external authorization is properly implemented
Assignment
- Assignments can have 1 or more teams
- Assignments can have 0 or more keywords (Usually always more than zero)
- Contact person needs to be clearer (+more data like email, phonenum?)
Team
- Team has many positions
- Team has 1 or more coaches
- TeamName is to identify different teams MS Teams for example
Position
- Position has one primary Role
- Position can have many requirements (Field/specialization, type, skill)
- PositionStatus is open -> taken
Role
- Many positions can have the same Role
- Pretty predetermined list (Team leader, member...)
Type
- Position can have multiple type requirements
- Pretty predetermined list from team role test (leader, driver, explorer, team player...)
- Position might have no type requirements (not decided yet)
Field
- Position can have 0 or more field requirements
- Predetermined list of field of studies
Skill
- Assignments can have 0 or more skills that indicate what type of skills the students might learn during the course
- Was originally related to positions but changed to assignments
Priority
- Assignments can have different priorities which make them show up more to students.
- We didn't have time to implement it this summer.
Language
- For multilanguage support. Ended up being not the best way but it works...