FlexiHire Final Report
FlexiHire Final Report
FlexiHire Final Report
Submitted by
Saugat Khadka (6-2-503-37-2020)
Praful Shrestha (6-2-149-05-2020)
Vedas College
Department of Computer Application
Jawalakhel, Lalitpur
Submitted to
Tribhuvan University
Faculty of Humanities and Social science
November 2024
VEDAS COLLEGE
Affiliated to Tribhuvan University
SUPERVISOR’S RECOMMENDATION
I hereby recommend that this project prepared under my supervision by Saugat Khadka
and Praful Shrestha entitled "FlexiHire (Jobseeker Website)" in partial fulfillment of
requirements for the degree of Bachelor in Computer Application, be processed for the
evaluation.
………………………
Mr. Harendra Raj Bist
Supervisor
Sr.Lecturer
Vedas College
VEDAS COLLEGE
Affiliated to Tribhuvan University
CERTIFICATE OF APPROVAL
This is to clarify that this project prepared by Saugat Khadka and Praful Shrestha entitled
"FLEXIHIRE (JOBSEEKER WEBSITE) in partial fulfillment of the requirements for the
degree of Bachelor in Computer Application has been well studied. In our opinion it is
satisfactory in the scope and quality as a project for the required degree. We found that
the students to be hardworking, skilled and ready to undertake any related work to their
field of study and hence we recommended the award of partial fulfillment of Bachelor's
degree of Computer Application.
ii
ACKNOWLEDGMENT
Without the kind support and assistance of many individuals and institute this project
would not have been success. We are very thankful and blessed to have got all this
support and guidance for the completion of the project. We would like to extend our
sincere gratitude to each and every one who have been directly and indirectly involved in
this project. Vedas College is an unmissable institution that deserve our huge gratitude.
We would like to thank to our project supervisor Mr. Harendra Bista who has always
guided us throughout the project. We are very thankful for his idea, experience,
information and knowledge for developing a functional web application. We would also
like to thank him for his encouragement and motivation for making this report standard as
per the university rule.
We are very thankful for the constant guidance and supervision also providing necessary
resources, information and friendly environment for the successful completion of the
project. The effort and dedication provided by the director Mr. Prashant Thakur is also
highly acknowledged, without his guidance the project would have been far from
completion.
All teaching staff and lecturers who helped us throughout the project, we would like to
thank them as well. All theirs help and support is highly appreciated. The is our fortune
that we got such supportive teaching staff and lecturers. They also deserve a huge credit
for the completion of the project.
Our thanks and gratitude are also for each and every one of our friends and colleagues for
their continuous support and motivation for the completion of the project. Team members
of FlexiHire,
Praful Shrestha
Saugat Khadka
iii
ABSTRACT
iv
Table of Content
SUPERVISOR’S RECOMMENDATION ............................................................................
i
ABSTRACT .......................................................................................................................
iv
v
1.6 Report Organization ...................................................................................................
4
6 Study of Existing
System ............................................................................................. 6
5.1.1 Tools
Used ......................................................................................................... 27
5.1.2 Back
End............................................................................................................ 28
vi
5.2.1 Test Cases for Unit Testing ................................................................................ 31
defined.
Appendices ........................................................................................................................
36
LIST OF ABBREVIATIONS
vii
LIST OF FIGURES
viii
LIST OF TABLES
ix
Chapter 1: Introduction
1.1 Introduction
Jobseeking websites are on-line platforms that connect businesses or individuals with
freelance workers who provide a variety of services, ranging from writing and design to
programming and marketing. These sites have become increasingly popular in recent
years due to the growing demand for remote work and the flexibility it provides. One of
the most well-known freelancing websites is.FlexiHire is a Jobseeking website that aims
to combine the functionalities of Upwork and. It provides a comprehensive platform for
freelancers and employers, merging job search and project management features with
professional networking capabilities.
The freelancing system encounters an issue of not having a unified and easy, to use
platform that effectively caters to the requirements of both freelancers and employers.
This system may have limitations when it comes to job search capabilities, project
management functionalities, professional networking features and mechanisms for
building trust. Freelancers often face challenges in finding job opportunities that align
with their skills and preferences. The existing system might have limited search
capabilities resulting in matching between freelancers and available projects.
Trustworthiness and reputation play a role in the freelancing industry; however, the
existing system may not have mechanisms to verify the abilities of freelancers or ensure
reliable performance. Freelancers and employers may struggle to evaluate each other’s
trustworthiness often relying on factors or external references.
In summary there is a gap in the freelancing system as it lacks a comprehensive and
userfriendly approach to address the challenges faced by both freelancers and employers.
An improved system is needed that offers job search functionality, project management
tools robust professional networking features, as well as reliable mechanisms, for
building trust and managing reputation.
1
1.3 Objectives
1.4.1 Scope
The website would include user registration functionality, allowing freelancers and
employers to create personalized profiles. Users can provide information about their
skills, experience, qualifications, and portfolio.
FlexiHire would enable employers to post job listings, specifying project requirements,
budgets, and timelines. Freelancers can search for relevant projects based on their skills,
location, and preferences.
FlexiHire would enable employers to post job listings, specifying project requirements,
budgets, and timelines. Freelancers can search for relevant projects based on their skills,
location, and preferences.
Freelancers would have the ability to submit proposals for job listings, including details
about their qualifications, experience, and proposed pricing. Employers can review
proposals and select the most suitable freelancers for their projects.
1.4.2 Limitations
Job portals often provide generic suggestions, failing to match a candidate's unique skills
and aspirations accurately.
With thouPR Managers applying to the same roles, it becomes challenging for candidates
to stand out on popular platforms.
Some websites fail to update their listings regularly, leading applicants to apply for roles
that are already filled.
Unsuspecting job seekers may encounter fraudulent postings or irrelevant opportunities,
wasting time and posing risks.
2
1.5 Development Methodology
The job-seeking platform enhances efficiency by offering a seamless process for reducing time
wastage in job searches. With a robust database management system, it ensures efficient tracking and
improves the job-matching process, benefiting users by providing convenience at their fingertips. The
platform positively impacts the local job market by increasing visibility for job listings and allowing
service providers like resume writers to maximize their revenue through minimal-cost registrations.
The report has been prepared following the guidelines provided by Tribhuvan University.
The report is separated into different chapters. Each chapter consists of various sub
chapters with its content. The preliminary section of the report consists of Title Page,
Acknowledgement, Abstract, Table of Contents, List of Abbreviations, List of Figures,
and List of Tables.
3
The main report is divided into 6 chapters, which include:
In chapter 1,Introduction includes the general overview of the system and the project as a
whole. It includes the Problem Statement, Objectives, Scope/Limitations and the
Development Methodology for the project and the system being developed.
In chapter 2,Background Study includes the study of the current scenario/environment the
system will be deployed into. It includes the study of the current trends, preferences of
people, the existing systems, areas of improvement among others.
In chapter 3,System Analysis includes the requirement and feasibility analysis of the
system that can be generated through the studies presented in the previous two chapters.
It will also include the Flowchart, ER and DFD for the system which specifies the
workflow, entities, attributes and their relationships.
In chapter 4, System Design includes the design of the database, forms and interface of
the system. It also includes the implementation details of the selected methodology and
the details of the algorithm used.
In chapter 5, Implementation and Testing includes the details of the different design and
development tools used and the implementation details of the modules presented in the
form of code snippets of functions, classes. It also includes the testing of the system with
different test cases as per the requirement.
4
Chapter 2: Background Study
2.1 Background Study
System requirements are a critical aspect of any software development project. These
requirements define the technical specifications of the system, including the hardware and
software requirements, functional requirements, and performance requirements. Here's a
report on the system requirements for the proposed freelancing website that combines
features of Linked-in and Freelancer with the existing system of Up-work:
1. Upwork
Upwork is one of the largest freelancing platforms that connects businesses with
freelancers. It offers a variety of services in various industries. Clients can hire
freelancers for almost any work project involving writing, design, programming,
marketing, etc.
[1] Features:
Global Talent Pool: Upwork provides access to a diverse range of skilled professionals
from around the globe, catering to varied business needs.
The platform protects clients and freelancers with secured transactions and escrow
payments.
Lacking Features:
Some may not have the high fees on all projects to service all freelancers and more. With
a high number of freelancers, it gets difficult to grab a job and get noticed, especially for a
newbie.
2. Linkedin
LinkedIn is a professional networking platform designed to connect individuals,
companies, and recruiters globally. It allows users to create detailed profiles showcasing
their work experience, skills, and education while career opportunities.
[2] Features:
5
LinkedIn enables users to connect with professionals, mentors, and industry leaders,
fostering collaboration and career growth.
By using LinkedIn, job seekers have higher chances of finding the right job opening with
personalized suggestions and notifications.
Lacking Features:
This network may expose career histories and activities, which raises potential privacy
and data protection issues.
Biases and incomplete data mean that algorithms can often result in poor matching betwe
en job candidates and positions.
6
Chapter 3: System Analysis
3.1 System Analysis
i. Functional Requirements
Availability
The platform would need to be available to users 24/7, with minimal downtime.
Response Time
7
The platform would need to have fast response times, ensuring that users can access and
interact with the platform without delays
Scalability
The platform would need to be scalable, able to handle a large number of concurrent users
without compromising performance.
Security
The platform would need to have robust security measures in place to protect user data
and prevent unauthorized access.
.
8
Figure 1 Use Case Diagram
9
expertise. The integration process would need to be seamless and without any disruptions
to the current system. However, the technical feasibility is high, given that Up-work has a
robust API that enables third-party integrations, and the required technologies are widely
available.
2.Operational
The platform's core functionality, such as job posting, proposal submission, and payment
processing, is already in place in the existing system of Up-work. The proposed features,
such as project management and professional networking, would require additional
resources, but the benefits of these features would significantly improve the platform's
usability and functionality.
Hence, the proposed system is operationally feasible.
3.Economic
The economic feasibility of the proposed system is high. The addition of new features and
improvements to the existing system would increase the platform's appeal and attract new
users. This would result in increased revenue from fees and commissions charged to
employers and freelancers, as well as from premium subscription plans. Hence, we can
conclude that the proposed system is economically feasible.
4.Schedule (Gantt Chart)
The project expands over a period of 75 days with Task being divided along with duration
in the time frame. In order for the system to be delivered in the specified time frame we
have to make sure deadlines are met and tasks are executed accordingly in the specified
duration period.
10
Figure : Gantt Chart
11
3.1.3 Analysis
• Flowchart
12
• ER Diagram
Figure 3 ER Diagram
13
DFD
The context level data flow diagram describes the whole system. The 0 Level DFD
describes all user modules who operate the system. The Below DFD of the system
(FlexiHire) shows the two users can operate the system, Client and Admin. Level 0
14
Level 1
15
Level 2
16
Chapter 4: System Design
4.1 Design
• Database Design
• Form Design
Forms are an important part of a system as they are used to get data from the users. The
different forms that will be required for the system include:
• In the customer side
Form for Login & Sign Up
Form for Updating profile/password information
Form for Adding/Updating of Billing/Shipping information
17
• In the admin side
Form for Login
Form for Updating password
Form for Adding/Updating
Jobs
Category
Sub Category
The forms will be created using different elements of the <form>…</form> tag as per
requirement and using JavaScript for the Validation purpose.
• Interface Design
UI/Interface is one of the most important parts of the system as it determines how easy it
is for a new user using the system to understand the different components listed and
navigate through them in order to achieve the intended goal of using the system. The
interface of our system will be presented according to the following representations:
18
19
Prototype 2
After finalizing the prototype for the basic UI of the system, an interactive prototype was
designed using Figma to get a clear idea of the different web pages that needed to be
developed within the system in order to achieve the intended goal. Some of the
screenshots for the prototype developed using Figma are as follows:
Figure 19 Prototype 2
The above prototype shows the different sections that were finalized during the first phase
of prototyping in a visually appealing manner. We can clearly see the different sections
and the components that are to be included within the section.
20
4.2 Algorithm Details
Collaborative filtering
Collaborative filtering (CF) is a technique used by recommender systems. Collaborative
filtering is the process of filtering for information or patterns using techniques involving
collaboration among multiple agents, viewpoints, data sources, etc. Application of
Collaborative filtering methods typically involves very large data sets. Collaborative
filtering has been applied to many different kinds of data including: sensing and
monitoring data, such as in mineral exploration, environment sensing; financial data; or in
electronic commerce and web application where the focus is on user data, etc. [9]
Source Code:
// Function to fetch recommendations
FUNCTION fetchRecommendations
// Check if a user is currently logged in
IF currentUser EXISTS THEN
// Get references to the user interactions collection in the database
SET interactionsRef TO collection('userInteractions')
21
// Fetch interactions from other users
SET similarUsersInteractions TO await getDocs(collection('userInteractions'))
SET recommendedPostIds TO new Set()
22
Chapter 5: Implementation and Testing
5.1 Implementation
23
The front-end tools we have used in making this web application are:
React makes it painless to create interactive UIs. React designs a simple view for each
state in our application and efficiently update and render just the right component when
our data changes. Using React we build bunch of isolated and reusable components and
they are combined together to build user interfaces. There are several components in our
application, among which the app.js is main component. This component represents the
entire application and contains other child components. To work with these many
components, react is the best option for us.
Material UI
Material UI is an open-source project that features React components that implements
Google’s Material Design. Material UI is a component library for teeming with powerful
components that we can use in our projects. We have used Material UI in our project as it
has more customizable option.We have implemented Material UI for creating eye
catching website with bold color.
5.1.2 Back End
Firebase
Firebase is a comprehensive cloud-based platform provided by [3] for building web and
mobile applications. It offers a variety of tools and services that simplify and accelerate
the development process. Firebase includes features like real-time database,
authentication, hosting, storage, cloud functions, and more. In your project, you are
already using Firebase for Firestore (a NoSQL database) and Firebase Authentication.
DotNet
.NET is an open-source framework by Microsoft for building web, mobile, desktop, and
cloud applications. It supports languages like C# and offers tools like ASP.NET (for web
apps), Entity Framework (for databases), and Blazor (for web UIs). In your project, .NET
likely handles backend tasks like API development and database interactions.
Postgresql
PostgreSQL is an open-source, powerful relational database management system known
for its robustness and extensibility. It supports SQL for querying and managing data,
along with advanced features like transactions, indexing, and support for JSON and XML
data types. PostgreSQL is highly suitable for complex queries, large datasets, and multi-
user environments, making it popular for web, mobile, and enterprise applications. In
24
your project, PostgreSQL likely handles tasks like data storage, retrieval, and complex
query operations, providing a reliable backend for managing structured data.
5.2 Testing
Test I
Action Admin credential was inserted, and
login was initiated
Test II
Action Incorrect credentials were inserted
for login
25
Objective To test the submission and management of job
proposals
Test I
Actual The proposal was saved, and the client could view
Result it in the proposal list
Test II
Test III
Test I
Action Search for jobs using specific
keywords (e.g., "web design")
26
Expected The list of jobs is filtered
Result according to the search keywords
Test I
Action Freelancer with relevant skills
logs into the system
Test III
Action
Different freelancers with
varying skill set log in
27
Expected
Each freelancer receives
Result
personalized job
recommendations based on their
skills
recommendations were
displayed for each freelanc
er
28
Chapter 6: Conclusion and Future Recommendations
6.1 Conclusion
To make a job-seeking website better, you should add features for easy and secure
payments, like Khalti,esewa., mobile wallets. Also, offer subscription plans and options
for multi-currency transactions. Use AI to match job seekers with jobs, screen resumes,
provide personalized job suggestions, and use chatbots for customer support. This way,
the website becomes efficient, user-friendly, and keeps up with job market trends.
29
References
30
Appendices
31
32
33
34