Ashesi Tutor Management System

Final Year Capstone Project
Project Overview
The Ashesi Tutor Management System is a Software Application Portal that aims to provide university students the platform to interact with tutors concerning their areas of study they have difficulty in. Students upon logging into the system can find all tutors categorized based on departments and the year in which the course is taught. They can also view academic documents uploaded by tutors from all departments and download whichever resource they need. Students can also evaluate a tutor based on their performance regularly. The Application also allows students to use the Student-Tutor Matching Portal and request a Tutor.

Tutors on their dashboard can set up their profile, choose a course from the ones available, and upload relevant resources for review by interested students. Just like Students, they can engage in Student-Tutor Matching Portal and get matched to a Student. The Application allows the Administrator to set up courses for tutoring after receiving them from the various departments, update and delete them regularly, and view all tutors currently available. Departmental Coordinators in their respective dashboards can view tutors for their departments, approve courses for tutoring so Admin can set them, and view evaluations of tutors in their departments. The Application allows all users to engage in Chat Application (ChatApp) regularly. For Students and Tutors, the Chat Application can serve as a portal for communication before a physical meetup. This project aims to achieve SDG 4 titled Quality Education.
My Contributions
As the sole designer and developer of this web application, I contributed immensely to the write-up, designing, development, and research gathering as far as the project capstone documentation is concerned. I conducted the requirements elicitation, worked on the software architecture, software implementation, and conducted both automated(Using Selenium) and user testing. I also handled the deployment of the project to the live server as well migration of the database section as well.
The focus of this project is centered on the problem of understanding courses at Ashesi University and the implementation of a Tutor Management System to help address this problem. The topic of this project is relevant because the ultimate goal of an academic institution is to ensure that they equip students with the knowledge so they can positively contribute back to society. Hence the failure of students to thoroughly acquire understanding adversely affects them and the society at large.

In this project, we would look into the problem of understanding university-level courses from the perspective of other related works and the thorough procedures followed in the implementation of the Ashesi Tutor Management System. Users' responses were obtained from a survey after the implementation of the Ashesi Tutor Management System. 100 % of the users described the approach in implementing the functionalities as excellent whiles 75% described the coloring and design of the application as outstanding.
Content of Capstone Project
Abstract
Getting the right academic support for university education is challenging [7]. The challenges faced include students facing difficulties in coping with course materials, lack of support for students in understanding concepts introduced in university-level courses, lack of good foundation in a course, the teaching of large student populations, and educating of different groups of students at different stages of their careers [7], [8]. In light of these challenges, universities endeavor to introduce new technologies and cutting-edge concepts to students to enable them to be well prepared for the rapidly evolving and competitive industry [7].

This problem is of prior importance because its repercussions include the lack of understanding of class concepts on the side of students, failure of students to pass their exams, a lower GPA which can eventually lead to the dropout of students from university institutions [7], [10]. These adverse effects also affect the progress of the University institution and the African society at large. Even the most progressive of universities in Africa like Ashesi, faces such challenges.
Introduction
A research work [7], brings to light a similar issue about first-year computer programming students facing difficulty in understanding Visual Programming 1 course at the University of South Africa. Visual Programming 1 is a first-year introductory programming course for novice students at the University of South Africa. The University has been experiencing a high dropout rate and a low pass rate of novice students enrolled in the course over the years [8].

This made it clear that novice students were finding it difficult to understand the concepts in the course. To curb this issue, the solution proposed was the implementation of an E-tutoring platform, myUnisa, a system used by e-tutors to2help get students to understand the concepts in Visual Programming 1 course as well as bringing them up to speed on e-learning resources that would help them to understand course concepts better.
Related Works
A user-centered approach to design enforces how the users and their tasks are the driving force behind a product's development. In using this approach as a motivation for requirement elicitation, below are the various sub-sections under Requirement Elicitation:

Users and Stakeholders:
Administrator:
The Administrators act as the overseers of the Tutor Management System. They ensure the smooth running of the application through the provision of functionalities such as the setting up of courses for tutoring.

Ashesi Students:
The Tutor Management System would best serve the needs of Ashesi students by providing them the opportunity to know the available tutors they can reach out to in case of course help. They also form part of the primary users who would constantly be engaging with the system.

