-
Notifications
You must be signed in to change notification settings - Fork 0
Models
The following describes the main entities (called Models) within the CodeHub Mentorships application along with their relationships to one another. Collectively this entity map helps to define some the terminology that will be used when discussing the application.
A User
is the main actor within the application. Whilst the static public pages of the site (which describe the mentorship process and set expectations) will be available to all site visitors, only authenticated User
s will be able to access the application.
Currently we are going to make social authentication via Slack the only means of User
model creation
A User
can have one of two authorisation roles:
admin
- a User
who acts as an administrator of the CodeHub Mentorships programme.
member
- a User
that has signed up as they wish to be a Mentor
or a Mentee
Relations:
A User
can have a single Mentee
role
A User
can have many Mentor
roles
A Mentorship
represents a partnership between a single Mentor
and Mentee
. It holds information about the mentorship (such as an agreement about duration and frequency/terms of meetings between Mentor
and Mentee
).
A Mentorship
has a single Mentor
A Mentorship
has a single Mentee
A Mentor
is an individual offering time and expertise as part of a Mentorship
.
Relations:
A Mentor
is the role of a single User
A Mentor
is part of a single Mentorship
A Mentor
offers many Skill
s
A Mentee
is an individual seeking guidance or training as part of a Mentorship
Relations:
A Mentee
is the role of a single User
A Mentee
is part of a single Mentorship
A Mentee
seeks many Skill
s
An area of expertise that is being offered (by a Mentor
) or sought (be a Mentee
.
Relations:
A Skill
can be held by many Mentors
A Skill
can be sought by many Mentees