Logo
DevOpsOverView

Workflows and Pipelines

Workflows and Pipelines

Using a GitHub Actions workflow file, we created separate pipelines for the backend and frontend of each environment (Dev, QA, and Prod).
There are three pipelines configured in the GitHub Actions workflow for each service.

QA and DEV

  1. Triggered when any new tag is pushed to a repository (repo).
  2. Clone the repo.
  3. Copy the .env variables from GitHub Actions secrets into a configmap.yaml file.
  4. Build a Docker image.

PROD

  1. The pipeline is triggered on every push to the repo.
  2. Connect to the production server via Secure Shell and create an .env file from GitHub Actions secrets.
  3. Navigate to the specific directory and run the deploy.sh file, which includes all the deployment steps.

EduCert Verifier Dashboard

Data Dictionary – Schemas

Notification

Field NameTypeRequiredEnum ValuesDescription
user_idstringyesUser ID of person
subjectstringyesNotification title
is_readbooleanyesBoolean to check notification read/unread status
createdAtstringyesCreated time
updatedAtstringyesUpdated time
descriptionstringyesDescription/body of notification
typestringyesType of notification

Report (Added fields)

Field NameTypeRequiredEnum ValuesDescription
ceritificateOsidstringnoOsid of result, regular/regional

Student

Field NameTypeRequiredEnum ValuesDescription
admissionNostringnoAdmission number of student

ActivityLog

Field NameTypeRequiredEnum ValuesDescription
user_idstringnoUser ID of the person performing the action
user_namestringnoFirst name of the user
last_namestringnoLast name of the user
actionstringnoAction performed by the user
entity_namestringnoSuper Admin, School, Inspector, Examiner, Student, Result, Report, StateAdmin, LgaAdmin, SchoolAdmin, LGAADMIN, CertificateName of the entity associated with the action
entity_idstringnoID of the entity associated with the action
detailsobjectnoAdditional details about the action

Class

FieldTypeRequiredExample ValuesDescription
schoolIdstringnoSchool ID
schoolNamestringnoSchool name
classIdstringnoClass ID
classTypestringnoClass type
classNamestringyesClass name
subClassstringnoA, B, C, D, ESubclass name
classSizestringnoClass size
teachersAssignedstringnoTeacher’s assigned
teachersEmailstringnoTeacher's email
academicYearstringnoAcademic year
subjectsstringnoEnglish, Mathematics, Civic, Economics, Marketing, Commerce, Accounting, Animal Husbandry, Agricultural Science, Fine Arts, CRS, IRS, Arabic, French, Edo Language, Biology, Chemistry, Food and Nutrition, Government, HistorySubjects offered

ClassResults

FieldTypeRequiredDescription
uniqueIdstringyesUnique identifier for the record
certificateIdstringnoCertificate ID associated with the result
studentIdstringyesStudent ID
admissionNostringnoAdmission number
classTypestringnoType of class
classIdstringnoClass ID
classNamestringnoClass name
subClassstringnoSubclass name
firstNamestringyesFirst name of student
middleNamestringnoMiddle name of student
lastNamestringyesLast name of student
schoolIdstringnoSchool ID
schoolNamestringnoSchool name
academicYearstringnoAcademic year
teacherIdstringnoTeacher ID
teacherNamestringnoTeacher name
statusstringnoResult status
termstringnoAcademic term
highestAveragestringnoHighest average in class
lowestAveragestringnoLowest average in class
finalAveragestringnoFinal average of the student
noInClassstringnoNumber of students in class
noOfDaysSchoolOpenedstringnoTotal days school opened
noOfDaysPresentstringnoDays present
noOfDaysAbsentstringnoDays absent
psychomotorProblemSolvingstringnoPsychomotor skill - Problem solving
psychomotorCriticalThinkingstringnoPsychomotor skill - Critical thinking
psychomotorCreativitystringnoPsychomotor skill - Creativity
psychomotorAdabilitystringnoPsychomotor skill - Adaptability
psychomotorCommunicationstringnoPsychomotor skill - Communication
psychomotorCollaborationstringnoPsychomotor skill - Collaboration
behaviouralReportEmotionalIntelligencestringnoBehavioural report - Emotional intelligence
behaviouralReportSharedValuesstringnoBehavioural report - Shared values
behaviouralReportInterpersonalSkillsstringnoBehavioural report - Interpersonal skills
behaviouralReportAttentionSpanstringnoBehavioural report - Attention span
ClassTeacherNamestringnoClass teacher's name
ClassTeacherCommentstringnoClass teacher's comment
executivePrincipalsCommentstringnoExecutive principal's comment

ClassStudents

FieldTypeRequiredAllowed ValuesDescription
studentIdstringno
classIdstringno
classNamestringyes
schoolIdstringno
schoolNamestringno
firstNamestringno
middleNamestringno
lastNamestringno
phoneNumberstringno
mathsstringno
englishstringno
intscstringno
biologystringno
academicYearstringno
certificateNostringno
statusstringno
schoolAdminIdstringno
schoolAdminNamestringno

ClassTeacher

