Skip to content

Latest commit

 

History

History
executable file
·
126 lines (103 loc) · 6.35 KB

program-model.md

File metadata and controls

executable file
·
126 lines (103 loc) · 6.35 KB

PROGRAMS

PROGRAMS

ATTRIBUTE DATA TYPE DEFINITION
program_id SMALLINT PK
program_name STRING A program_name is the name of the program created by the PROGRAM SUPERVISOR.A program_name is useful for recognizing the program from user-ends and advertising.A program_name is CHANGING, REQUIRED, NOT UNIQUE.
public_program_id UUID A public_program_id is the unique identifier for the PROGRAM in the website..A public_program_id is UNIQUE, NOT NULL NEVER CHANGING.
difficulty_level STRING A difficulty_level is the level of difficulty of a program.A difficulty_level is useful for telling the user the level of difficulty of the program.A difficulty_level is NOT UNIQUE, CHANGING, REQUIRED.
price NUMERIC A price is the cost of applying for the program.A price is CHANGING , REQUIRED, NOT UNIQUE.
program_picture STRING A program_picture is the picture used for displaying to the end-users.A program_picture is CHANGING, REQUIRED, UNIQUE.
is_open_to_public BOOLEAN It indicates whether the PROGRAM is open to the public at the current time or not, enabling STUD ENTs to see it.
program_cover STRING A program_cover is a picture attached to a program horizontally to be displayed to the users.A program_cover is CHANING, REQUIRED, UNIQUE.
program_description STRING A program_description is a text clarifying why you should enroll in this program and what you will learn briefly.A program_description is CHANGING, REQUIRED, NOT UNIQUE.
is_available BOOLEAN It clarifies whether the program is available or not.It is useful for enabling or disabling the program for enrollment.It is managed through the PROGRAM SUPERVISOR's panel.It has a default value of True.It is CHANGING , REQUIRED, NOT UNIQUE.
start_date DATE A start_date when the program starts.A start_date is useful for indicating the start of time interval of applying the schedule on the PROGRAM.A start_date is NOT UNIQUE, REQUIRED, NOT-NULL
end_date DATE An end_date when the program ends.An end_date is useful for indicating the end of time interval of applying the schedule on the PROGRAM.An end_date is NOT UNIQUE, REQUIRED, NOT-NULL
requirement_id SMALLINT FK

LECTURE

ATTRIBUTE DATA TYPE DEFINITION
lecture_id SMALLINT PK
public_lecture_id UUID A public_lecture_id is the unique identifier for the LECTURE in the website.
lecture_name STRING A lecture_name is the name of the lecture created by the PROGRAM SUPERVISOR.A lecture_name is CHANGING, REQUIRED, NOT UNIQUE.
porgram_id SMALLINT FK
lecture_description STRING A lecture_description is a text containing the name of the lecturer and sub points of subjects he will talk about.A lecture_description is CHANGING, REQUIRED, NOT UNIQUE.
is_unlocked BOOLEAN Is_unlocked is False by default, it only turns into True due to SCHEDULE.PROGRAM SUPERVISOR could assign it to True.

COURSE

ATTRIBUTE DATA TYPE DEFINITION
course_id SMALLINT PK
public_course_id UUID A public_course_id is the unique identifier for the course in the website.A public_course_id is UNIQUE, NOT NULL NEVER CHANGING.
program_id SMALLINT FK
course_name STRING A course_name is the name of the course created by the PROGRAM SUPERVISOR.A course_name is CHANGING, REQUIRED, NOT UNIQUE.
course_description STRING A course_description describes the content of the course and the advantages of the course along with what the student is going to learn from it.A course_decription CHANGING, NULLABLE, NOT UNIQUE.
course_order SMALLINT A course_order is the order of the course within the program.A course_order is CHANGING,NOT-NULL,NOT-UNIQUE.

LESSON

ATTRIBUTE DATA TYPE DEFINITION
lesson_id SMALLINT PK
public_lesson_id UUID A public_lesson_id is the unique identifier for the lesson in the website.A public_lesson_id is UNIQUE, NOT NULL NEVER CHANGING.
course_id SMALLINT FK
lesson_name STRING A lesson_name is the name of the lesson created by the PROGRAM SUPERVISOR.A lesson_name is CHANGING, REQUIRED, NOT UNIQUE.
lesson_description STRING TEXT, NON-NULL, VARCHAR
content JSON NOT NULL, NOT UNIQUE, CHANGING /
#####content
{
  "video": "Lorem ipsum dolor sit amet",
  "article": "Lorem ipsum dolor sit amet",
  "references":[{"title":"Lorem ipsum dolor sit amet",
                 "url" : "Lorem ipsum dolor sit amet"
               },
               {"title":"Lorem ipsum dolor sit amet",
                 "url" : "Lorem ipsum dolor sit amet"
               },
                ...],
  "html": "Lorem ipsum dolor sit amet"
} 

REQUIREMENT

ATTRIBUTE DEFINITION
Minimum Age NOT-UNIQUE, NUMERIC, NULLABLE
Maximum Age NOT-UNIQUE, NUMERIC, NULLABLE
Gender NOT-UNIQUE, BOOLEAN, NULLABLE

SKILL

ATTRIBUTE DATA TYPE DEFINITION
Skill Name STRING Useful for enabling the program supervisor to insert the certain set of skills he requires the students to have.NOT UNIQUE, NOT NULL, CHANGING.

PREREQUISITE

ATTRIBUTE DATA TYPE DEFINITION
prerequisite_id SMALLINT PK
dependency_id SMALLINT FK
program_id SMALLINT FK

CATEGORY

ATTRIBUTE DATA TYPE DEFINITION
Category Name STRING UNIQUE, VARCHAR, NOT-NULL

PROGRAM_FAQ

ATTRIBUTE DATA TYPE DEFINITION
program_faq_id INT PK
program_id SMALLINT FK
faq_id INT FK

FAQ

ATTRIBUTE DATA TYPE DEFINITION
faq_id INT PK
question STRING NOT-UNIQUE, VARCHAR, NOT-NULL
answer STRING NOT-UNIQUE, VARCHAR, NOT-NULL