Tutors:
They are Ashesi students who can sign up on the platform to become tutors for specific courses provided on the platform by the Administrator. They would be in contact with the students by providing them course help. They also form part of the primary users.

Ashesi Faculty:
The Faculty members also form part of the stakeholders as they would not directly interact with the Tutor Management System but would be interacting with the Tutors most often. Since it is their course that the tutors would be helping the Ashesi Students on, they are recognized as key stakeholders too.

Heads of Departments(HODs):
Similar to the faculties, the Heads of Departments are also key stakeholders and users of my project. As stakeholders, they would act as secondary overseers of the system. As users, they would have to log in as departmental coordinators for their designated courses and assist in the provision of courses and the number of tutors required.

Method of Gathering Requirements
Questionnaires Survey
Results for Survey would be shown accordingly

Analysis of Results from Requirement Elicitation
From the requirement elicitation, 100% of Ashesi students and faculty expressed the urgent need for a Tutor Management System. 66.7% of Departmental Coordinators from the chart also expressed that the development of this system would be relevant in helping to curb the problem of lack of understanding in courses.

87% of Ashesi Students from the chart expressed the fact that they truly face difficulty in understanding class concepts taught in class whiles 53.3% of Ashesi Students from the survey also express the idea of often finding difficulties in getting to know the tutors they need for a challenging course. Therefore the development of an Ashesi Tutor Management System to address this need would be preferred.

Functional Requirements
FR1: Students should be able to view tutors categorized under departments.
FR2: Tutors should be able to provide and update their profile which includes their course interests, available times, and days for tutoring so students can view them.
FR3: Students should be able to rate and evaluate tutors on their performance.
FR4: Students should be able to get matched to a Tutor upon request.
FR5: Users should a Chat Application for Tutor-Student Interaction.
FR6: Students should be able to find relevant academic resources on the System Platform.
FR7: The System should have a notification component to alert users of any information.

Non-Functional Requirements
NFR1: Security: The tutor management system would be access-controlled with designated Administrator, Student, Tutor, and Departmental Coordinators privileges. Entry into the system would be based on Multi-Authentication.
NFR2: Maintainability: As a system built using the Agile approach, the system would be periodically updated to meet the changing needs of the users.
NFR3: User-Friendly: The Ashesi Tutor Management System would be structured such that students trying to find an available tutor would find the process easy. Tutors also would be able to interact with the application easily. The goal here is to improve the users' experience.
NFR4: Effectiveness: The Ashesi Tutor Management System should be able accurate and effective in the delivery of its functionalities.

Unified Modeling Language(UML) Diagrams
These diagrams would be shown below as well.
Requirement Elicitation / Analysis
Below are the pie chart representation of Survey Results
Photos of Requirement Analysis Results
UML DIAGRAMS

Use Case Diagram 1

UML DIAGRAMS

Use Case Diagram 2

UML DIAGRAMS

Activity Diagram 1

UML DIAGRAMS

Activity Diagram 2

Conceptual Database Design

Entity Relationship Diagram for the System

ARCHITECTURE DIAGRAMS

MVC Architecture

ARCHITECTURE DIAGRAMS

Layered
Architecture

Front-End Development
i. Human-Computer Interaction (HCI) Concepts
ii. HTML,CSS and JavaScript
iii. AJAX and jQuery
iv. SweetAlert library
v. Font Awesome Toolkit
vi. EmojioneArea Plugin
vii. Bootstrap Framework

Back-End Development
i. PHP(Hypertext Pre-Processor)

Database Development
i. Visual Paradigm
ii. Structured Query Language
iii. PhpMyAdmin

Local Development
i. XAMPP server

Deployment of My Capstone Project Application to Live Server
i. 000webhost(hosting platform)
ii. FileZilla (to help in the migration of database and project files/folders to the public HTML directory on the 000webhost platform)
iii. PhpMyAdmin (Database Manager within 000webhost)

GitHub Repository for Project
Access my Github link here
Capstone Project URL
Access WebApp URL here
Implementation
Below are some screenshots of some pages from the project
Implementation Snippets
Unit Testing
i. Administrator Unit testing
For Administrators, unit testing was performed on functionalities such as the “Set Up Tutoring Courses”, “Find Tutors”, “View Uploaded Tutoring Courses”, and “View Tutors Required Per Course”. From the development tests, all these functionalities were successful. For instance, the Administrator upon clicking on the “Set Up Tutoring Courses” tab is moved to a form page where he/she can set a tutoring course received from a departmental coordinator through the system. This tutoring course would be visible to students who wish to be tutors.