FieldTypeRequiredAllowed ValuesDescription
teacherIdstringno
classIdstringno
classNamestringyes
subClassstringno
schoolIdstringno
schoolNamestringno
classTeacherIdstringno
namestringno
emailstringno
academicYearstringno
statusstringnoACTIVE, DEACTIVE, PENDING

Examiner

FieldTypeRequiredAllowed ValuesDescription
namestringyes
emailstringyes
phoneNumberstringyes
statusstringnoACTIVE, DEACTIVE, PENDING
passwordstringyes
statestringno

Inspector

FieldTypeRequiredAllowed ValuesDescription
namestringyes
emailstringyes
phoneNumberstringyes
statusstringnoACTIVE, DEACTIVE, PENDING
passwordstringyes
statestringno

LgaAdmin

FieldTypeRequiredAllowed ValuesDescription
namestringyes
emailstringyes
phoneNumberstringyes
statusstringno
passwordstringyes
lgaNamestringno
statestringno
lgaIdstringno
stateIdstringno

LGAs

FieldTypeRequiredAllowed ValuesDescription
lgaIdstringno
lgaNamestringyes
stateIdstringno
stateNamestringno

LgaStateAdmin

FieldTypeRequiredAllowed ValuesDescription
namestringyes
emailstringyes
phoneNumberstringyes
statusstringnoACTIVE, DEACTIVE, PENDING
typestringno
subTypestringno
passwordstringyes
lgaNamestringno
statestringno

Report

FieldTypeRequiredAllowed ValuesDescription
studentJssIdstringno
studentSssIdstringno
StudentOsidstringno
descriptionstringyes
filestringno
imageUrlstringno
statusstringno
studentIdstringno
studentNamestringno
examinerIdstringno
examinerNamestringno
inspectorIdstringno
teacherIdstringno
schoolIdstringno
schoolNamestringno
superAdminIdstringno
examinerNotificationStatusbooleanno
inspectorNotificationStatusbooleanno
teacherNotificationStatusbooleanno
schoolNotificationStatusbooleanno
superAdminNotificationStatusbooleanno
certificateTypestringno

Results

FieldTypeRequiredAllowed ValuesDescription
uniqueIdstringyes
studentIdstringyes
examinerIdstringno
schoolTypestringno
classstringno
examNumstringno
firstNamestringyes
middleNamestringno
lastNamestringyes
schoolIdstringyes
schoolNamestringno
examDatestringno
subjectAndGradestringno
academicYearstringno
durationstringno
degreestringno
statusstringno
examinerNamestringno
gradestringno
termstringno
certificateIdstringno
certificateNostringno
candidateNostringno
verifiedbooleanno

StateAdmin

FieldTypeRequiredAllowed ValuesDescription
namestringyes
emailstringyes
phoneNumberstringno
statusstringno
passwordstringyes
statestringno
stateIdstringno

States

FieldTypeRequiredAllowed ValuesDescription
stateIdstringno
stateNamestringyes

Student

FieldTypeRequiredAllowed ValuesDescription
studentIdstringno
studentJssIdstringno
studentSssIdstringno
firstNamestringyes
middleNamestringno
lastNamestringyes
phoneNumberstringyes
emailstringyes
ninstringno
schoolstringyes
classstringno
parentEmailstringno
guardianEmailstringno
studentPrimaryIdstringno
studentSecondaryIdstringno
passwordstringyes

Super Admin

FieldTypeRequiredAllowed ValuesDescription
namestringyes
emailstringyes
phoneNumberstringno
passwordstringyes

Teacher

FieldTypeRequiredAllowed ValuesDescription
schoolIdstringno
schoolNamestringno
classIdstringno
classNamestringno
subClassstringno
teacherIdstringno
namestringyes
emailstringyes
phoneNumberstringyes
teacherSchoolIdstringno
profileImagestringno
passwordstringno
statusstringnoACTIVE, DEACTIVE, PENDING

VerificationHistory

FieldTypeRequiredAllowed ValuesDescription
resultIdstringyes
studentIdstringno
firstNamestringno
middleNamestringno
lastNamestringno
schoolIdstringno
schoolNamestringno
statusstringno
candidateNostringno
verificationReasonstringno
certificateNostringno
classstringno
examNumstringno
academicYearstringno
examinerIdstringno
verifierIdstringno
verifierNamestringno

Verifier

FieldTypeRequiredAllowed ValuesDescription
namestringyes
emailstringyes
phoneNumberstringyes
statusstringnoACTIVE, DEACTIVE, PENDING
passwordstringyes

VerifierNotification

FieldTypeRequiredAllowed ValuesDescription
resultIdstringno
studentJssIdstringno
studentSssIdstringno
studentIdstringno
studentNamestringno
examinerIdstringno
examinerNamestringno
schoolIdstringno
schoolNamestringno
verifierNamestringno
verifierIdstringno
typestringno
descriptionstringyes
examinerNotificationStatusbooleanno
inspectorNotificationStatusbooleanno
teacherNotificationStatusbooleanno
schoolNotificationStatusbooleanno
superAdminNotificationStatusbooleanno
studentNotificationStatusbooleanno