Skip to content

kudzaiprichard/online-assessment-portal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

Online Assessment Portal

An online portal for assessing students on internship


Table of Contents
  1. About The Project
  2. Getting Started
  3. License
  4. Contact
  5. Acknowledgments

About The Project

Project Scope

Online internship assessment is the process of conducting a student assessment through reports, communicating with the students work supervisor on students progress and grading the student online. Online assessments comprise a series of tasks and reports that assess multiple aspects of a task-taker and are created based on the job role, level and competency requirements. Such assessments offer an objective evaluation of a student’s capabilities and predict on-the-job performance.

  • Students, supervisors and assesses should be able to create and manage there accounts
  • Supervisors should be able to assign tasks to students, grade and comment on the performance of each task
  • Student should write weekly reports and submit them to their assesses after there approved by the supervisor
  • Supervisor should be able to communicate with the student assessor via chat
  • Supervisor should also be able to view the students progress on the platform

Project Design

Architecture

MVC (Model-View-Controller) is an architectural design pattern that encourages improved application organization through a separation of concerns. It divides an interactive application into three components: Model / View and Controller. It enforces the isolation of business data (Models) from user interfaces (Views), with a third component (Controllers) traditionally managing logic, user-input and coordinating both the models and views. The goal of MVC is to help structure the separate the concerns of an application into three parts:

architecture Diagram
  1. Model

    • The model is the layer that keeps data for the application. The layer is responsible for storing and retrieving data from the database, and it is also responsible for validating the data.

    For example, if you want to create a new user, you will have to create a new user model and save it to the database.

  2. View

    • It is the layer used to present the application. It is used to display the data to the end-user.

    For instance, if you want to create a user view, you will have to create UI components that the user interacts with, such as a login form in an easy-to-understand format.

  3. Controller

    • The controller is the logic layer of the application. It is responsible for processing the user’s request and generating the response. It links the view and the model.

MVC Sequence Diagram

Suppose an application that let you search for persons. The UI must have a text field where the user can enter a search string, and it might have a button to start the search. Finally, it must have an area where the search results are displayed. In our case, it is implemented with a list component.

The Search for Persons use case Scenario is:

  • The user enters a search string in the text field
  • The user clicks the search button.
  • The search result is displayed in the result list.
sequence diagram

The sequence diagram above shows how the user’s button click moves through the application until the result gets finally displayed in the list component.

UML Diagram

UML Diagram

Above is the UML design of the system including relationships between the difference objects that make up the system

Built With

Used PHP, JavaScript, HTML, CSS and MySQL.

PHP JavaScript HTML5 CSS3 MySQL

(back to top)

Getting Started

Prerequisites

You should have the below software installed in your pc :

  • PHP 8
  • xampp 8
  • MySQL
  • and your preferred IDE or text editor

Installation

  1. Get a free API Key at https://github.com/settings/tokens

  2. Clone the repo

    git clone https://github.com/kudzaiprichard/online-assessment-portal
  3. Make sure you copy the project to

    c:/xampp/htdocs
    
  4. Open project in IDE or text editor

  5. Run xampp and start apache and mysql

  6. Create and import database in php my admin

NB: To run the system, open desired browser and on the url bar write localhost/system-folder-name

(back to top)

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

🔥 Contribution

Your contributions are always welcome and appreciated. Following are the things you can do to contribute to this project.

  1. Report a bug
    If you think you have encountered a bug, and I should know about it, feel free to report it here and I will take care of it.

  2. Request a feature
    You can also request for a feature here, and if it will viable, it will be picked for development.

  3. Create a pull request
    It can't get better than this, your pull request will be appreciated by the community. You can get started by picking up any open issues from here and make a pull request.

If you are new to open-source, make sure to check read more about it here and learn more about creating a pull request here.

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Kudzai P Matizirofa - linkedin.com/in/kudzai-prichard - kudzaiprichard@gmail.com

Project Link: https://github.com/kudzaiprichard/online-assessment-portal

(back to top)

Acknowledgments

list of resources I found helpful and would like to give credit to.

(back to top)