ii. Departmental Coordinators Unit testing
For Administrators, unit testing was performed on functionalities such as the “Set Up Tutoring Courses”, “Find Tutors”, “View Uploaded Tutoring Courses”, and “View Tutors Required Per Course”. From the development tests, all these functionalities were successful. For instance, the Administrator upon clicking on the “Set Up Tutoring Courses” tab is moved to a form page where he/she can set a tutoring course received from a departmental coordinator through the system. This tutoring course would be visible to students who wish to be tutors.

iii. Tutor Unit testing
Tutor functionalities such as the “Set Up Profile”, “Edit Profile”, “Edit profile photo” and “Upload Resources” also proved successful during unit testing. For instance, tutors upon clicking on the Upload Resources tab are directed to a form page. Upon filling the form and choosing an academic resource from their designated directories, the resource is then uploaded and can be publicly viewed by both interested students and the Tutor as well.

iv. Student Unit testing
Student functionalities such as "Find Tutor", "Upload Profile Photo", "View Resources" all proved successful during unit testing. For instance, students upon clicking on the "View Resources" tab are directed to a page where the academic resources are grouped based on departments. Clicking on any department tab reveals the resources uploaded by tutors from that department. These resources can be viewed on the platform or downloaded by the student.

Component Testing
i. Tutor Evaluation and Rating Portal
During the development testing, the Tutor Evaluation component as a key Student functionality was successful during testing. Students upon clicking on the "Evaluate Tutors" tab are directed to a page with tutors categorized into departments. Students upon clicking on a department, for instance, Computer Science and Information System (CSIS) would see all CSIS tutors and upon clicking on the evaluate button attached to each user, a bootstrap modal form pops up given students the permission to rate tutors on a star scale and write an evaluating message. Upon clicking on submit, the evaluation message is sent and is displayed in the CSIS Departmental Coordinator's dashboard for review on tutors' performance.

Automated Testing (Selenium tool) was conducted on these functionalities
i. Launching of Ashesi Tutor Management System on the Browser
ii. User Registration and Login on the Web Platform
iii. User Verification and Validation
iv. Admin View All Tutors
v. Tutor Setting Profile
vi. Chat Application Component
vii. Student-Tutor Matching Component
Testing and Results
Below are the results from Selenium Automated Testing
Results from Selenium Testing
Analysis of User Testing Survey Results
From the survey, 100% of users indicated that the currently implemented system is relevant and can help students achieved their objective of getting help for courses. 100% of students also indicated that the approach used within the application in the achievement of functionalities was excellent with 75% expressing good remarks about the coloring and designing of the application. As part of testing for the functional requirements, Non-functional requirements were also defined as part of the requirements. In testing them, 100% of students indicated that indeed the system is effective whiles 87.5% of the users indicated the application is reliable, user-friendly, and usable. 62.5% of the users indicated that the application also achieves security and safety.

The results obtained above from Ashesi students generally indicate how good and remarkable the Ashesi Tutor Management System is. Ashesi students have proven that this system indeed can help to assist them when they face course difficulties. Some feedbacks obtained from Ashesi Students were incorporated within the system whiles others would serve as relevant information for further work.
User / Acceptance Testing
user/acceptance testing

Survey Results 1

user/acceptance testing

Survey Results 2

user/acceptance testing

Survey Results 3

user/acceptance testing

Survey Results 4

user/acceptance testing

Survey Results 5

Project Limitations and Challenges
i. The Send Email Feature was proposed to be implemented in the application to enable students to forward messages to tutors to further initialize the tutoring process. Administrators and Departmental Coordinators on the other hand could benefit from this feature as well. To implement the Email feature, multiple email frameworks such as PHP Mailer, Zend Mail, and SwiftMailer were introduced to set up an email feature but encountered difficulties. These difficulties were with the set up of the email configurations such as ports, paths for Outlook mails, initialization of framework functions, and failure of the framework to identify existing emails for testing.

ii. FileZilla was the FTP Client application used to establish a connection to the 000webhost platform on port 21 and to ensure the transfer of the project files. On multiple occasions, when the application was tested on the live server, some files were inactive hence upon checking the public HTML directory of the 000webhost platform, these files67were missing. The missing files then had to be uploaded individually as by doing so, they were successfully uploaded. This made the upload of missing files very challenging.

