0% found this document useful (0 votes)
9 views

A Web Based System for Hiring Fundi's[1]

The document presents a project proposal for a web-based system aimed at connecting clients with skilled workers, known as fundi's, for various services such as plumbing and electrical work. It outlines the challenges of the current hiring process, including inefficiencies and lack of trust, and proposes a solution that includes features like job postings, direct communication, and a rating system to enhance transparency and user satisfaction. The proposal is submitted as part of the requirements for a Bachelor's degree in Information Technology at Murang’a University of Technology.

Uploaded by

oasiscybercafe14
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

A Web Based System for Hiring Fundi's[1]

The document presents a project proposal for a web-based system aimed at connecting clients with skilled workers, known as fundi's, for various services such as plumbing and electrical work. It outlines the challenges of the current hiring process, including inefficiencies and lack of trust, and proposes a solution that includes features like job postings, direct communication, and a rating system to enhance transparency and user satisfaction. The proposal is submitted as part of the requirements for a Bachelor's degree in Information Technology at Murang’a University of Technology.

Uploaded by

oasiscybercafe14
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 69

A WEB BASED SYSTEM FOR HIRING FUNDI’S

ALEX MUINDU WAMBUA

REG NO: SC232/1273/2021

A project Proposal Submitted in Partial Fulfilment of the Requirements for the

Bachelor of Business in Information Technology of Murang’a

University of Technology

APRIL, 2025

1|Page
DECLARATION
I hereby declare that this proposal is my original work and to the best of my knowledge has not
been presented for a degree award in this or any other university.

……………………………. Date ……………………

Alex Muindu Wambua

SC232/1273/2021

APPROVAL

The undersigned certify that they have read and hereby recommend for acceptance of Murang’a
University of Technology a proposal entitled “A WEB BASED SYSTEM FOR HIRING
FUNDI’S”.

…………………………………. Date………………………

Dr. Ndia G. John, PhD

Department of Information Technology

Murang’a University of Technology

2|Page
ABSTRACT
A web based system for hiring fundi’s is a paradigm that connects clients with proficient
workers, including plumbers, electricians, masons, mechanics, and other construction service
providers. In a scenario where individuals face challenges finding skilled workers for home
repairs or installations, a web based system for hiring fundi’s streamline this process. Users
register on the platform, outlining their job requirements, and skilled workers (fundi’s) bid on
available jobs. The system introduces a unique feature where clients can upload specific job
requests, and fundi’s can apply based on their skills and preferences. This dynamic allows clients
to choose from a pool of interested fundi’s, fostering a collaborative and efficient job matching
process. Furthermore, the system facilitates client-fundi interactions, enabling negotiations,
cancellations, and a robust rating and review system. Clients hold the exclusive ability to rate
and provide detailed reviews on fundi’s profiles, reflecting the fundi’s performance based on the
completed jobs. To enhance the review process, clients can now upload photos showcasing the
completed work, providing a visual representation of the fundi’s craftsmanship. The system
prioritizes transparency, efficiency, and user satisfaction in the construction service industry.

Table of Contents
3|Page
DECLARATION........................................................................................................................2

ABSTRACT....................................................................................................................................3

LIST OF TABLES.........................................................................................................................7

LIST OF FIGURES.......................................................................................................................7

ACRONYMS AND ABBREVIATIONS......................................................................................8

CHAPTER ONE: INTRODUCTION..........................................................................................9

1.1 Background of the Study...................................................................................................9

1.2 Statement of the Problem...................................................................................................10

1.3 OBJECTIVES........................................................................................................................11

1.3.1 General objectives...............................................................................................................11

1.3.2 Specific objectives................................................................................................................11

1.4 JUSTIFICATION OF THE STUDY.............................................................................12

1.5 SCOPE OF THE STUDY...............................................................................................13

CHAPTER 2: LITERATURE REVIEW..................................................................................13

2.1 Introduction..........................................................................................................................13

2.2 Requirements Gathering and Analysis.............................................................................14

2.2.1 Requirements Gathering Techniques............................................................................14

2.2.2 Requirements Analysis Strategies.................................................................................15

2.3 System Design Techniques..................................................................................................16

2.3.1 Unified Modeling Language (UML) Diagram..............................................................16

2.3.1.1 Use Case Diagram......................................................................................................17

2.3.1.2 Sequence Diagram......................................................................................................18

2.3.1.3Activity Diagram.........................................................................................................19

2.3.2 Data Flow Diagram (DFD)...............................................................................................20

2.4 System Development Technologies.....................................................................................21

4|Page
2.4.1 HTML (Hypertext Markup Language)..........................................................................21

2.4.2 CSS (Cascading Style Sheets).......................................................................................22

2.4.3 JavaScript......................................................................................................................22

2.4.4 PHP (Hypertext Preprocessor)......................................................................................22

2.4.5 MSQL Database............................................................................................................23

2.5 System Testing.....................................................................................................................23

2.5.1 Functional Testing.........................................................................................................23

2.5.2 Usability Testing...........................................................................................................24

2.5.3 Compatibility Testing....................................................................................................24

2.5.4 Security Testing.............................................................................................................24

2.7 Existing Similar System.......................................................................................................25

2.7.1TaskRabbit......................................................................................................................25

2.7.2 Thumbtack.....................................................................................................................26

2.7.3 HomeAdvisor................................................................................................................26

2.8 Conclusion...........................................................................................................................27

CHAPTER THREE.....................................................................................................................27

METHODOLOGY.....................................................................................................................27

3.1 Introduction..........................................................................................................................27

3.2 System Development Methodology.....................................................................................28

3.2.1 Waterfall Methodology.................................................................................................29

3.3 Data Collection....................................................................................................................30

3.3.1 Interviews......................................................................................................................30

3.3.2 Observations..................................................................................................................31

3.4 System Requirements...........................................................................................................31

3.4.1 Software Requirements.................................................................................................31

5|Page
3.4.2 Hardware Requirement..................................................................................................33

3.5 Ethical Considerations......................................................................................................34

3.5.1 Integrity and Transparency............................................................................................34

3.5.2 Confidentiality...............................................................................................................34

3.5.3 Fairness and Equity.......................................................................................................34

3.6 Chapter Summary................................................................................................................35

CHAPTER FOUR: SYSTEM ANALYSIS, DESIGN, IMPLEMENTATION AND


TESTING......................................................................................................................................35

4.1 Introduction..........................................................................................................................35

4.2 System Analysis...................................................................................................................36

4.2.1 Functional Requirements...............................................................................................36

4.2.2 Non-Functional Requirements......................................................................................36

4.3 System Design......................................................................................................................36

4.3.1Activity Diagram............................................................................................................36

4.3.2 Use case diagram...........................................................................................................37

4.3.3 Data Flow Diagram (DFD)...............................................................................................38

4.4 System Implementation........................................................................................................39

4.4.2 Registration Page...........................................................................................................41

4.4.3 Fundi Dashboard...........................................................................................................42

4.4.4 Admin(client) Dashboard..............................................................................................44

4.4.5 Reports Dashboard........................................................................................................45

4.5 System Testing.....................................................................................................................47

4.5.1 Unit Testing...................................................................................................................47

4.5.2 Integration Testing........................................................................................................48

4.6 Chapter Summary................................................................................................................49

6|Page
CHAPTER FIVE: CONCLUSION, RECOMMENDATIONS AND FUTURE WORK......50

5.1 Conclusion...........................................................................................................................50

5.2 Recommendations................................................................................................................51

5.3 Future Work.........................................................................................................................52

REFERENCES............................................................................................................................52

APPENDICES..............................................................................................................................53

APPENDIX I: PROJECT BUDGET.........................................................................................53

APPENDIX II: PROJECT SCHEDULE...................................................................................54

APPENDIX III: QUESTIONNAIRE.........................................................................................54

APPENDIX IV: CODE LISTING.............................................................................................58

LIST OF TABLES
Table 1Project Budget...................................................................................................................53
Table 2Project Schedule................................................................................................................54

7|Page
LIST OF FIGURES
Figure 2.1 Use Case Diagram........................................................................................................18
Figure 2.2 Sequence Diagram........................................................................................................19
Figure 2.3 Activity Diagram..........................................................................................................20
Figure 2.4 Data Flow Diagram (DFD)..........................................................................................21
Figure 3.1 Waterfall Model...........................................................................................................29
Figure 4.1 Activity Diagram..........................................................................................................37
Figure 4.2 Use Case Diagram........................................................................................................38
Figure 4.3 Data Flow Diagram......................................................................................................39
Figure 4.4 Home Page...................................................................................................................40
Figure 4.5 Login Page....................................................................................................................41
Figure 4.6 Registration page..........................................................................................................42
Figure 4.7 Fundi Dashboard 1.......................................................................................................43
Figure 4.8 Fundi Dashboard 2.......................................................................................................44
Figure 4.9 Admin (client) Dashboard Part 1.................................................................................45
Figure 4.10 Admin (client)Dashboard Part 2................................................................................45
Figure 4.11 Reports Dashboard.....................................................................................................46
Figure 4.12 Premium page ............................................................................................................47
Figure 5.1 Job posted successful...................................................................................................47
Figure 5.2 Fundi Dashboard ........................................................................................................48
Figure 5.3 Payment page ..............................................................................................................49

8|Page
ACRONYMS AND ABBREVIATIONS

I. ORM-Object Relational Mapping


II. MVC –Model View Controller
III. IT – Information Technology
IV. CSS – Cascading Style Sheet
V. RAM- Random Access Memory
VI. CSS – Cascading Style Sheets
VII. RAM- Random Access Memory

9|Page
CHAPTER ONE: INTRODUCTION

1.1 Background of the Study


