Table of Contents
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
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
:
-
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.
-
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.
-
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.
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.
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.
Above is the UML design of the system including relationships between the difference objects that make up the system
Used PHP
, JavaScript
, HTML
, CSS
and MySQL
.
You should have the below software installed in your pc :
- PHP 8
- xampp 8
- MySQL
- and your preferred IDE or text editor
-
Get a free API Key at https://github.com/settings/tokens
-
Clone the repo
git clone https://github.com/kudzaiprichard/online-assessment-portal
-
Make sure you copy the project to
c:/xampp/htdocs
-
Open project in IDE or text editor
-
Run xampp and start apache and mysql
-
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
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Your contributions are always welcome and appreciated. Following are the things you can do to contribute to this project.
-
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. -
Request a feature
You can also request for a feature here, and if it will viable, it will be picked for development. -
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.
Distributed under the MIT License. See
LICENSE.txt
for more information.
Kudzai P Matizirofa - linkedin.com/in/kudzai-prichard - [email protected]
Project Link: https://github.com/kudzaiprichard/online-assessment-portal
list of resources I found helpful and would like to give credit to.