Future Works
i. Currently, the Student-Tutor Matching works effectively using the SQL Inner Join feature and the use of comparison operations as students can be matched to their preferred tutors based on the information they provide. An upgrade into Student-Tutor Matching using Artificial Intelligence would be very beneficial as more features can be embedded in the development of the Student-Matching system.

ii. Currently, the Ashesi Tutor Management System is a web-based application hence developing a mobile-based version stands out as one of the plans for this project. Developing a mobile-based application would help to increase the usage of the application more often as more students can download the application onto their mobile devices. The creation of the mobile-based version of this application would also make it more convenient for most users in terms of its usage.

iii. Lastly, the verification of users using their email before giving them the privilege to sign in to the system is a considerable feature that would help to observe security in the system. This forms part of the future works for this project because it would help to institute multiple user authentication before finally giving users the privilege to access the system.

Conclusion
The implementation of this project shows how students can find tutors at any instance to support them concerning difficulties in understanding courses taught at Ashesi University. Faculties and faculty interns would be less overburdened with pressure from students with the provision of this application. This project has contributed to the achievement of target 4.6 under SDG4 by providing a Tutor Management System that ensures that students having difficulties in course concepts and lacking proficiency in literacy, numeracy, and functional skills in a course can have their problems sorted out by providing tutors specialized in these areas of the course. Hence, Ashesi University's aim of training ethical and entrepreneurial leaders can be achieved through the contribution of this application because it gives students a second chance to make things right in their quest for success.
Conclusion and Recommendation

B.W.C Membership Management System

Personal Project
Project Overview
The B.W.C Membership Management System is a web application that allows some church operations to be done online. These operations mainly include member registration, and the collecting of monthly dues and funeral contributions. These operations are performed physically at church, so I wanted to challenge myself by attempting to digitize them. Another aspect that was examined was the easy access of member information using their member ids.  

Because it is a personal project, it is now rendered locally on my PC rather than on a server. We'll go over screenshots of each page and a breakdown of how it works further down. This project aims to achieve SDG 9 titled Industry, Innovation, and Infrastructure.
My Contributions
As a member of the Believers Worship Center in Koforidua, Ghana, I took it upon myself to create a Management system to handle the majority of the church's operations. This was a personal project that I started to explore if I could put most of the web development skills I'd learned to use. As I previously indicated, this was solely a personal initiative, and it has not been used by Believers Worship Center.
Users:
Account Personnels:
Account personnels would be the system's day-to-day users. They would register members and record monthly dues and funeral payments on the system.


Functional Requirements
FR1: Account personnel should be able to sign members up for the system.
FR2: Member information should be easily retrieved without delay.
FR3:Account personnel should be able to record member monthly dues and funeral payments.
FR4: Account personnel should be able to modify member information at any moment following signup.

Non-Functional Requirements
NFR1: Security: Access to the B.W.C Membership management system would be restricted to authorised Account staff.
NFR2: User-Friendly: The system would be designed in such a way that account officers who are not technologically savvy may nevertheless utilize it and find the procedure simple.
NFR4: Effectiveness: The System should be able to deliver its functionality accurately and effectively.
Requirement Elicitation /
Analysis
Front-End Development
i. HTML,CSS and JavaScript
ii. AJAX and jQuery
iii. SweetAlert library
iv. Font Awesome Toolkit
v. Bootstrap Framework

Back-End Development
i. PHP(Hypertext Pre-Processor)

Database Development
i. Structured Query Language
ii. PhpMyAdmin

Local Development
i. XAMPP server

GitHub Repository for Project
Access my Github link here
Implementation
Below are some screenshots of the pages from the project and a detail explanation of the content and functions of each of them.
Implementation Snippets
LOG IN PAGE

The index page of the application

Account personnel enter their login credentials on the login screen to access the platform. When an invalid login or password is entered, the system generates an alert to notify personnel of the error. If this is the personnel's first time using the system, the "SignUp button" is located below to direct them to the signup page.
Login Page insight
SIGN UP PAGE

Personnel registration