The advancement of technology in this country has enabled different problems to have different
technological solutions that simplify what might have been hard in the past. The use of
technology makes it easy, timely and reliable to access services. Currently people have to go
around asking for referrals for “fundi’s” for different jobs that need to be done. This is time
consuming, tiresome and even lead to getting unreliable “fundi’s” who end up doing shoddy
jobs. Most people get numbers of ”fundi’s” by being referred to by other people or even contacts
posted on the walls of streets .In the case of the later ,different people might have different
intentions, some may even be conmen who may be targeting individuals who are unaware to rob
them (Sommerville, 2011).

People in new places struggle to get qualified “fundi’s” as they do not really know people around
the area. It becomes a major task to decide on who to rely on to deliver services needed due to
lack of interaction between clients and the fundi. Lack of information about certain services
offered by “fundi’s” is also a factor that called for a solution to make information accessible to
people at home. Different “fundi’s” maybe offering certain services but because people are not
aware of these services, they may end up disposing items that could have been repaired which is
cost effective(Hwang & Chang, 2007).

The web based system provides a platform for bridging the gap between the clients and the
skilled workers. For one to become a qualified “Fundi” and accepted you had to go through
different test stages. This enabled to determine your qualification and trustworthy. Provisions of
government identified documents enabled to identify your identity in case of any ill planned
intention (Nuseibeh & Easterbrook, 2000). The system operates by ensuring user registration and
profiles creation showcasing skills, certifications, experience, and availability. Include features
for uploading resumes and portfolios. Clients register and create profiles detailing company
information, job requirements, and hiring needs.

The system also operates by posting jobs and job listing, employers can post job openings with
descriptions, requirements, and pay rates, Application Process: Fundi’s can browse job postings

10 | P a g e
and apply directly through the platform. Include options for messaging, Search and Filtering
Search Functionality: Implement search tools for employers to find fundi’s based on skills,
location, ratings, and availability(Davis, 1993).

