Skip to content

Korag/Certification-System

Repository files navigation

Certification-System

Certification-System is a powerful web application designed for vocational training centres. Certification-System provides more than 100 unique functionalities that allow for comprehensive management of all aspects of running a vocational training business. In addition to the managerial aspect, the main purpose of the application is to provide functionalities for the verification of certificates of competence and professional degrees issued by the vocational centre using the application. Certification-System is designed for all types of business service beneficiaries, both individuals and companies. The designed functionalities made available to the platform users include the following groups of issues related to:

  • user document generation
  • competence verification system
  • additional functionalities of the administrator
  • event logging system
  • basic user-system interactions
  • course management system
  • degree management system
  • certificate management system
  • examination system

The Certification-System is built using ASP.NET Core and Razor Pages. Application data is stored in a non-relational MongoDB database, and access to this data is done using the MongoDB Driver. The database is located in the MongoDB Atlas service. AutoMapper was used for entity mapping. User authentication and authorization is provided by ASP.NET Core Identity along with a provider that allows the MongoDB database to be used as a data store. The Bootstrap framework was used to style the UI. To generate QR codes of resources the QR Coder library was used, whereas the possibility of printing the content of individual panels of the application is provided by the printThis.js package.

The application provides the following functionalities:

  1. Additional administrator functionalities:
  • creation of user accounts
  • editing of user accounts
  • deleting of user accounts
  • displaying and filtering users
  • manual sending of automated emails
  • creating employer accounts
  • assigning employees to a company
  • editing of company data
  • display of companies with associated employees
  • deletion of companies
  1. User document generation system:
  • generation of a document confirming that an employee holds a certificate
  • generation of a document confirming possession of a professional degree by an employee
  • generation of employee identifier
  1. Competence verification system:
  • anonymous certificate verification
  • anonymous verification of employee competences
  • anonymous verification of the professional grade
  • API endpoint certificate verification
  • API endpoint employee competence verification
  • API endpoint verifications of professional steps
  • certificate verification by administrator
  • verification of employee competences by administrator
  • administrator's verification of professional rank

Either a QR code or a resource identifier is used for verification.

  1. Event logging system:
  • logging of execution of any operation causing modification of database content and entity structure
  • logging of the execution of any operation whose results concern the user in any way
  • administrator notification panel
  • employer notification panel
  • user notification panel
  1. Basic user-system interactions:
  • login to the application
  • editing personal data
  • setting up a password for a user account for the first time
  • displaying personal data of the logged user
  • changing the password
  • confirming the email address
  • registration of user account
  • resetting the password
  1. Course management system:
  • course creation
  • course creation with meetings
  • display of course summary
  • adding a user to the course
  • adding a group of users to the course
  • enrolling an employee in the course
  • enrolling a group of employees in the course
  • editing the course
  • editing the course including meetings
  • deleting a user from the course
  • closing the course
  • listing courses
  • displaying course details
  • deleting a course
  • displaying user results
  • displaying course results
  • displaying results of employer's employees
  • displaying the results of individual course users
  • adding an appointment
  • editing an appointment
  • deleting an appointment
  • list of appointments
  • displaying meeting details
  • checking the presence of users in the meeting
  1. Degree management system:
  • create professional degree
  • edit professional degree+ listing of professional degrees
  • display of details of the professional degree
  • deletion of a professional degree
  • listing of professional degrees
  • display of details of the professional degree
  • deletion of a professional degree.
  • awarding a professional degree to the user of the platform
  • list of granted professional degrees
  • deletion of user's professional degree
  • edit the professional degree of the user
  • displaying the details of the professional degree of the user
  1. Certificate management system:
  • certificate creation
  • certificate editing
  • certificate listing
  • displaying details of certificate
  • certificate deletion
  • granting the certificate to the user of the platform
  • removing the certificate from the user
  • listing of granted certificates
  • editing of the granted certificate
  • displaying details of the granted certificate

9.Examination system:

  • withdrawal of a participant from an examination
  • enrolling an employee for an examination
  • enrolling a group of employees for an examination
  • evaluating the examination
  • deleting an examination
  • editing an examination
  • editing exam with all sessions
  • deleting a user from an examination
  • deleting a user group from an examination
  • adding exam
  • adding exam with all sessions
  • listing exams
  • displaying exam details
  • displaying total examination results
  • display exam results per user
  • display of examination results for employer's employees
  • display exam results for all exam participants
  • cancel exam session
  • adding exam sessions
  • editing exam sessions
  • marking exam sessions
  • deleting a user from an exam session
  • deleting a user group from an exam session
  • signing up a employee in an examination session
  • signing up a group of employees for an exam session
  • displaying exam session details
  • deleting an examination session
  • listing exam sessions
  • displaying exam session results for the user
  • displaying exam session results for the employer's employee
  • display exam session results for all session participants

Access to particular functionalities is conditioned by the role of the user of the certification system. There are the following available roles:

  • worker
  • company
  • examiner
  • instructor
  • instructor-examiner
  • admin

The following diagram shows which groups of functionality specific user roles have access to:

alt text

The following design patterns has been implemented in the application:

  • Model View Controller
  • Singleton
  • Dependency Injection
  • Repository

Application main window:

alt text

Email message template:

alt text

Admin user menu:

alt text

User data in anonymous resource verification:

alt text

User data in a resource verification action intended for the administrator:

alt text

User competence verification manual and issued certificates, professional degrees:

alt text

Fragment of the user competence verification panel showing certificates and professional degrees:

alt text

Fragment of the user competence verification panel showing some of the courses a person has attended:

alt text

Certificate verification panel - certificate data section:

alt text

Fragment of the professional degree verification panel showing its details and the certificates and professional degrees required:

alt text

API panel:

alt text

User identifier generated:

alt text

Document certifying that the user possesses certificate of competence:

alt text

Document certifying that the user possesses professional degree:

alt text

Notification panel for the user of an application in the role of an employee:

alt text

Notification panel for the application user in the administrator role:

alt text

Panel displaying all courses saved in the database:

alt text

Fragment of the data entry form for a new coursewith associated meetings:

alt text

Panel listing existing meetings:

alt text

A panel to check the attendance of course participants at a meeting:

alt text

Attendance register of course participants:

alt text

User course enrollment panel:

alt text

Professional course offerings panel:

alt text

Details panel of the professional course offer:

alt text

Selection panel for adding a new exam:

alt text

Exam entity editing form:

alt text

Evaluation form for papers included in the selected exam:

alt text

Form for manually assigning a user to an exam:

alt text

Listing of the user's exams in the selected course:

alt text

Panel for enrolling company employees for the exam:

alt text

Certificate data entry form:

alt text

Panel listing certificates in the system:

alt text

The form for manually assigning a certificate to a platform user:

alt text

Awarding certificates through a course closing action:

alt text

A summary of the results achieved by course participants being a part of the closing panel of the course:

alt text

Form for adding a new professional degree:

alt text

Panel for granting a professional degree to a platform user:

alt text

User login panel:

alt text

Fragment of the user registration form:

alt text

Fragment of the admin form for adding a new user:

alt text

Logged user account details panel:

alt text

Form for setting up a new account password:

alt text

List panel of application users:

alt text

Panel listing all companies saved in the database:

alt text

Details panel of the selected company:

alt text