When account staff access the application for the first time, signup allows them to enter their respective details and, once completed, they click on the Signup button to create an account. When they click on the Signup button, they are led to the login page, where they can enter their freshly created credentials. Each field, like the Login page, has a regex expression to guarantee the correct information is presented. When incorrect information is provided, the system generates an alert to notify the user.
Sign Up Page insight
DASHBOARD PAGE

Dashboard Session Page

Following successful system entry, the dashboard displays the system's primary features and areas. The staff are sent to the designated region after clicking on any of the cards.
Dashboard Page insight
ADD NEW MEMBER PAGE

Add Member Session Page

Account personnel can add new members to the system using the Add New Member Page by supplying the appropriate information for the form submission. They then click the "Add Member" button to finish the process. Upon completion, an alert shows a success message with the new user id also generated as well. Regex expressions, like login and signup, are available to guarantee that the correct data is delivered.
Add New Member Page insight
VIEW MEMBER DETAILS PAGE

View Member Session Page

Account personnel can search for member details by entering their IDs here. Using AJAX, the system generates all possible matches upon entering a number character, just like a Google search does with any type of search. If an invalid id is supplied, the system displays an error message to notify account personnel, but if a valid id is entered, the member details are displayed on the page to be read. Below is a screenshot of how a generated member detail appears like.
View Member Details Page insight
VIEW MEMBER DETAILS 2

View Member Dues Payments Session Page

When you click on the "Dues Payment" button, as seen in the preceding image, a modal pop up appears, displaying the selected member's dues payment for each month. Choosing a year narrows the list to just show that year. When you click on the plus sign, you'll see integrated data for each payment component. The "All Years" button displays all payments, however the "Total Dues Paid" button displays another modal in which account personnel can determine the total dues paid by the member yearly. Below is a screenshot of how a the modal looks like when the account offier clicks on the + sign, and total dues paid respectively.
Member Dues Payments Modal Page insight
+ sign clicked
Pic1
clicking of Total Dues Paid Button
Pic2
clicking of Total Dues Paid Button and choosing a year to view total dues
Pic3
VIEW MEMBER DETAILS 3

View Member Funeral Contrib.  Session Page

When viewing member details, clicking on "Funeral Contribution" displays a modal pop up with the selected member's funeral contributions. Selecting the deceased's status (Member or Not a Member) narrows the results to just reveal the members' contributions for the given status. When you click on the plus sign, you'll see integrated data for each payment component. The "All Contributions" button displays the member's total contributions, whereas the "Total Contrib, Paid" button displays another modal where account personnel can determine the member's total contributions.
Member Funeral Contribution Modal Page insight
UPDATE MEMBER DETAILS

Update Member Session Page

Update Member Page enables account personnel to record member dues payments, funeral contributions, and change member personal information as needed.
Update Member Page insight
Dues PAYMENT FORM

Dues Payment Modal Form Session Page

Account personnel can record member dues payments here, and then click "Pay Dues" to digitally record the payments. The "Reset" button clears form content, allowing account personnel to re-enter information as needed without having to click on the "Dues Payment" card at any time.
Dues Payment Modal Page insight
FUNERAL CONTRIBUTION FORM

Funeral Contrib. Modal Form Session Page

Account personnel can record member funeral contributions here, and then click "Pay Contribution" to digitally record the member's contributions. The "Reset" button clears form content, allowing account personnel to re-enter information as needed without having to click on the "Funeral Contributions" card.
Funeral Contrib. Modal Page insight
Update member info FORM

Update Member Info Modal Form Session Page

Update member info FORM 2

Update Member Info Modal Form Session Page 2

Account personnel must enter the member ID, and then click the "Send" button to have the system generate the personal information for the member with the specified id. Personnels can now modify some important selected form entries and click on update member to update the member's information.
Update Member Info Modal Page insight
Funeral events

Funeral Events Session Page

Funeral events

Add Events Session Page

Funeral events

All Funeral Events Session Page

Account personnel can add upcoming funeral events here so that members in their specified groups can access and contribute to them. Updates can also be made to them as needed.  Personnel can erase funeral events after they have been successfully completed to avoid paying for events that have already occurred.
Funeral Events Page insight

Contact Information

Avenues to contact me

0550805562
emmadonk1530@gmail.com
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Page Navigation

Pages

UI/UX Designs
APPLICATION REVAMPS
RESEARCHES
WEB DEV PROJECTS
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.