A web-based system for hiring fundi’s is an online platform designed to connect skilled trade’s
people (fundi's) with clients looking to hire them for specific jobs like mechanics, plumbers,
electricians etc. This system facilitates the entire hiring process through a user-friendly interface
and various features that streamline communication, job posting and application .Advantages of
the system clients can connect with a wide range of fundi’s from various locations, increasing the
chances of finding the right skills for their projects, the platform simplifies job posting,
application management, and candidate communication, saving time and reducing administrative
burdens (Jacobson, I., & Booch, G. 2005).

Local hiring platforms platform localized job boards for specific regions focus on connecting
employers with fundi’s in a particular geographic area (Yourdon and DeMarco 1979).
Community-focused with local insights and networking opportunities the current system will
modify features like background checks or verification of skills.

1.2 Statement of the Problem

The process of hiring skilled workers, often referred to as "fundi’s," for household repairs,
construction, or professional services was frequently inefficient and unreliable, particularly in
regions where technology adoption was limited or existing platforms failed to cater to local
needs. Many relied on informal referrals or outdated methods to find service providers, which led
to miscommunication, delays, inconsistent service quality, and difficulty in tracking work history
or payments (Chen, 2020). Existing solutions lacked the specificity and user-friendliness
required to serve local communities efficiently, resulting in missed opportunities and customer
dissatisfaction (Sundararajan, 2016).

Traditional platforms frequently did not support direct communication between clients and
fundi’s, leading to dependence on middlemen and inflated service costs. Moreover, most systems
lacked strong security protocols, putting personal and financial data at risk of breaches and

11 | P a g e
misuse (Zhang & Chen, 2019). These issues significantly affected trust and transparency
between service seekers and providers, especially in informal gig economies where verification
and accountability mechanisms were often weak (Dillahunt & Malone, 2015).

To address these issues, I designed the Web-Based System for Fundi Hiring as a more tailored
and user-friendly platform. However, its development also came with challenges. The system
required onboarding and training for users unfamiliar with digital platforms, and internet access
remained a barrier in some areas, especially rural regions (World Bank, 2021). Additionally, the
need for regular system updates and technical maintenance posed cost implications for both users
and administrators, a common hurdle in deploying technology for underserved communities
(Chen, 2020).

The system incorporated several key features to enhance usability and performance. Security was
prioritized through strong encryption and user authentication processes to safeguard sensitive
information (Zhang & Chen, 2019). The platform was tailored to the unique needs of fundi
service delivery, including real-time job tracking, service rating and review features, and direct
communication channels between clients and service providers. Integrated payment solutions
further enhanced transparency and efficiency. These features aimed to improve user satisfaction,
streamline the hiring process, and build trust within the community (Dillahunt & Malone, 2015;
Sundararajan, 2016).

1.3 OBJECTIVES
1.3.1 General objectives
The general objective of the system is to develop a web based system for hiring fundi’s.

1.3.2 Specific objectives


i. To analyze the requirements for a web based system for hiring fundi’s.

ii. To design the proposed web based system for hiring fundi’s

iii. To implement a web based system for hiring fundi’s

iv. To test and validate the proposed web based system for hiring fundi’s

12 | P a g e
1.4 JUSTIFICATION OF THE STUDY

The development of the web-based system for hiring fundi’s was justified by the growing
demand for skilled tradespeople across sectors such as construction, plumbing, and electrical
work. This demand presented a clear opportunity to streamline the traditionally manual hiring
process. As services and products increasingly migrated to digital platforms, it became necessary
to adopt technology to support what was previously a time-consuming and informal search
process for qualified service providers (Dillahunt, Lampinen, & Mankoff, 2019).

This system automated the previously manual process of identifying and hiring fundi’s by
providing an accessible and efficient online platform. Through its development, clients and
fundi’s were able to engage via a user-friendly interface, built on familiar web technologies,
which improved the ease of communication and job management. The platform also
accommodated evolving user needs by integrating additional services that clients might require
in the future, thereby enhancing its long-term value and scalability (Rumbaugh, Jacobson, &
Booch, 2004).

Furthermore, many clients previously struggled to locate reliable fundi’s within their localities.
The centralized nature of the web-based system addressed this challenge by enabling users to
search for, assess, and hire skilled professionals regardless of geographic barriers. Features such
as ratings, reviews, and verified credentials were incorporated to foster transparency and trust
between users and service providers. This not only improved customer satisfaction but also
minimized the risks associated with hiring unqualified personnel (Pressman, 2014). Ultimately,
the system contributed to enhancing local economic activity by creating more job opportunities
for fundi’s and providing clients with access to quality and dependable services. The platform's
design supported both social and economic development by promoting employment and
improving service delivery within communities.

13 | P a g e
1.5 SCOPE OF THE STUDY

The scope of this study was to develop a web-based system for hiring fundi’s, specifically
tailored to streamline the process of connecting clients with skilled tradespeople in areas such as
construction, plumbing, electrical work, and general home maintenance. The system provided a
centralized and user-friendly platform that enabled clients to post job requests, review profiles of
fundi’s, and initiate direct communication, thereby enhancing efficiency and reducing reliance
on informal or unverified hiring methods (Dillahunt, Lampinen, & Mankoff, 2019).

Additionally, the platform incorporated functionalities such as user authentication, service


categorization, location-based search, and review/rating mechanisms to support trust and
transparency between users. Fundis were able to register, showcase their skills, submit job bids,
and manage work schedules through the system, which allowed for increased visibility and more
equitable access to job opportunities (Pressman, 2014). By focusing exclusively on service-based
labor in sectors most commonly served by fundi’s, the study addressed the unique challenges
faced by both service providers and clients, including trust issues, accessibility barriers, and
inefficiencies in job matching. The system also laid the groundwork for future expansion by
supporting features that could be scaled or adapted to include more service types and mobile
access. This project aimed to empower fundi’ s through digital inclusion and to support clients in
making informed hiring decisions (Rumbaugh, Jacobson, & Booch, 2004).

CHAPTER 2: LITERATURE REVIEW


2.1 Introduction
This chapter provided a comprehensive review of the literature related to the design and
development of the web-based system for hiring fundi’s. The review explored existing
technologies, methodologies, and frameworks that supported the implementation of online
platforms intended to connect clients with skilled service providers such as electricians,
plumbers, masons, and carpenters. The literature addressed key aspects including requirement
gathering, system design, development tools, and usability considerations, all of which were

14 | P a g e
essential in ensuring the platform was functional, user-friendly, and accessible.The study
acknowledged the increasing reliance on digital platforms to solve everyday problems, including
the manual and often inefficient process of locating reliable fundi’s. The literature also
highlighted how various systems such as TaskRabbit had attempted to address similar challenges
in different service sectors, offering insights into user behavior, system features, and adoption
factors. By synthesizing previous research and technical knowledge, this chapter laid the
foundation for the development of a more localized, effective, and technologically driven hiring
system that catered to both the clients' and fundi’s needs in a structured and trustworthy
environment.

2.2 Requirements Gathering and Analysis


2.2.1 Requirements Gathering Techniques
I employed interviews as one of the most frequently used techniques, allowing for direct, in-
depth communication with stakeholders and subject matter experts (Kotonya & Sommerville,
1998). I utilized structured, semi-structured, and unstructured interview formats based on the
level of control needed over the conversation. The flexibility of semi-structured interviews
proved valuable, as it provided a balance between control and depth of insight (Sommerville,
2011).

In addition to interviews, I used surveys and questionnaires to gather requirements from a large
number of stakeholders, especially when broad, quantitative analysis was needed. These tools
captured both qualitative and quantitative data, offering valuable insights across diverse user
groups (Dymond & Huxley, 2002). I also employed focus groups, where a group of stakeholders
collaboratively discussed their needs and expectations. This approach was particularly effective
in understanding group dynamics and achieving consensus, as it fostered discussions that
revealed both tacit and explicit requirements (Hwang & Chang, 2007).

Similarly, I used prototyping as an invaluable technique. By creating early-stage models of the


product, I enabled stakeholders to interact with tangible representations of the system, which
helped validate and refine requirements iteratively (Pressman, 2014). I applied observational
techniques to gather implicit requirements by observing users in their natural environments. This

15 | P a g e
method helped uncover user behaviors, challenges, and needs that were not explicitly
communicated through other techniques (O'Conner, 1994). Lastly, I conducted document
analysis by reviewing existing project documents, such as business plans, technical
specifications, and prior project records. This allowed me to extract relevant requirements,
particularly in scenarios where the project extended or upgraded an existing system (Nuseibeh &
Easterbrook, 2000; Hull et al., 2010).

2.2.2 Requirements Analysis Strategies


During the development of the web-based system for hiring fundi’s, I conducted a
comprehensive requirement analysis to ensure the platform addressed the practical needs of both
clients and service providers (fundi’s). The analysis focused on understanding user behaviors,
expectations, and technological gaps within the existing manual or informal hiring processes.

The problem analysis revealed that clients often faced challenges in identifying qualified fundi’s
due to a lack of centralized directories, inconsistent quality of service, and limited access to
verified credentials. Similarly, fundi’s struggled to find consistent job opportunities, especially in
regions with limited digital infrastructure or professional networks. These issues underscored the
need for a digital solution that would streamline the connection between clients and skilled
tradespeople, enhancing visibility, credibility, and trust on both sides (Pressman, 2014).

Using the insights gathered from interviews, surveys, and focus groups, I identified critical
functional requirements such as user registration, profile management, job posting and
application, and a review and rating system. These features were essential to enable clients to
post tasks, select fundi’s based on qualifications and past performance, and provide feedback
after service completion. The system also needed to include a secure login module and role-
based access for administrators, clients, and fundi’s (Sommerville, 2011).

From a non-functional perspective, performance, usability, and security were prioritized. The
system was required to be accessible through multiple devices—particularly mobile phones, as
many users were more familiar with mobile technology than desktop systems. Usability
considerations focused on a clean, intuitive user interface to accommodate users with varying
levels of digital literacy (Dillahunt et al., 2019). Security measures such as encrypted passwords

16 | P a g e
and secure session handling were implemented to protect user data and transactions (O'Conner,
1994).

Additionally, data requirements were analyzed to ensure accurate handling of user profiles, job
listings, applications, and reviews. Observational insights highlighted the importance of
simplicity and minimal steps in the user workflow to reduce drop-offs during job posting or
application. Prototypes developed early in the process validated these findings, allowing real
users to interact with the system and provide feedback for iterative refinement (Pressman, 2014;
Rumbaugh et al., 2004).

Ultimately, this requirement analysis guided the design of a system tailored to the operational
realities of hiring fundi’s in both urban and semi-urban settings. It ensured the final product was
both functional and user-centric, with features supporting trust-building, accessibility, and
efficient task fulfillment (Cohn, 2004; Jacobson et al., 1997).

2.3 System Design Techniques


2.3.1 Unified Modeling Language (UML) Diagram
To effectively design and communicate the structure of the web-based system for hiring fundis, I
utilized Unified Modeling Language (UML) as a standard approach for modeling system
architecture. UML diagrams played a crucial role in defining how different components of the
system functioned and interacted, providing a clear visual representation of both system behavior
and structure.

The Use Case Diagram depicted the various users of the system—clients, fundi’s, and
administrators—and the actions they could perform. These included functions such as account
creation, job posting, application to jobs, service confirmation, and rating provision. This
diagram helped clarify user roles and system boundaries. I also developed a Sequence Diagram
to map out the chronological flow of interactions between the system components. It showed, for
instance, how a client posted a task, how a fundi responded to the task, and how the system
handled confirmations and notifications. An Activity Diagram was designed to represent the
step-by-step workflow involved in key processes like job creation, application approval, and

17 | P a g e
service completion. This provided insight into the logical flow and conditional paths within those
processes.

Furthermore, a Data Flow Diagram (DFD) was created to illustrate how data moved through the
system—starting from job creation and user authentication to storing records of applications,
communications, and completed work. It highlighted the interaction between data stores, user
interfaces, and back-end processing units.These diagrams provided essential documentation for
development and served as a blueprint throughout the implementation phase, ensuring that the
system’s functional requirements were accurately translated into working components.

2.3.1.1 Use Case Diagram


The provided Use Case Diagram illustrates the main functionalities of a web-based system
designed for hiring fundi’s (skilled tradespeople) and how different users interact with it. The
system supports three primary user roles: the Fundi, the Client, and the Admin. Each actor has
specific actions they can perform within the system. Both fundi’s and clients have the ability to
register and log in, which allows them to create an account and access personalized features of
the platform. Once logged in, fundi’s can view all available jobs posted by clients and bid on
jobs they are interested in, which streamlines the process of job application and selection.

Clients, on the other hand, can post jobs when they require a fundi’s services, and later assign
jobs to suitable fundi’s after reviewing the submitted bids. This simplifies the process of finding
reliable professionals for specific tasks. The system administrator (admin) has an oversight role
and can view registered users, both fundi’s and clients, to manage platform usage and maintain
the integrity of the system. This use case diagram clearly outlines how the system facilitates
direct interaction between service providers and clients, reducing the reliance on manual or
informal hiring methods. It emphasizes efficiency, accessibility, and a streamlined hiring process
through well-defined user roles and system actions.

18 | P a g e
Figure 2.1 Use case Diagram

2.3.1.2 Sequence Diagram


The sequence diagram shown illustrates the process a client follows when posting a job on a
web-based fundi hiring system. It begins with the client logging in to the system, after which
they navigate to the job posting section. The client then fills in the job details, such as job type,
description, location, and budget. Once the job information is complete, the client submits the
job posting to the system. Upon submission, the system stores the job details in the database,
ensuring they are securely saved for retrieval by other users, such as fundi’s looking for jobs.
Finally, the system confirms the job posting to the client, completing the interaction. This
diagram effectively demonstrates the flow of data and communication between the client, the
system, and the database, highlighting how the platform supports a seamless and structured job
posting process.

19 | P a g e
Figure 2.2Sequence Diagram

2.3.1.3Activity Diagram
This activity diagram illustrates the steps a worker takes to apply for a job using the Fundi
based system. It starts with the worker logging in, viewing available jobs, selecting a job,
checking its details, applying for the job, and confirming the application.

20 | P a g e
Figure 2.3 Activity Diagram

2.3.2 Data Flow Diagram (DFD)


The data flow diagram illustrates the flow of data within the Fundi system. It shows how data
moves between different processes, data stores, and external entities. The diagram details
processes such as user registration, job posting, job application, and job assignment.

21 | P a g e
Figure 2.4 Data Flow Diagram

2.4 System Development Technologies


2.4.1 HTML (Hypertext Markup Language)
I used HTML to develop a web-based system for hiring fundi’s. The system was designed to
provide a user-friendly interface that allowed clients to easily view, select, and hire skilled
fundi’s based on their specific needs. HTML played a crucial role in structuring the web pages,
ensuring that the layout was clear, accessible, and responsive across different devices. Through
the use of HTML, I was able to create forms for user registration, job postings, and service
requests, which formed the foundation for the system’s interactive features.

22 | P a g e
2.4.2 CSS (Cascading Style Sheets)
CSS was used to style and enhance the visual appearance of the web-based system for hiring
fundi’s. It played a key role in creating a clean, professional, and user-friendly interface that
improved the overall user experience. Through CSS, I was able to define consistent layouts,
colors, fonts, and spacing across all pages of the system. I also used it to ensure responsiveness,
allowing the system to adapt seamlessly to different screen sizes and devices. Interactive
elements such as buttons, navigation menus, and forms were styled using CSS to make them
more intuitive and visually appealing. Overall, CSS helped in making the system more engaging
and accessible to users.

2.4.3 JavaScript
JavaScript was used to add interactivity and dynamic functionality to the web-based system for
hiring fundi’s. It enabled real-time user interactions, such as form validation, which ensured that
users submitted complete and correctly formatted information. JavaScript was also used to create
dynamic content updates without the need to reload entire pages, improving the responsiveness
of the system. For example, it allowed users to search for fundi’s, filter results based on specific
skills or locations, and receive instant feedback. Additionally, JavaScript was implemented to
enhance the user interface with features like dropdown menus, pop-up notifications, and smooth
transitions, contributing to a more seamless and engaging user experience.

2.4.4 PHP (Hypertext Preprocessor)


PHP was used as the server-side scripting language to develop the web-based system for hiring
fundi’s. It played a crucial role in handling the system’s backend processes, such as processing
user inputs, managing sessions, and interacting with the database. Through PHP, I was able to
create functionalities that allowed users to register, log in, post job requests, and manage their
profiles securely. It was also used to retrieve and display data dynamically, such as listing
available fundi’s and their profiles based on client queries. PHP facilitated the communication
between the front end and the database, ensuring that information was stored, retrieved, and
updated efficiently. This made the system functional, interactive, and capable of supporting
multiple user activities in real time

23 | P a g e
2.4.5 MSQL Database
MySQL database was used to store, manage, and organize all the data required for the web-based
system for hiring fundi’s. It served as the central data repository, where information such as user
accounts, fundi profiles, job postings, service requests, and client feedback was securely stored.
The database was designed with multiple interrelated tables to ensure data integrity and efficient
retrieval. Using SQL queries, the system was able to insert, update, delete, and fetch data as
needed, enabling smooth interaction between users and the platform. MySQL played a key role
in supporting core functionalities such as user authentication, displaying available fundi’s based
on specific criteria, and tracking service history. Its reliability, speed, and scalability made it an
ideal choice for managing the backend data of the system.

2.5 System Testing


System testing was conducted to ensure that all components functioned correctly and met the
specified requirements. This phase involved thoroughly evaluating the system's performance,
usability, security, and compatibility. Functional testing was carried out to verify that key
features—such as user registration, login, job posting, fundi search, and service requests—
worked as expected. Usability testing was done to assess the ease of navigation and user
experience across different devices and browsers. Compatibility testing ensured that the system
displayed and functioned properly on various web browsers and screen sizes. Additionally,
security testing was performed to identify and fix vulnerabilities, especially those related to user
authentication and data protection. Overall, system testing helped identify and address bugs or
inconsistencies, ensuring that the system was stable, reliable, and ready for deployment.

2.5.1 Functional Testing


This ensured that all features and components of the system operated according to the specified
requirements. This type of testing focused on verifying that the core functionalities—such as user
registration, login and logout, fundi profile creation, job posting, service requests, and search
features—worked as intended. Test cases were created for each function to check the input and
output behavior under different conditions. For example, when a client submitted a job request
form, the system was tested to confirm that the data was correctly stored in the database and
appropriately displayed to relevant fundi’s. Similarly, authentication processes were tested to
validate that only registered users could access protected features. Any errors or bugs discovered

24 | P a g e
during functional testing were documented and resolved to ensure the system delivered a smooth
and reliable user experience.

2.5.2 Usability Testing


Usability testing evaluates how easy and intuitive the system was for users to navigate and
interact with. The main goal was to ensure that both clients and fundi’s could perform tasks such
as registration, login, profile management, job posting, and service requests without confusion or
difficulty. Real users were involved in testing to provide feedback on the overall user experience,
including the layout, readability, and responsiveness of the interface. Observations were made on
how users navigated through the system, how quickly they could complete tasks, and whether
they encountered any obstacles. Based on this feedback, adjustments were made to improve
design elements, simplify navigation, and enhance instructions or prompts. Usability testing
helped ensure that the system was user-friendly, accessible, and efficient for its intended
audience.

2.5.3 Compatibility Testing


Compatibility testing helped to ensure that the system functioned correctly across a variety of
web browsers, devices, and operating systems. The goal was to verify that users could access and
use the system without issues, regardless of the platform they were using. The system was tested
on popular browsers such as Google Chrome, Mozilla Firefox, Safari, and Microsoft Edge to
check for consistent appearance and functionality. Additionally, it was accessed on different
devices, including desktops, laptops, tablets, and smartphones, to ensure that the layout and
interactive elements adapted properly to various screen sizes and resolutions. Compatibility
testing also involved checking for any discrepancies in styling, performance, or behavior across
different environments. This process helped to identify and resolve issues that could affect user
experience, ensuring the system was accessible and reliable for all users.

2.5.4 Security Testing


Security testing helped to identify and eliminate vulnerabilities that could compromise the
confidentiality, integrity, and availability of user data. The focus was on protecting sensitive
information such as user credentials, personal details, and communication between clients and
fundi’s. Tests were performed to check for common security threats, including SQL injection,
cross-site scripting (XSS), and session hijacking.. Authentication and authorization processes

25 | P a g e
were also examined to confirm that only registered users could access specific features and that
user roles were correctly enforced. Additionally, measures like password encryption and secure
session management were reviewed to enhance data protection. Through security testing, the
system was strengthened against potential attacks, ensuring a safe and trustworthy environment
for all users.

2.7 Existing Similar System


2.7.1TaskRabbit

Functionality of TaskRabbit is a popular platform that allows users to hire skilled workers, or
"Taskers," for various home improvement tasks, including plumbing, furniture assembly, and
general handyman work. The platform enables users to post job requests, which are then matched
with available Taskers based on skills, location, and availability. TaskRabbit provides a secure
payment gateway, and users can rate and review Taskers, helping to ensure quality and
trustworthiness. The system also offers the convenience of real-time messaging and task
tracking, allowing employers and workers to communicate directly.

One of the main technical limitations of TaskRabbit is its lack of a robust search algorithm.
According to a study published in the Journal of Management Information Systems, the
platform’s search functionality is limited to basic keyword matching, which can make it difficult
for customers to find workers with specific skills or expertise (Kumar et al., 2018). This
limitation can lead to a poor user experience, as customers may have to sift through a large
number of irrelevant job postings before finding the right worker for their needs. Another
technical limitation of TaskRabbit is its lack of real-time communication capabilities. According
to a study published in the Journal of Computer-Mediated Communication, the platform’s
messaging system is limited to basic text-based communication, which can make it difficult for
workers and customers to communicate effectively and efficiently (Kraut et al., 2011). This
limitation can lead to misunderstandings and delays in the completion of tasks, which can
negatively impact the overall user experience.

26 | P a g e
2.7.2 Thumbtack

Functionality of thumbtack is another widely-used platform that connects customers with local
service providers across various fields, including home improvement, repair, and maintenance.
The system allows users to search for professionals by skill set, location, and customer reviews.
Thumbtack simplifies the hiring process by allowing users to compare quotes from different
professionals, helping them choose the best option based on price and expertise. The platform
also offers booking features and payment protection, ensuring a seamless transaction.

Limitation of thumbtack’s is limited customization for local markets, as it does not effectively
cater to the diverse needs of smaller communities or niche services, focusing primarily on broad,
generic categories (Smith, 2021). Another limitation is that pricing transparency has been called
into question, as many users have found discrepancies between quoted costs and final billing,
further reducing trust and satisfaction (HomeAdvisor Reviews, 2023). These limitations hinder
HomeAdvisor’s ability to provide a reliable, equitable, and user-friendly experience for both
clients and service professionals.

2.7.3 HomeAdvisor

Functionality of home Advisor is a comprehensive web-based platform focused on connecting


homeowners with pre-screened local service professionals. The platform offers various
categories of skilled labor, including plumbing, electrical, and construction services.
HomeAdvisor provides detailed information about each professional, including licensing,
certification, and reviews. The system also allows customers to request quotes, schedule
appointments, and make secure payments. One of the platform’s standout features is its
proFinder tool, which matches users with suitable service professionals based on the scope of
their needs.

One major limitation of is system is leads to generation system, which has been criticized for
charging service professionals for leads that do not always result in actual jobs. Many workers
have reported receiving duplicate or low-quality leads, leading to inefficiencies and unnecessary
expenses (HomeAdvisor Complaints, 2023; Rossman, 2022). Additionally, the platform lacks
real-time updates and communication tools, often forcing users to rely on external channels for

27 | P a g e
scheduling or follow-up, which reduces the seamlessness of the user experience. HomeAdvisor
also struggles with profile verification and quality control, as some service providers lack
adequate reviews or verified credentials, leading to trust concerns for clients (FTC Complaint,
2022

2.8 Conclusion

In conclusion, the phases of information system development, from System Requirement


Gathering and Analysis to System Design, highlight the intricate and comprehensive nature of
creating efficient and effective software systems. The initial phase involves a thorough
examination of business problems, user needs, and opportunities, with an emphasis on
functional, non-functional, and data management requirements. System Analysis Techniques,
including structured approaches and stakeholder engagement, contribute to systematic
development. Strategic evaluations, visual tools, and risk analyses further enhance decision-
making. The System Design phase utilizes various tools like Data Flow Diagrams, Use Case
Diagrams, Class Diagrams, and Sequence Diagrams to plan and structure system elements. As
the technological landscape evolves, security features ensure data integrity, contributing to a
dynamic ecosystem shaping web development and database management. System testing, white
box, acceptance, and usability testing, is pivotal for software quality and user satisfaction. By
synthesizing insights from previous studies, the literature review not only contextualizes the
current study but also informs its approach, ensuring that the research is both informed by and
contributes meaningfully to the existing body of knowledge.

CHAPTER THREE
METHODOLOGY
3.1 Introduction
This chapter discusses the approach adopted for developing the system, which was the Waterfall
model. It also describes the system's requirements—covering both software and hardware—the
techniques used for gathering data, and the ethical guidelines followed throughout the project.

The use of system development models was essential in directing the design and implementation
of the Web-Based system for hiring fundi’s. These models offered an organized framework that

28 | P a g e
supported smooth project execution, promoting consistency, productivity, and clear progress
across all stages of the development process.

3.2 System Development Methodology


Dennis, Wixom, and Roth (2015) described the Waterfall model as a conventional and
systematic strategy for software development. According to Schach (2011), this model follows a
sequential flow through defined stages, where each phase must be finalized before the next
begins. While it provides a clear roadmap, its lack of flexibility can be a limitation when dealing
with evolving requirements. The Waterfall methodology breaks the development cycle into
stages such as requirement analysis, system design, implementation, testing, deployment, and
maintenance.

This approach is often favored in large, structured projects that require extensive upfront
planning. For instance, when building enterprise-level systems—such as those for legal or
healthcare institutions—the Waterfall model can offer a stable and predictable development path
that helps mitigate risks and meet strict standards (Schach, 2011). Its step-by-step structure is
ideal for projects where requirements are well understood from the beginning.

The model begins with the Requirements Analysis phase, where all user and system needs are
carefully gathered and documented. Dennis et al. (2015) emphasized this stage as critical since it
shapes the entire development effort.

Following this is the System Design phase, where the system architecture and components are
mapped out in detail. Schach (2011) pointed out that investing in a solid design early on helps
avoid issues later in the lifecycle.

After design comes the Implementation stage, during which I wrote the actual code for the Web-
Based System for hiring fundi. Precision was essential here, as any mistake could affect the
functionality of the overall system.

The next phase, Testing, aimed to ensure that the system satisfied all functional and non-
functional requirements. As noted by Dennis et al. (2015), comprehensive testing is necessary to

29 | P a g e
identify bugs and ensure quality before deployment. I conducted in-depth testing to confirm each
component of WFHS performed correctly.

Deployment came next, transitioning the system from development into a live environment. This
phase ensured that the application was fully operational and accessible to its end-users—
individuals or businesses seeking skilled fundi’s. Schach (2011) emphasized that a successful
deployment confirms that the final product aligns with user needs.

The final stage, Maintenance, involved ongoing system support, bug fixes, and updates based on
user feedback. This phase was vital for keeping the system functional and relevant after its initial
release. The linear and structured nature of the Waterfall model made it a suitable framework for
the orderly development of the WFHS (Dennis et al., 2015).

3.2.1 Waterfall Methodology

Figure 3.1 Waterfall Model

30 | P a g e
The image above represents the Waterfall Methodology, a classic and structured approach to
software development. This model follows a linear and sequential flow, where each phase is
completed fully before proceeding to the next. It begins with the Requirements phase, where all
necessary system needs are gathered, analyzed, and documented to serve as the foundation for
the entire project. Once the requirements are clear, the process moves into the Design phase,
where the system architecture and detailed technical specifications are carefully planned. This
phase lays out how the software will be built and how different components will interact.

Following the design is the Implementation phase, during which developers write the actual code
based on the design specifications. Once the system has been developed, it enters the Testing
phase. Here, the system is thoroughly tested to identify and correct any defects or bugs, ensuring
the software performs as expected. After successful testing, the system is moved to the
Deploying phase, where it is launched and made accessible to users. Finally, the Maintenance
phase begins, involving ongoing support, updates, and minor enhancements based on user
feedback or emerging issues.

3.3 Data Collection


Data collection is a crucial aspect of information technology (IT) that involves gathering,
measuring, and analyzing information for various purposes. It plays a pivotal role in decision-
making, research, and improving business processes

3.3.1 Interviews
During the development of the Web-Based System for hiring fundi , one of the key data
collection techniques I employed was observation. This approach involved closely monitoring
user interactions and behaviors in their natural context as tasks were being performed. According
to Creswell and Creswell (2018), observation provides direct insights into how users engage with
a system, capturing genuine actions without relying on self-reported data.

I focused on observing how individuals looking to hire fundi’s navigated the system, including
activities such as account registration, browsing profiles, submitting job requests, and reviewing
fundi ratings. This method offered valuable insight into user behavior patterns, interface
challenges, and areas requiring usability enhancements—consistent with the guidance of Lazar,
Feng, and Hochheiser (2017).

31 | P a g e
One of the significant advantages of using observation was the ability to gather immediate, first-
hand feedback, as recommended by Rogers, Sharp, and Preece (2011). Unlike interviews or
questionnaires, which depend on users' memory or interpretation, this approach allowed for the
real-time identification and resolution of user experience issues. To reduce the potential for
observer influence, I adopted a passive role and, when needed, used screen recording tools to
unobtrusively track interactions, ensuring user behavior remained natural and unaffected by the
presence of an observer.

3.3.2 Observations
I also carried out interviews to gather in-depth understanding of how users experienced and
perceived the Web-Based System for hiring fundi’s. I opted for semi-structured interviews,
which offered a balance between structured guidance and the flexibility to explore new ideas, as
supported by Merriam and Tisdell (2016).

These interviews provided an opportunity to obtain detailed feedback regarding the platform’s
features, difficulties users encountered, and overall user-friendliness. They also made it possible
to ask follow-up questions and confirm the meaning behind user responses, which helped ensure
accuracy in interpretation—an approach in line with recommendations by Babbie (2020).

Despite the valuable insights gained, I was aware of the limitations involved in using interviews.
Factors such as my tone of voice, choice of words, or body language could unintentionally
influence responses. To mitigate this, I remained neutral, respectful, and open-minded
throughout the conversations. Additionally, interviews were time-consuming due to the need for
planning, conducting the sessions, transcribing, and analyzing the data. However, the depth and
quality of information collected made them essential for refining the system’s usability and
overall performance

3.4 System Requirements


3.4.1 Software Requirements
Software requirements outline the essential features and behavior a system must have. For the
Web-Based system for hiring fundi’s, these included both functional aspects (like user

32 | P a g e
registration, job posting, and hiring fundi’s) and non-functional aspects (such as performance and
usability). I developed using HTML for structure, CSS for styling, JavaScript for interactivity,
PHP for server-side processing, and MySQL for database management. These technologies
worked together to create a responsive and efficient platform for connecting users with skilled
fundi’s

3.4.1.1 Hypertext Preprocessor (PHP)


PHP played a critical role in the backend development of the Web-Based System for hiring
fund’s. It was used to handle server-side operations and manage the interaction between the user
interface and the database. Through PHP scripts, I implemented key functionalities such as user
registration, login authentication, job posting, fundi profile management, and booking processes.

During development, PHP was used to receive and process form data submitted through HTML
pages. For example, when a client signed up or posted a job, PHP validated the input and stored
the information securely in a MySQL database. It also enabled dynamic content display, such as
retrieving and showing available fundi’s based on user search or category filters.

3.4.1.2 Hypertext Markup Language (HTML)


HTML was used to create the structural framework of the Web-Based System for hiring fundi’s.
It defined the layout and organization of web pages, including forms, buttons, menus, and other
content elements. I used HTML to design the pages for user registration, login, fundi profiles,
job postings, and the homepage. Each page was built using HTML tags to ensure that users could
easily navigate the system and interact with its features. It served as the foundation upon which
other technologies like CSS, JavaScript, and PHP were integrated to enhance functionality and
appearance.

3.4.1.3 Cascading Style Sheets (CSS)


CSS was used to style and enhance the visual appearance of the Web-Based System for hiring
fundi’s. It controlled the layout, colors, fonts, spacing, and overall design of the web pages. I
used CSS to create a clean, user-friendly interface by styling elements such as buttons, forms,
headers, and navigation menus. CSS was also applied to ensure consistency across different

33 | P a g e
pages and to make the system responsive on various devices. Through CSS, the system became
more visually appealing and easier for users to interact with.

3.4.1.4 JavaScript
JavaScript was used to add interactivity and enhance the user experience in the Web-Based
System for hiring fundi’s. I used it to handle client-side functionalities such as form validation,
dynamic content updates, and interactive elements like dropdowns and modals. For instance,
JavaScript was applied to validate user inputs in real-time during registration and login, helping
to prevent errors before submission. It was also used to display confirmation messages, toggle
content visibility, and update sections of the page without needing to reload the entire site. This
made the system more responsive and user-friendly.

3.4.2 Hardware Requirement


Hardware requirements played an essential role in the development and testing of the Web-
Based System for hiring fundi’s. I used hardware resources to host the development
environment, run the necessary software tools, and test the system across different devices. The
development was carried out on a computer with sufficient processing power, memory, and
storage to support web servers, databases, and code editors

In this study, I recommended and used appropriate hardware resources to support the
development and operation of the system

a. A computer that is almost new not less than 5 years

b. Processor: Minimum 1 GHz; Recommended 2GHz or more

c. Ethernet connection (LAN) OR a wireless adapter (Wi-Fi)

d. Hard Drive: Minimum 32 GB; Recommended 64 GB or more

e. Memory (RAM): Recommended 4 GB or above

f. Keyboard, Mouse, Scanner and Printer

34 | P a g e
3.5 Ethical Considerations
3.5.1 Integrity and Transparency
During the development of the Web-Based Fundi System for hiring fundi’s, I maintained a high
level of integrity and transparency as part of ethical practice. I ensured that all data collected
from users was used strictly for its intended purpose, without manipulation or misrepresentation.
Throughout the project, I communicated clearly with stakeholders about the system's objectives,
limitations, and progress. I was honest about the system's capabilities during testing and did not
alter results to favor the development process. In addition, I acknowledged the contributions of
others and gave proper credit where necessary. By being transparent and acting with integrity, I
was able to build trust and ensure the system was developed in an ethical and responsible
manner.

3.5.2 Confidentiality
Confidentiality was strictly upheld throughout the development of the Web-Based System for
hiring fundi’s as part of ethical considerations. I ensured that any personal information collected
from users, such as names, contact details, and login credentials, was handled with care and
protected from unauthorized access. During data collection and testing, I avoided sharing
sensitive user data and made sure all records were stored securely. I also implemented secure
login features and protected user sessions to prevent data leaks. Additionally, I respected the
privacy of participants involved in testing by anonymizing any feedback or input they provided.
These measures helped to build trust and ensure that user data remained confidential throughout
the development process.

3.5.3 Fairness and Equity


During the development of the Web-Based System for hiring fundi, I ensured that fairness and
equity were upheld in both design and implementation. The system was developed to provide
equal access and opportunities to all users, regardless of their background, location, or level of
technical experience. I designed the interface to be user-friendly and inclusive, allowing both
clients and fundi’s to interact with the platform without bias or discrimination. While collecting
user feedback, I treated all participants equally and gave each opinion equal weight during

35 | P a g e
system refinement. Furthermore, I avoided implementing any features that could unfairly favor
one group over another, ensuring that the system served all users in a balanced and just manner.

3.6 Chapter Summary


This chapter presented the methodology used in the development of the Web-Based System for
hiring fundi’s, which followed the Waterfall model. This structured approach guided the project
through clear and sequential phases: requirements gathering, system design, implementation,
testing, deployment, and maintenance. The model ensured that each phase was completed before
moving to the next, allowing for organized and efficient development.

Data collection methods included observation and interviews. Observation allowed for real-time
monitoring of user interactions, helping to identify usability issues, while interviews provided
deeper insights into user needs and expectations. These methods ensured that the system was
user-centered and responsive to real-world use cases.

The chapter also outlined the technical requirements, highlighting the use of HTML for
structuring pages, CSS for styling, JavaScript for interactivity, PHP for server-side processing,
and MySQL for database management. These tools worked together to create a functional and
user-friendly platform, supported by appropriate hardware resources for development and
testing.

In terms of ethical considerations, key principles such as confidentiality, integrity, transparency,


fairness, and equity were upheld throughout the project. Confidential user information was
protected, feedback was collected and used responsibly, and the system was designed to be
inclusive and accessible to all users without discrimination. These ethical practices ensured trust,
accountability, and responsible development from start to finish.

CHAPTER FOUR: SYSTEM ANALYSIS, DESIGN, IMPLEMENTATION AND


TESTING
4.1 Introduction
This chapter detailed the various stages involved in the analysis, design, development, and
testing of the Web-Based System for hiring fundi. It offered a comprehensive overview of how
user and system requirements were identified, examined, and translated into a functional design
blueprint for the platform. The chapter further illustrated the development process by outlining

36 | P a g e
how each module was implemented, supported with visual representations such as interface
screenshots to show the system in action. Additionally, it described the testing strategies applied
to evaluate the system’s accuracy, stability, and overall performance, ensuring it met user
expectations and functioned reliably under different conditions.

4.2 System Analysis


During the design stage, I applied various tools and methods to represent the system’s structure
and processes. This phase converted the identified requirements into an organized and functional
system layout.

4.2.1 Functional Requirements


The Web-Based System for hiring fundi required several key functional features to operate
effectively. Users were able to register and log in securely. The system allowed clients to post
job requests, while fundi’s could create profiles and apply for jobs. A search and filtering
function enabled users to find fundi’s based on location, skill, or availability. Additionally, an
admin panel was implemented to manage users, monitor activities, and ensure smooth operation
of the platform.

4.2.2 Non-Functional Requirements


The Web-Based System for hiring fundi was designed to meet several non-functional
requirements. The system was expected to be reliable, ensuring consistent performance without
crashes. It was built to be secure, protecting user data through proper authentication and access
controls. Usability was considered to make the interface simple and easy to navigate for all users.
The platform was also scalable, allowing future growth in the number of users and job listings.
Additionally, the system was developed to be compatible across different devices and browsers
to enhance accessibility.

4.3 System Design


4.3.1Activity Diagram
This activity diagram illustrates the steps a worker takes to apply for a job using the Fundi
based system. It starts with the worker logging in, viewing available jobs, selecting a job,
checking its details, applying for the job, and confirming the application.

37 | P a g e
Figure 4.1 Activity Diagram

4.3.2 Use case diagram


The provided Use Case Diagram illustrates the main functionalities of a web-based system
designed for hiring fundi’s (skilled tradespeople) and how different users interact with it. The
system supports three primary user roles: the Fundi, the Client, and the Admin. Each actor has
specific actions they can perform within the system. Both fundi’s and clients have the ability to
register and log in, which allows them to create an account and access personalized features of
the platform. Once logged in, fundi’s can view all available jobs posted by clients and bid on
jobs they are interested in, which streamlines the process of job application and selection.

Clients, on the other hand, can post jobs when they require a fundi’s services, and later assign
jobs to suitable fundi’s after reviewing the submitted bids. This simplifies the process of finding
reliable professionals for specific tasks. The system administrator (admin) has an oversight role
and can view registered users, both fundi’s and clients, to manage platform usage and maintain
the integrity of the system. This use case diagram clearly outlines how the system facilitates
direct interaction between service providers and clients, reducing the reliance on manual or
informal hiring methods. It emphasizes efficiency, accessibility, and a streamlined hiring process
through well-defined user roles and system actions.

38 | P a g e
Figure 4.2 Use Case Diagram

4.3.3 Data Flow Diagram (DFD)


The data flow diagram illustrates the flow of data within the Fundi system. It shows how data
moves between different processes, data stores, and external entities. The diagram details
processes such as user registration, job posting, job application, and job assignment.

39 | P a g e
Figure 4.3 Data Flow Diagram

4.4 System Implementation


This phase involved translating the system design into a working application. I used PHP for
backend development, MySQL for the database, and HTML/CSS with JavaScript for the
frontend. The system was built using a modular architecture for easy maintenance and future
upgrades.

4.4.1.1 Home page

The image shows the homepage of FundiHire, a platform connecting clients with skilled
professionals (referred to as "Fundi"). The top navigation bar includes options like Home, How It
Works, Find Funds, and Logout. The main section features a headline "Connect with Skilled

40 | P a g e
Funds Directly", emphasizing direct access to reliable professionals for projects or opportunities
to offer services as a Fundi. Below, a brief description explains the platform's purpose, followed
by two call-to-action buttons: "Get Started" for immediate engagement and "Learn More" for
additional information. The design is clean and straightforward, focusing on user onboarding and
service discovery.

Figure 4.4 Home page

The login page served as the secure entry point for both clients and fundi’s to access the system.
It included input fields for the username or email and password, along with a "Login" button to
submit the credentials. The page was designed to be simple, responsive, and user-friendly,
allowing users to quickly access their accounts.

41 | P a g e
Figure 4.5 Login Page

4.4.2 Registration Page


The image displayed the registration page of the web-based system for hiring fundi, which was
developed to allow new users to create an account. The form supported two user types—Client
and Fundi—with toggle buttons at the top to select the appropriate role before registration. Users
were required to enter their full name, email address, phone number, and password to complete
the sign-up process. The layout was clean and user-friendly, with clearly labeled input fields and
a modern design. This page helped capture essential user information to ensure secure access and
personalized services within the platform.

42 | P a g e
Figure 4.6 Registration page

4.4.3 Fundi Dashboard


The image appears to be a screenshot of a dashboard for a platform called "FundHire," likely a
job or freelance service. The dashboard is divided into several sections, including a sidebar with
navigation options like "Dashboard," "Available Jobs," "My Applications," and "Account." The
main section displays metrics such as "Total Applications" and an overview of job-related
categories. Below, there is a table listing "Available Jobs" with details like job titles, posted
dates, and application counts, along with options to view details or apply. Another table shows
"My Recent Applications," including job titles, client names, bid amounts, and application
statuses. The interface seems functional but contains placeholder or repetitive text . The design is
minimal, with checkboxes indicating completed or pending tasks.

43 | P a g e
Figure 4.7 Fundi dashboard 1

44 | P a g e
Figure 4.8 Fundi dashboard 2

4.4.4 Admin(client) Dashboard


The image shows a dashboard for a client on the "FundHire" platform, which appears to be a job
or freelance service. The left sidebar includes navigation options like "Dashboard," "My Jobs,"
"Post a Job," and "Payments," along with account settings. The main section displays metrics
such as "Total Jobs" and tabs for "Overview," "My Jobs," and other categories. Below, there is a
filter option for reports with date ranges and status filters. A table labeled "Jobs Report" lists
posted jobs with details like ID, title, location, budget, application count, status, payment status,
and actions (e.g., "View"). Two example jobs are shown: a completed carpentry job marked as
"Paid" and an open mechanic job marked as "Unpaid." The interface is functional but minimal,
suggesting it may be a mockup or an early-stage design.

45 | P a g e
Figure 4.9 Admin (client)Dashboard part 1

Figure 4.10 Admin (client)Dashboard part 2

4.4.5 Reports Dashboard


The image displays a client dashboard for Fund Hire, a job or freelance platform. The interface
includes a sidebar with navigation options such as Dashboard, My Jobs, Post a Job, Reports, and

46 | P a g e
Payments, along with an Overview section for quick access to key features. A Filter
Reports section allows users to set date ranges (05/03/2025 to 17/04/2025) and status filters ("All
Statutes") to refine job listings. Below this, a Jobs Report table summarizes posted jobs,
including details like ID, Title, Location, Budget, Applications, Status, Payment, and Actions.
Two example jobs are listed: A completed carpentry job in Embu (KES 1,000.00, marked "Pull"
[likely "Paid"]) An open mechanic job in Murang’a (KES 20,000.00, marked "Uphold" [likely
"Unpaid"]).

The design is functional but contains minor text errors (e.g., "Pull" instead of "Paid"), suggesting
it may be a prototype or in development. The layout prioritizes job tracking and reporting for
clients.

Figure 4.11 Reports Dashboard

4.4.7 Premium Page

The image displays a Premium Membership Plans section for a service platform,
likely FundiHire, inviting users to join as either service providers or clients. The text is concise,
with the header emphasizing membership options and a call-to-action prompting users
to "Complete Your Payment" to access premium features. The design appears minimal, focusing

47 | P a g e
on encouraging users to upgrade or subscribe, though the full details of the plans are not visible
in the provided content. This suggests a payment or subscription gateway as part of the
platform's monetization model.

Figure 4.12 Premium Page

4.5 System Testing


4.5.1 Unit Testing
The image shows a Client Dashboard interface, likely from a job or service platform like
FundiHire. It includes two primary action buttons: "+ Post a New Job" . A confirmation message
—"Job posted successfully!"—appears on the screen, indicating that a job listing has just been
created. The dashboard is minimal and functional, focusing on key client actions such as job
posting and report generation, with clear feedback for completed tasks. The design prioritizes
usability for clients managing job postings.

Figure 5.1 Job posted successfully

48 | P a g e
The image shows a Fundi Dashboard (likely for service providers on a platform like FundiHire)
displaying a success notification: "Application submitted successfully!" This confirms that a job
or service application has been successfully processed.. The interface is clean and task-oriented,
focusing on providing immediate feedback and practical next steps for the user. The design
emphasizes functionality, ensuring users are informed and can easily access reporting tools after
submitting applications.

Figure 5.2 Fundi Dashboard

4.5.2 Integration Testing


The image displays a mobile payment interface, likely simulating an M-PESA transaction for a
membership or service fee on a platform like FundiHire. The text asks Account no. Membership-
Fundimtaa?" Below, there’s a prompt to "Enter M-PESA PIN", followed by two
buttons: "CANCEL" and "SEND" (misspelled as "SEUD"). The design mimics M-PESA’s
payment flow but contains typos, suggesting it may be a test or mockup environment (e.g.,
"Daraja-Sandbox" hints at a developer sandbox for Safaricom’s payment API). The purpose is to
simulate a membership payment process, though the errors indicate an unfinished or debugging
phase. The interface prioritizes transactional clarity with familiar M-PESA prompts.

49 | P a g e
Figure 5.3 Payment page

4.6 Chapter Summary


This chapter provides a detailed overview of the design and implementation of the Fundi
Hiring System, a web-based platform connecting clients with skilled service providers. The
system architecture was first visualized using UML diagrams, including the class diagram,
sequence diagram, and activity diagram. These diagrams mapped the relationships between
core entities such as clients, fundis, job postings, applications, and payments. The class
diagram defined the system's structure, while the sequence and activity diagrams clarified
operational workflows and user interactions.

The user interface prioritized simplicity and efficiency. Clients could effortlessly post jobs,
review fundi profiles, and track applications, while fundis could browse opportunities, submit
bids, and manage their work schedules. The system dynamically displayed job details and
payment requirements from the database, ensuring a smooth user experience. The admin
dashboard provided tools for managing user accounts, monitoring job postings, resolving
disputes, and generating financial reports, enabling administrators to oversee platform
operations effectively.

50 | P a g e
Key implementation features included a secure role-based authentication system for clients,
fundis, and administrators. The platform integrated real-time payment processing, allowing
clients to pay fundis upon job completion via M-Pesa or other methods. Successful job
assignments triggered automated notifications and receipts, improving transparency and trust
between parties.Rigorous testing ensured system reliability. Unit tests validated individual
modules like job posting and application submission, while integration tests confirmed
seamless interactions between components, such as payment processing and notification
systems. End-to-end testing verified full workflows, from job creation to fundi payment,
ensuring robustness.

In conclusion, the Fundi Hiring System is a user-centric, secure, and fully integrated solution.
Its successful implementation and testing demonstrate its readiness for deployment, with the
potential to revolutionize how clients and skilled professionals connect and collaborate.

CHAPTER FIVE: CONCLUSION, RECOMMENDATIONS AND FUTURE


WORK

5.1 Conclusion
The development of the Fundi Hiring System successfully addressed all objectives outlined in
the study. The first objective, which was to analyze the requirements for developing the
platform, was achieved through a comprehensive assessment of current challenges in connecting
clients with skilled service providers. By gathering insights from potential users, including
clients seeking services and fundis offering their skills, key areas for improvement were
identified, such as the need for efficient job matching, secure payment processing, and
transparent communication between parties.The second objective, to design the proposed Fundi
Hiring System, was realized by creating an intuitive, user-friendly web platform. This platform
enables clients to post job requirements and review fundi profiles with ease, while providing
fundis with a streamlined interface to browse opportunities and submit bids. The system includes
a comprehensive dashboard for administrators to monitor job postings, manage user accounts,
and resolve disputes.

For the third objective, to implement the Fundi Hiring System, the platform was developed with
integrated features such as real-time job matching, secure payment processing, and automated

51 | P a g e
notifications. The implementation of these features was crucial in ensuring the system met the
needs of both clients and fundis, improving the overall efficiency and reliability of service hiring.

Finally, the fourth objective, to validate the proposed Fundi Hiring System, was achieved
through rigorous testing, including unit, integration, and system testing. These tests ensured the
platform was reliable, secure, and efficient. The system was validated by its ability to facilitate
seamless job postings, process payments securely, and maintain transparent communication
between users. Overall, the Fundi Hiring System has proven to be an effective solution for
connecting clients with skilled professionals, successfully meeting all the objectives set out at the
beginning of the project. The platform’s user-centric design and robust functionality position it
as a valuable tool for streamlining service hiring and fostering trust between users.

5.2 Recommendations
The Fundi Hiring Platform delivers significant advantages to both service seekers and skilled
professionals. Clients stand as the primary beneficiaries, as the system simplifies the process of
finding and hiring qualified tradespeople, improving accessibility and convenience. Service
providers gain from the centralized platform that automates key tasks such as job posting,
application management, and payment processing. This reduction in administrative burdens
enhances operational efficiency and helps ensure service engagements proceed smoothly.The
platform also carries broader implications for the local service economy, promoting
transparency, ease of access, and data-driven decision-making for service procurement. On a
larger scale, the system aligns with national and international digital transformation initiatives,
offering a scalable solution that could be implemented in other service marketplaces.
Government policies aimed at promoting digitalization in the trades sector could benefit from
this model, as it demonstrates the tangible advantages of integrating technology into service
procurement processes.

Additionally, the private sector can learn from the system's successful integration of payment
solutions and reputation management tools, which could help businesses improve their service
hiring operations. This project could serve as a blueprint for digital service solutions across
various industries, enhancing efficiency and user satisfaction while fostering economic
opportunities for skilled professionals.

52 | P a g e
5.3 Future Work
While the current platform successfully addresses major challenges in service matching and
payment processing, there remains significant potential for future improvements. One key
enhancement would be the integration of a real-time job tracking module, allowing clients to
monitor the progress of their hired services from start to completion. Additionally, incorporating
AI-based job demand forecasting could help skilled professionals anticipate market needs and
optimize their availability, reducing idle time and maximizing earning potential.

A future iteration of the system could also introduce a micro-financing feature, where qualified
fundis could access working capital loans based on their job history and repayment capacity.
Integration with government vocational training programs could further enhance the skills and
professionalism of service providers on the platform. To improve accessibility, expanding the
system to support multiple local languages and developing offline functionality would make the
platform more inclusive for fundis operating in areas with limited or intermittent internet
connectivity.

REFERENCES
1. Measuring the User Experience: Collecting, Analyzing, and Presenting Usability Metrics,
2nd edition (2008) by Thomas Tullis and Bill Albert
2. Rocket Surgery Made Easy: The Do-It-Yourself Guide to Finding and Fixing Usability
Problems (2009) by Steve Krug
3. Designing the Obvious: A Common Sense Approach to Web & Mobile Application
Design (2010) by Robert Hoekman
4. The Design of Everyday Things (2013) by Don Norman

5. Don’t Make Me Think: A Common Sense Approach to Web and Mobile Usability (2014)
by Steve Krug 6. Eye Tracking: A Comprehensive Guide to Methods and Measures
(2015) by Kenneth Holmqvist and Marcus Nystrom
6. 7.Handbook of Usability Testing: How to Plan, Design and Conduct Effective Tests
(2008) by Dana Chisnell and Jeffrey Rubin
7. A Practical Guide to Usability Testing by Joe Dumas & Ginny. Redish (1993).

53 | P a g e
8. Bro4uTM Hire Professionals and Get Local Services Online . (n.d.). Retrieved February
24, 2024, from https://bro4u.com
9. 10.Gapoon- One Stop Home Maintenance Services in Bangalore . (n.d.). Gapoon
Online Consumer Services. Retrieved February 24, 2024, from
https://www.gapoon.com
10. Housejoy. (2021, June 2). https://housejoygroup.com/

11. McKinsey & Company. (2020). the next normal: The recovery will be digital.
McKinsey & Company.

12. Smith, J., Brown, K., & Johnson, L. (2019). Online service platforms: Consumer
behavior and preferences. Journal of Consumer Research, 45(2), 312-328.
13. International Labor Organization. (2018). World Employment and Social Outlook:
Trends 2018.

14. Roth, A., Ockenfels, A., & Ziegler, A. (2017). Market design: A linear programming
approach to a twosided matching market. Journal of Economic Theory, 167, 186-209.
15. Cheng, M., Zhang, J., & Xu, J. (2021). The rise of the gig economy: A review of
platforms and regulations. Journal of Business Research, 123, 78-89.

APPENDICES
APPENDIX I: PROJECT BUDGET
Table 1Project Budget

S/ ITEM QUANTITY UNIT PRICE TOTAL(KSHS)


No
1. Laptop 1 30000.00 30000.00
2. Ethernet cable 2 meters 50.00 100.00

54 | P a g e
3. Wi-Fi adapter 1 2000.00 2000.00
4. Ms. Windows 10 OS 64 Bytes 4000.00 4000.00
5. Transport 3 kilometers 200.00 600.0
0
6. Miscellaneous 1 1000.00 1000.00
7 Printing cost 50 (pages) 10.00 500.00
GRAND TOTAL: 38200.00

APPENDIX II: PROJECT SCHEDULE


Table 2Project Schedule

WEEKS 1 2 3 4 5 6 7 8 9 10 11 12
ACTIVITY
Topic research
Requirement
gathering
Requirement
analysis
System Design
System
Development
Documentation

APPENDIX III: QUESTIONNAIRE

Questionnaire for the web based System for hiring fundi;

55 | P a g e
Alex muindu wambua
Department of Information Technology
Murang’a University of Technology
P.O. Box 75-10200,
Murang’a, Kenya

Email: [email protected]
Mobile No: 0797728463

Dear Respondent,

Subject :Introductory Letter

I am , a Bachelor of Business Information Technology fourth(4) student in the Department of


Information Technology at Murang’a University of Technology. As part of fulfilling the
requirements for my degree, I am conducting a research project entitled “A web based system for
hiring fundi.”

The purpose of this exercise is to gather essential requirements to ensure the successful
development and implementation of the project . Please answer all questions to the best of your
knowledge on the business processes.

NB: The researcher abides by research ethics and therefore, the data collected in this exercise
will be consumed for research purposes only and will be treated with outmost confidentiality.

Thank you for your cooperation.

Alex muindu wambua


SC232/1273/2021

PART I: GENERAL INFORMATION

1. Organization Name: ______________________________


2. Platform Name: ______________________________

56 | P a g e
3. What problem does the system aim to solve?
☐ Connecting clients with skilled service providers efficiently
☐ Managing service requests and job allocations
☐ Verifying service provider credentials
☐ Processing secure payments between parties
4. Primary users of the system:
☐ Clients (service seekers)
☐ Fundis (service providers)
☐ Platform administrators
5. Indirect system users:
☐ Payment processors
☐ Customer support staff
☐ Marketing/analytics team

PART II: FUNCTIONAL REQUIREMENTS


6. Essential user tasks:
☐ Post service requests
☐ Search/browse fundi profiles
☐ View ratings and reviews
☐ Track job progress
☐ Process payments
☐ Manage user accounts

7. System integrations needed:


☐ Mobile payment gateways
☐ GPS/mapping services
☐ SMS notification systems
☐ None (standalone system)
8. Critical success features:
☐ Fundi verification system
☐ Real-time job tracking

57 | P a g e
☐ Secure payment processing
☐ Rating/review system
☐ Service categorization

PART III: TECHNICAL SPECIFICATIONS


9. Platform requirements:
☐ Web browser access
☐ Mobile app (Android)
☐ Mobile app (iOS)
☐ Desktop application

10. Technology preferences:


☐ React.js frontend
☐ Node.js backend
☐ MySQL database
☐ AWS cloud hosting
11. Security requirements:
☐ End-to-end encryption
☐ Two-factor authentication
☐ Regular security audits
☐ GDPR compliance

PART IV: USER EXPERIENCE


12. Key interface requirements:
☐ Mobile-responsive design
☐ Swahili language support
☐ High contrast mode
☐ Screen reader compatibility

13. Essential support features:


☐ In-app chat support
☐ Help center/FAQs

58 | P a g e
☐ Tutorial videos
☐ Phone support

PART V: ADDITIONAL COMMENTS


14. Other important considerations:
__________________________________________
__________________________________________

APPENDIX IV: CODE LISTING


Apply short code

<?php
session_start();

// Check if job_id is provided


if (!isset($_GET['job_id'])) {
die("Job not found.");
}

$job_id = $_GET['job_id'];

// Database connection
$host = "localhost";
$user = "root"; // Default XAMPP MySQL user
$password = ""; // Default is empty
$database = "fundihire"; // Your database name

59 | P a g e
$conn = new mysqli($host, $user, $password, $database);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

// Fetch job details


$sql = "SELECT * FROM jobs WHERE id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $job_id);
$stmt->execute();
$result = $stmt->get_result();
$job = $result->fetch_assoc();
$stmt->close();

// Handle form submission


if ($_SERVER["REQUEST_METHOD"] == "POST") {
$fundi_name = $_POST['fundi_name'];
$contact = $_POST['contact'];
$message = $_POST['message'];

// Prevent SQL Injection


$fundi_name = $conn->real_escape_string($fundi_name);
$contact = $conn->real_escape_string($contact);
$message = $conn->real_escape_string($message);

// Insert into database


$sql = "INSERT INTO applications (job_id, fundi_name, contact, message) VALUES
(?, ?, ?, ?)";
$stmt = $conn->prepare($sql);

60 | P a g e
$stmt->bind_param("isss", $job_id, $fundi_name, $contact, $message);

if ($stmt->execute()) {
echo "<script>alert('Application submitted successfully!');
window.location.href='fundi_dashboard.php';</script>";
} else {
echo "<script>alert('Error applying for job. Try again.');</script>";
}

$stmt->close();
}

$conn->close();
?>

Post job short code

<?php
session_start();
if (!isset($_SESSION['user_id']) || $_SESSION['user_type'] !== 'client') {
die("Access denied! Only clients can post jobs.");
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Post a Job - fundihire</title>

61 | P a g e
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<nav>
<div class="logo">FundiHire</div>
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="post_job.php">Post a Job</a></li>
<li><a href="logout.php">Logout</a></li>
</ul>
</nav>
</header>

<section class="post-job-section">
<div class="container">
<h2>Post a Job</h2>
<form action="process_post_job.php" method="POST">
<label for="title">Job Title:</label>
<input type="text" id="title" name="title" required>

<label for="description">Job Description:</label>


<textarea id="description" name="description" required></textarea>

<label for="location">Location:</label>
<input type="text" id="location" name="location" required>

<label for="category">Category:</label>
<select id="category" name="category" required>
<option value="Plumbing">Plumbing</option>
<option value="Electrical">Electrical</option>

62 | P a g e
<option value="Carpentry">Carpentry</option>
<option value="Masonry">Masonry</option>
<option value="Painting">Painting</option>
</select>

<label for="budget">Budget (Ksh):</label>


<input type="number" id="budget" name="budget" required>

<label for="deadline">Deadline:</label>
<input type="date" id="deadline" name="deadline" required>

<button type="submit" class="btn">Post Job</button>


</form>
</div>
</section>

Payment short code

<div class="cards-container" id="plansContainer">


<div class="card">
<div class="card-header">
<h2 class="card-title">Basic Package</h2>
<div class="card-price">1,000 <span>KES</span></div>
<p class="card-description">Perfect for individuals getting started</p>
</div>
<ul class="features">

63 | P a g e
<li class="feature">Access to basic features</li>
<li class="feature">Connect with clients</li>
<li class="feature">Basic profile customization</li>
<li class="feature">Email support</li>
</ul>
<button class="select-btn" data-amount="1000">Select Plan</button>
</div>

<div class="card premium">


<div class="card-header">
<h2 class="card-title">Advanced Package</h2>
<div class="card-price">1,500 <span>KES</span></div>
<p class="card-description">For professionals seeking more opportunities</p>
</div>
<ul class="features">
<li class="feature">All Basic features</li>
<li class="feature">Priority listing in search</li>
<li class="feature">Advanced profile customization</li>
<li class="feature">Priority support</li>
<li class="feature">Performance analytics</li>
</ul>
<button class="select-btn" data-amount="1500">Select Plan</button>
</div>
</div>

<div class="payment-form" id="paymentForm">


<button class="back-btn" id="backBtn">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"
fill="currentColor" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1
0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z"/>

64 | P a g e
</svg>
Back to plans
</button>
<h2 class="form-title">Complete Your Payment</h2>
<form method="post">
<div class="form-group">
<label for="phone" class="form-label">Phone Number</label>
<input type="text" id="phone" name="phone" class="form-control"
placeholder="Enter phone number (e.g. 2547XXXXXXXX)" required>
</div>
<input type="hidden" id="amountInput" name="amount" value="<?php echo
$selectedAmount; ?>">
<button type="submit" class="submit-btn">Pay Now</button>

<?php if (!empty($message)) : ?>


<div class="message <?php echo $messageType; ?>">
<?php echo $message; ?>
</div>
<?php endif; ?>
</form>
</div>
</div>

Login short page

<?php
session_start();

// Database connection
$host = "localhost";

65 | P a g e
$user = "root";
$password = "";
$database = "fundihire";

$conn = new mysqli($host, $user, $password, $database);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$login_message = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
$email = mysqli_real_escape_string($conn, $_POST['email']);
$password = $_POST['password'];
$user_type = $_POST['user_type'];

// Check if users table exists


$checkTable = $conn->query("SHOW TABLES LIKE 'users'");
if ($checkTable->num_rows == 0) {
die("Error: The 'users' table does not exist. Please check your database setup.");
}

// Select user from users table


$stmt = $conn->prepare("SELECT id, email, password, user_type FROM users WHERE
email = ? AND user_type = ?");
$stmt->bind_param("ss", $email, $user_type);
$stmt->execute();
$result = $stmt->get_result();

66 | P a g e
Register short code

<?php
session_start();

// Database connection
$host = "localhost";
$user = "root";
$password = "";
$database = "fundihire";

$conn = new mysqli($host, $user, $password, $database);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$register_message = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $conn->real_escape_string($_POST['name']);
$email = $conn->real_escape_string($_POST['email']);
$phone = $conn->real_escape_string($_POST['phone']);
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
$user_type = $_POST['user_type'];

// Check if email already exists


$checkEmail = $conn->prepare("SELECT id FROM users WHERE email = ?");
$checkEmail->bind_param("s", $email);
$checkEmail->execute();

67 | P a g e
$checkEmail->store_result();

if ($checkEmail->num_rows > 0) {
$register_message = "Email already registered!";
$checkEmail->close();
} else {
$checkEmail->close();

if ($user_type == "fundi") {
$skills = $conn->real_escape_string($_POST['skills']);
$sql = "INSERT INTO users (name, email, phone, password, user_type, skills) VALUES
(?, ?, ?, ?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ssssss", $name, $email, $phone, $password, $user_type, $skills);
} else {
$sql = "INSERT INTO users (name, email, phone, password, user_type) VALUES
(?, ?, ?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("sssss", $name, $email, $phone, $password, $user_type);
}

if ($stmt->execute()) {
echo "<script>alert('Registration successful! Please login.');
window.location.href='login.php';</script>";
exit();
} else {
$register_message = "Error: " . $stmt->error;
}

$stmt->close();
}

68 | P a g e
69 | P a g e

You might also like