Skip to content
This repository was archived by the owner on Oct 3, 2023. It is now read-only.
John Wyles edited this page Feb 26, 2020 · 1 revision

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.

Models

User

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 Users 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

Mentorship

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

Mentor

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 Skills

Mentee

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 Skills

Skill

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

Clone this wiki locally