© MMH
American International University-Bangladesh (AIUB)
Department of Computer Science
Faculty of Science &Technology (FST)
Spring 22_23
CSC 2210 Object Oriented Analysis and Design (OOAD)
TARF (A global marketplace for freelancing services)
An Object-Oriented Analysis and Design (OOAD) project submitted
By
Semester: Spring_2022_2023 Section: A Group Number: 7
SN Student Name Student ID Contribution Individual
(%) Marks
20 FAISHAL UDDIN HIMEL 22-46996-1 25
21 MD. TAHSIN HASIB 22-46026-1 25
28 RIFAT ARA BRISTY 22-46710-1 25
38 ANINDYA CHAKRABORTY 22-47321-1 25
The project will be Evaluated for the following Course Outcomes
CO2: Design a Complex engineering problem using UML Tools and explain the Marks (20)
system using a project report and presentation
Project Content Knowledge (e.g., project background, solution) [5Marks]
Use case Diagram, Class Diagram (Narrative of the Scenario, [5Marks]
Completeness, Correctness, and Diagram Standard)
Sequence Diagram, Activity Diagram (Narrative of the Scenario, [5Marks]
Completeness, Correctness, and Diagram Standard)
Use of UML tool, Report Organization, Submission, and [5Marks]
Presentation Delivery
© MMH
PROBLEM DOMAIN
Project Background Analysis
Due to the growing acceptance of remote work and the gig economy, there are more freelancers in
the world. However, finding their ideal project can be challenging for freelancers. Similar to this,
clients frequently struggle to find a trustworthy and qualified individual for their work. Due to the
lack of a trustworthy platform, there is a mismatch between the two parties as a result.
To solve this mismatch problem, we developed TARF (a global marketplace for freelancing
services), a platform for freelancers and clients to effectively connect. TARF offers a user-friendly
interface for efficient communication, debating project details, and negotiating payment
arrangements. The software's administrator is always on hand to monitor user behavior and
guarantee strict security.
Root cause of the problem
The root cause of the problem is the lack of a centralized platform that connects both freelancers
and clients. There are several current freelance websites, but because of their complex user
interfaces, users frequently find them difficult to navigate. As a result, using it is quite difficult
for clients and independent contractors. Additionally, some online platforms offer a low level of
trust, which is unsatisfactory for productive collaboration.
Project Solution and Feasibility Analysis
The main goal of TARF is to offer a user-friendly and effective platform that makes it easier for
freelancers to find clients and clients to hire them. It provides advantages such as shorter search
times for the freelancers to find jobs, clients to find reliable workers, safe negotiation of payment
between two parties, access to a large talent pool and a user-friendly interface. By achieving these
objectives, TARF aims to create a platform that benefits both freelancers and clients. There are
several software programs already on the market that are designed to make the process of
connecting clients and freelancers more efficiently. Some of the most popular ones include Fiverr,
Upwork, Freelancer.com, Guru, Toptal etc.
The TARF project was created with a view to improving the efficiency and usability of the
freelancing process for both clients and freelancers. Even though there are other platforms in the
market which provide similar features, TARF is slightly different in few ways. It has a user-
friendly interface, which has been designed to be simple and intuitive. It has user-friendly
navigation features that make it easier for clients and freelancers to connect and find suitable work,
saving time and effort. Furthermore, TARF also places high priority on its user’s security,
protecting users from scam activities and ensuring a safe and secure experience. This freelancing
© MMH
software also matches clients with the most suitable freelancers based on their preferences and
requirements.
Overall, TARF offers a unique and innovative approach to freelancing by combining features such
as user-friendly design, automation, enhanced security, and personalized matching. TARF is
unique in its features and is intended to improve the experience for clients and freelancers, despite
certain parallels with other projects on the market.
UML DIAGRAM
Use Case Diagram
In TARF (a freelancing services application) Freelancers need to login to the system for setting up
their profiles and display the skills they’re specialized in. They can also search for various kinds
of job and decide whether to work full or part-time. Clients are also users of the system who log
into the system for making a project, posting various kinds of jobs detail. Clients can also look for
freelancers and hire them for their work. Freelancers can bid on a project advertised by clients and
clients may accept or reject bids. Freelancers and clients can chat about jobs or progress in their
communications with one another. Depending on their performance, clients can provide feedback
to their workers. Clients can pay freelancers and they can receive through DBBL, Credit, or PayPal.
Both individuals must log in to the software to use it. They can also sign up if they don’t have any
existing account and can reset their password if they forget. The software's administrator is
responsible for overseeing system security, managing payments and projects. Additionally, they
may also manage user sign-ups and password resets as needed.
© MMH
© MMH
Class Diagram
The users of the system are freelancers, clients, and admin. Freelancers possess one or more skills.
One or more freelancers may be engaged by one or more clients to complete their task, and vice
versa. One or more clients may develop one or more projects. Projects are up to bids from
freelancers. One or more freelancers may place a single or many bids. With one-to-many projects,
no or more bids may be submitted. Clients pay independent freelancers once the work is completed.
Each freelancer has the potential to earn payment from one or more clients, as well as several
payments. Also, clients have the option to evaluate the work of their freelancers. A client has the
option of leaving one review for the freelancer or several. The system administrator has access to
one or more project data sets, one or more user data sets, and the resolution of multiple payment
difficulties.
© MMH
© MMH
Sequence Diagram
The amount and date are posted on the platform by the client to start a new project. Freelancers
are notified about the project by the platform. Reviewing the specifics, freelancers place a bid for
the project. The platform takes freelancers' bids and sends them on to the client. On the platform,
the client chooses the freelancers. The platform notifies the selected independent freelancers, and
they may choose to accept or reject the offer. If a freelancer accepts the offer, the platform then
provides him/her the project details. After finishing the task, the freelancer sends the finished
product to the client via the platform. Clients review the work and can either approve it or ask for
changes. If clients request changes or resubmission, the platform then notifies the freelancer. The
work is resubmitted by the freelancer to the platform, which then sends it on to the client. The
platform subsequently generates a payment detail for the freelancers if the client does not request
any revisions or reworks. The client is then provided with the payment information. The platform
asks clients to submit feedback after they have paid the platform. Following feedback, the platform
sends the freelancer cash and feedback. If the freelancer doesn’t accept a project offer the deny
request is notified to the client and the system automatically contacts the next chosen freelancer at
the same time.
© MMH
© MMH
Activity Diagram
An online login is required for work in TARF (A global marketplace for freelance services).
Access is granted after the system validates users' credentials. The system prompts the user to
attempt login again if the user's credentials don't match. After successfully login in freelancers
search for projects. Based on the user's search criteria, the system presents a list of available
projects. The freelancer chooses a particular project from the list, then submits a bid request. The
system notifies the user and offers details for completing the project if the client accepts the
freelancers' bid. If the client rejects the bid, the freelancer is contacted and urged to revise their
bids. After finishing the project freelancers may then request revisions. The freelancer makes the
necessary changes to their previously submitted project and submits it again if the client requests
changes to the project. If the client doesn’t want to make any changes, then the system produces
payment information for the freelancer. The client then pays them and simultaneously evaluates
their job. The freelancer then receives the payment. The freelancer logs out of the system following
that.