Final Year Project Enat College Department of Computer Scince Final

Download as pdf or txt
Download as pdf or txt
You are on page 1of 42

lOMoARcPSD|44755090

Final YEAR Project ENAT College Department OF Computer


Scince (Final)
Introduction to computer science (Addis Ababa University)

Scan to open on Studocu

Studocu is not sponsored or endorsed by any college or university


Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

ENAT COLLEGE DEPARTMENT OF COMPUTER SCIENCE


(FINAL YEAR PROJECT DOCUMENTATION)

TITLE: MAINTENANCE GIGS PROVIDER USING AN ANDROID


PLATFORM IN PARTIAL FULFILLMENT OF THE REQUIREMENTS
FOR THE DEGREE OF BACHELOR OF SCIENCE IN COMPUTER
SCIENCE.

i|Page
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

BY: - ENYEW WOLDESENBET


SOFIA HUSEN

DERESE MILLION

KELIL BERISO

TADELECH GETACHEW

Advisor: ENDASHAWU HAILE


Enat College
March 2023

ii | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Table of Contents

Declaration……………………………………………………………………………………………………..5

Acknowledgment…………………………………………………………………………………………….1

Abstract…………………………………………………………………………………………………………..2

Chapter one (1) : Introduction

1. Introduction ……………………………………………………………………………………………….3

1.2 Motivation………………………………………………………………………………………………..4

1.3 Proposed system…………………………………………………………………………………….…5

1.4 Objectives………………………………………………………………………………………………...6

1.4 Expected outcome …………………………………………………………………………….………8

Chapter Two (2) : Background

2.1 Introduction ……………………………………………………………………………….……………9

2.2 Related works ………………….…………………………………………………….………………10

2.3 Comparative studies ………………………………………………………….…………………..11

2.4 Scope of the problem …………………………………………………….………………………12

2.5 Challenges ………………………………………………………………….………………………….12

Chapter three (3) : Requirement of specification

3.1 Business process modeling ……………………………………..……………………………..14

3.2 Requirement collection & analysis………………………..…………………………………16

3.3 Use case modeling and description…………………….……………………………………17

3.4 Logical data modeling……………………………………………………………………………..20

3.5 Design requirements……………………………………………………………………………….22

Chapter four (4) : Design specification

iii | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

4.1 Front-end design ………………………………………………….…………………………………23

4.2 Back-end design ………………………………………………….…………………………………..24

4.3 Implementation requirements ………………………………………………………………..25

4.3.1 Implementation requirements on task …………………………………………………25

Chapter five (5) : Implementation and testing

5.1 Implementation of database …………………………….…………………………………….33

5.2 Implementation of front-end design ………………..……………………………………..33

5.3 Functional requirements …………………………………………………………………………33

Chapter six (6) : Conclusion and future scope

6.1 Discussion and conclusion……………………………………………………………………….34

6.2 Scope of further developments………………………………………………………………..34

Figure 3.0 Business process models……………………………………………………………….15

Figure 3.1 use-case modeling……..………………………………………………………………….19

Figure 3.2 logical data model…………………………………………………………………………21

Figure 3.3 ER diagram of the system………………………………………………………….....22

Figure 4.0 & 4.1 installing android studio………………………………………………………27

Figure 4.2 setting up android studio………………………………………………………………28

Figure 4.3 downloading components that help development………………………..29

Figure 4.4 the back-end firebase connection………………………………………………….30

Figure 4.5 splash screen……..………………………………………………………………………….31

Figure 4.6 login page………………………………………………………………………………………32

Figure 4.7 landing page………………………………………..………………………………………..33

5.0 development role…………………………………………………………………………………….36

iv | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

DECLARATION
I hereby declare that this project titled [Gig providing android app] submitted
to [Enat College] is a record of original and authentic work completed by me
under the supervision of [Endashawu Haile]. The project report has not been
submitted in part or in full for any other degree, diploma, or any other
professional qualification.
I affirm that all resources used during the research phase of this project, such
as books, journals, articles, and other sources, have been acknowledged and
properly cited in the bibliography section.
I further declare that this project is free from plagiarism and that any
information sourced from other publications has been appropriately
acknowledged with citations and references.
I take full responsibility for any errors or omissions that may have been made in
this project report.

Signed:
[Enyew Woldesenbet]
Place: Shashmene
Date: March 2023

Acknowledgment

v|Page
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

First and for most I would like to thank the almighty God.

After that i would like to express my deep gratitude to everyone who has made
this final year project a success most importantly my supervisor, ENDASHAWU
HAILE for his guidance, encouragement, and support throughout the duration
of this project. His valuable advice and feedback were essential in shaping my
ideas and approaches towards this work.

I also extend my heartfelt appreciation to my lecturers, and all other members


of the department who have played a significant role in imparting their
knowledge and expertise to me, without which this project would not have
been possible.

A special mention also goes to my family and friends who have provided me
with unwavering encouragement and support throughout my academic
journey. Thank you for believing in me, and for always being there to offer your
help and motivation to keep me going.

Finally, I would like to thank the participants of this study, whose willingness to
share their experiences and insights have been invaluable to my research.

It is an honor to have had the opportunity to conduct this project, and I am


grateful for all the support and guidance I have received along the way.

Thank you all.

[ENYEW WOLDESENBET]

vi | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Abstract
The intention of this project is developing an automated gigs providing
platform using an android system. The current mechanism for hiring gigs is
limited on manual work by asking neighbors and friends about a specific gig or
maintenance professional.

This has limitations on controlling the work quality and has high consumption
on resources according to the time it takes. Many countries are using different
technologies to support this system activity and have got successful results.

Automated gigs providing platform will make things easier on both sides the
users and service providers. This platform will also replace the manual
communication in to computerized system like the maintenance type, the work
location, the cost, and time.

The project is helpful for giving user specially service providers satisfying,
reliable, consistence, correct, complete, and timeless information about the
job/ users.

vii | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Chapter 1: Introduction
1.1 Introduction
As technology is about making things easier were here to make the daily base
maintenance job easier for both user and service provider

The gig economy has revolutionized the way people work, and the rise of gig
providing platforms has made it even easier for freelancers to find work.

With the growing number of companies and individuals looking for skilled
workers to complete their daily base maintenance, gig providing platforms
have become a popular way to connect freelancers with potential employers.

These platforms offer project owners the ability to outsource their work to a
pool of qualified freelancers and professionals, making it easier for them to
find the right person for their project. In this case, we decide to bring the
technology to the community and explore the benefits and challenges of gig
providing platforms for freelancers and businesses, and how they are changing
the face of the modern workforce.

viii | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

1.2 Motivation
The idea of this project cross my mind when I was in 1st year, It was a family
gathering for holidays and our stove (yenjera metad) went out of service for
some reason and we asked neighbors we called friends to find a maintenance
guy, and after couple of hours and a dozens of phone calls we found a
maintenance guy.

That was the trigger for this project I think about it there must be an easy way
to do this and I came up with an idea of a system to make maintenance easier
for both parties.

Besides this reason I’ve noticed unemployment rate is continuously growing.

ix | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

1.3 Proposed system


The Proposed solution is an Android Mobile Application, “tatri” which tries to
avoid the long search for a professional gig’s and make maintenance easier and
quick by avoiding the manual system that people use this days.

Why a Mobile Application?

A Mobile Application is a set of software which is designed and developed in


such a way that it can run on any mobile device, smart phone or tablet on the
go. tatari is an Android mobile application which runs on an Android platform
with Internet support. In this project, the tatari Android application helps
people avoid having to call different individuals for a specific job by:

(1) Allowing them to search for services around them,

(2) Confirm and assign a maintenance task for the providers,

(3) Locate the customer or job address, and

(4) Register legitimate gigs for the skills they have been trained for,

A request initiate from the user and the system send the request to the nearest
gig’s around that location after the request have been sent to gig’s the first one
who accepted the job will assign for that job in the meantime the system will
exchange some information between the user and the service provider like
phone number, location and some relevant information about each other’s.

x|Page
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

1.4 Objectives
Our objective in developing the gig provider Android app is to create a
comprehensive and user-friendly platform that connects gigs with customers in
a streamlined and efficient manner. The gig economy has been growing rapidly
in recent years, with more and more individuals taking on freelance or contract
work in various fields to supplement their income or build their careers.
However, the platforms currently available for gig providers often lack the
necessary features and functionality to make the process of finding and
securing work as smooth and effective as possible.

With this in mind, our primary goal is to create a mobile app that provides a
one-stop solution for gig providers, simplifying the process of finding and
securing work and ultimately helping them to build their careers and expand
their network of clients. The app will provide an interface that allows gig
providers to showcase their skills and experience, and list their services. These
features will enable providers to build an online presence that accurately
reflects their skills and experience, making them more visible to potential
clients and increasing their chances of securing work.

The gig provider Android app will also include a robust search and matching
system that will effectively match users with the appropriate providers based
on location, availability, and skill set. By leveraging a sophisticated algorithm,
the app will identify the most suitable providers for each job based on a range
of criteria, enabling customers to quickly and easily find the right person for
the job. Additionally, clients will be able to leave ratings and reviews of gig
providers, enhancing the transparency and accountability of the platform, and
enabling providers to build their reputations and attract more work.

Furthermore, we will try to integrate a seamless payment system into the app,
ensuring that transactions are processed quickly and securely. This will enable
providers to get paid promptly for their work, enhancing the trust and
reliability of the platform and reducing the risk of payment disputes or delays.
The app will also offer real-time communication features, enabling providers
and clients to stay in touch throughout the gig process and ensuring that any
issues or concerns can be addressed quickly and efficiently.

xi | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Ultimately, our aim is to make the gig economy more accessible and effective
for all parties involved, promoting entrepreneurship and innovation in today's
digital marketplace. By providing a comprehensive suite of features and
functionality, we believe that the gig provider Android app will help to level the
playing field for providers and enable them to build successful and sustainable
careers in the gig economy.

xii | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

1.5 Expected outcome


We anticipate that the gig provider Android app will have a significant impact
on the gig economy and the way gig providers work. By providing a
comprehensive and user-friendly interface that connects providers with
potential clients, we believe that the app will streamline the process of finding
and securing work, reduce the time and effort required to build an online
network of clients, and ultimately help providers to build successful and
sustainable careers in the gig economy.

One of the primary outcomes we expect from the app is increased visibility for
gig providers. By providing a platform that allows providers to showcase their
skills and experience, we anticipate that more providers will be able to connect
with potential clients and build their reputations as reliable and high-quality
providers. This increased visibility may lead to more work opportunities for gig
providers, and potentially to more sustainable and lucrative careers in the long
term.

Another expected outcome is increased efficiency and effectiveness in the gig


economy. By leveraging a sophisticated search and matching system, we
anticipate that the app will enable providers and clients to collaborate more
effectively and efficiently. This increased efficiency may result in quicker
turnaround times for jobs, faster payments for providers, and a more
streamlined gig economy overall.

We also expect that the gig provider Android app will have a positive impact on
entrepreneurship and innovation in the gig economy. By enabling providers to
showcase their skills and experience more effectively, build an online presence,
and connect with potential clients more easily, we hope to inspire more
individuals to take the leap and pursue gig work as a career path. This
increased entrepreneurship and innovation may lead to more creative
solutions, more diverse perspectives, and ultimately, a more dynamic and
robust gig economy.

Overall, we believe that the gig provider Android app has the potential to be a
game-changer in the gig economy. By providing a comprehensive and user-
friendly platform that connects providers with clients in a more efficient,

xiii | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

effective, and transparent manner, we anticipate that the app will have wide-
ranging benefits for gig providers, clients, and the gig economy as a whole.

Chapter 2: background of the study


2.1 Introduction
The gig economy has grown significantly in recent years, particularly in the
wake of the COVID-19 pandemic, where traditional employment opportunities
have been significantly impacted due to lock downs and social distancing
measures. The gig economy is characterized by independent workers providing
freelance or contract services to individuals or businesses via online platforms.
With the rise of the gig economy, there has been a growing demand for
platforms and tools that enable gig providers to more easily connect with
potential clients showcase their skills and experience, and securely process
payments.

However, the platforms currently available in the market often lack key features
and functionality, particularly for gig providers. Many platforms focus primarily
on connecting clients with providers, without providing a robust set of tools for
providers to build their online reputation, showcase their work, and effectively
compete with other providers in the marketplace. As a result, gig providers
often struggle to stand out from the competition, build their network, and
secure new projects on a consistent basis.

Furthermore, many of the existing platforms face challenges with fraudulent


and low-quality providers, resulting in a lack of trust among users and a
reduction in the quality of services provided. Payment processing is also often
problematic, with many platforms taking a large percentage of the earnings of
providers and delayed or unreliable processing of payments.

To address these challenges, we are developing the gig provider Android app,
which aims to provide a comprehensive and user-friendly platform that
empowers gig providers with the tools they need to more effectively compete
and excel in the gig economy. By integrating a range of features, such as a
robust search and matching system and real-time communication capabilities,

xiv | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

we hope to make the gig economy more accessible and effective for gig
providers, while simultaneously delivering high-quality services to clients.

In summary, the gig provider Android app project is a response to the growing
challenges and opportunities in the gig economy, and our aim is to deliver a
platform that enhances the user experience for providers and clients alike,
while also contributing to the healthy growth of this dynamic and increasingly
important sector of the economy.

2.2 Related Works


We’ve been trying to look for existing system before we decide to start this
project and we’ve seen a lot of limitations on the existing systems.

Existing systems in the gig economy provide a range of services for both clients
and gig providers. Platforms such as Gobez tm, GudayOn tm are the most
popular examples of gig platforms that connect clients with gig providers.
These platforms typically provide a range of services, such as connecting users,
being a broker all of which aim to make the process of finding and securing
work more streamlined and efficient.

While these platforms have been successful in connecting clients and


providers, they often suffer from a number of shortcomings. For one, many
platforms are overcrowded with gig providers, making it difficult for new
providers to stand out and find work. Furthermore, many of these platforms
lack the necessary features and functionality that providers need to build their
online reputation, location based providing, and effectively markets their
services to potential clients. This results in a high level of competition and can
discourage providers from pursuing gig work as a viable career path.

Additionally, payment processing can be problematic in existing systems, with


some platforms taking a large percentage of providers’ earnings and requiring
lengthy delays in processing payments. This can create financial difficulties for
providers and result in reduced trust between platforms, clients and providers.
On the client side, low-quality or fraudulent providers can easily infiltrate these

xv | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

platforms, leading to inaccurate or misleading information for clients and


ultimately, lower quality of services.

Overall, existing systems have made significant strides in providing a


foundation for the gig economy. However, there remain significant
shortcomings that the gig provider Android app project aims to address. By
integrating a comprehensive set of features aimed specifically at the provider
experience, such as features that help foster provider-client trust, provides
more visibility and control over jobs and better manages the platform for
quality control, the gig provider Android app hopes to stand out as a new
system in the gig economy that is more responsive to the needs of gig
providers and more effective in connecting them with clients.

2.3 Comparative studies


In conducting a comparative study of other similar gig provider mobile
applications, it is clear that the gig provider Android app project is unique in its
comprehensive focus on the client experience. While existing systems such as
Gobez tm & GudayOn tm have made significant strides in connecting clients with
gig providers, these platforms often neglect to provide the necessary tools and
features that providers require to compete more effectively in the marketplace.
By providing a platform that empowers providers to showcase their skills and
experience, build their online reputation, and connect more effectively with
potential clients, the gig provider Android app project aims to meet this need.

Moreover, compared to traditional platforms, the gig provider Android app


project aims to deliver a superior search and matchmaking system that will
provide more accurate and relevant matches for both providers and clients. By
leveraging sophisticated algorithms, the app will deliver a more streamlined,
transparent and efficient experience for both sides of the transaction. In
contrast, existing systems may face challenges with the accuracy and relevance
of their search and matching systems, which can lead to providers wasting time
on non-relevant jobs or clients having difficulty finding the right services.

In conclusion, the gig provider Android app project aims to differentiate itself
from other gig platforms by delivering a more comprehensive, feature-rich
solution that is designed with the unique needs of gig providers in mind. By

xvi | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

providing a superior search and matching system, real-time communication


features, automated notifications and reminders, and a ratings and reviews
system, the app promises to increase visibility, reliability, and trust in the gig
economy for both providers and clients. With increasing demand for gig work,
the gig provider Android app project hopes to improve the well-being and
career prospects of gig providers while enhancing the overall effectiveness of
the gig economy.

2.4 Scope of the problem


The aim of this project is to develop an android app that connects freelancers
with clients looking for short-term, contract-based work. The app will allow
clients to request gig’s, and find the best candidate based on their skills and
rate on time and with high quality, in this case our objectives are:
 To create a user-friendly interface that allows clients and freelancers to
easily find gigs.
 To enable secure and efficient communication between clients and
freelancers.
 To provide tools for clients and freelancers to manage and exchange
relevant information related to their job.
 To integrate a rating and feedback system that allows clients and
freelancers to rate each other and build their reputations within the app.

2.5 Challenges
 Ensuring App Security: Protecting user's data and ensuring the security
of the app is very crucial. The app must use secure protocols and
effective encryption mechanisms to ensure users’ sensitive data is not
exposed to malicious actors.
 Matchmaking between client and freelancer: Creating an algorithm that
successfully matches freelancer qualifications with the client's
requirements is a challenge. The app should be able to recommend the

xvii | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

best-fit freelancers for the job, based on various factors like skills,
experiences, and rates.
 Maintaining Balance Between Quality and Speed: Some clients may
require work to be done urgently, while others may place more emphasis
on the quality of the work. Ensuring that the app can accommodate
different requirements while maintaining the overall user experience
could also be a challenge.
 App Store Approval: App Store policies are constantly updated and
developers must meet various requirements to publish their app on app
stores. Ensuring the app meets all guidelines and regulations can be a
challenge, and can sometimes result in delays in launching the app.
 These are just some of the challenges that could be faced during the
development of a gig providing android app.

xviii | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Chapter 3: Requirement of specification


3.1 Business process modeling
Gig requesting process
 The gig requester logs into the application and navigates to the gig
feature.
 They search out the gig job details such as description & category.
 The app saves the gig details to a database and notifies relevant
providers of the job.
Gig Searching Process:
 The gig requester logs into the application and navigates to the gig
searching feature
 They can search for gigs using filters such as type and category
 The app returns a list of matching gigs based on the filters and the
provider can review gig details and submit a proposal
Gig Booking Process:
 The app sends a booking confirmation to both the gig poster and
provider, including the gig details, date, time and category.
 The app exchanges different relevant information between the two
parties about the job.

xix | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Figure 3.0 business process models

xx | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

3.2 Requirement collection & analysis


Business Objectives
 The app should connect gig requester and gig providers quickly and
easily.
 The app should be user-friendly and intuitive to use.
 The app should provide a secure and reliable payment system.
 The app should allow users to rate and review each other for feedback.
 The app should offer relevant search filters and gig suggestions based on
user preferences.
Functional Requirements
 Users should be able to log in or sign up for an account in the app.
 Gig requesters should be able to requesters gig details including gig
description, date, location, pay rate and category.
 Gig requesters should be able to search for relevant gigs based on
location, availability, category and other filters.
 Gigs should be able to accept and book jobs based on suitability.
 Users should be able to rate and review each other based on gig
performance.
 The app should provide relevant suggestions for gigs and providers based
on user preferences.
Non-Functional Requirements
 The app should have a fast response time and minimal latency.
 The app should be available on multiple Android devices and operating
systems.
Systems Requirements
 The app should be compatible with Android version 6.0 and above.
 The app should require a minimum of 50 MB of storage on the Android
device.

xxi | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

 The app should require a stable internet connection for real-time


updates and transactions.
 The app should have security features such OTP on login to protect user
data.

3.3 Use case modeling and description


Use Case: request for a gig
Actors:

 User

Pre-Conditions:

 User is logged into the app.

Description:

 User navigates to the Gig feature in the app.


 User select gig with the type of job they want.
 User submits the job to the system.
 The system saves the gig request details and sends notifications to
relevant gig providers.
 The system sends a confirmation message to the user that a gig has been
assigned for him.

Use Case: Search for a Gig


Actors:

 User

Pre-Conditions:

 User is logged into the app.

Description:

 User navigates to the Search for a Gig feature in the app.


 User enters the job title.

xxii | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

 The system searches the database for gigs matching the criteria.
 The system displays a list of matching gigs sorted by relevance.
 The User clicks on a gig to view more details.
 The system displays the gig details, including the description, pay rate,
and reviews.
 The User submits a request for the gig for the job.
 The system sends the request to the Gig.

Use Case: Accepting job


Actors:

 Provider

Pre-Conditions:

 User is logged into the app.


 User has received confirmation from the system about the job.

Description:

 Provider navigates to the requests by the user in the app.


 Provider accepts jobs requested by User.
 Provider decline jobs requested by User.
 System selects the most relevant job for the provider.
 The system sends an acceptance confirmation message to the user with
provider details.
 The system places the provider status on job.

xxiii | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Figure 3.1 Use case modeling

xxiv | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

3.4 Logical data model


Users

 UserID
 Username
 Location
 Phone Number

Gigs

 GigID
 Title
 Description
 Start Date/Time
 Category
 Location
 Status (Open/Closed)

Job

 JobID
 GigID
 UserID
 Status (Accepted/Rejected)

Reviews

 ReviewID
 GigID
 UserID
 JobID
 Rating

In this model, we have a User entity that stores the basic information of the
users, such as their usernames, passwords, phone numbers, and user types.
User types can be either Gig or Client.

xxv | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

The Gigs entity stores details about each gig. It includes the gig's ID, title,
description, start date/time, category, location, and status. The status would
indicate whether a gig is open or closed.

The request entity stores the information about the request submitted by the
users for a gig. It includes the request ID, the gig's ID for which the request was
submitted, the provider’s ID and the status of the request.

Finally, the Reviews entity stores the ratings that users and providers give each
other after completing a job. It includes the review's ID, the job ID, the gig
provider's ID and the rating.

This sample logical data model for an Android gig providing application project
can be modified or expanded based on the specific requirements of the project
in future.

Figure 3.2 logical data model

xxvi | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Figure 3.3 ER diagram of the system

xxvii | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Figure 3.3.1 sequence diagram

3.5 Design requirements


The app is going to be built using Java and Kotlin programming language as it’s
the official language for developing android front end.

The app should use Firebase authentication service for user authentication.

Java/ Kotlin: Kotlin has Interoperability with Java: Kotlin can be


used along with Java seamlessly as it runs on the JVM. Developers
can leverage its powerful features without having to rewrite their
entire app codebase.

XML: we used to define the layout and appearance of the user


interface in our app. we define views such as buttons, text fields,
and lists, and arrange them in a way that suits our display
requirements.

Fire base: Fire base has different tools like authentication, real
time database and storage.

xxviii | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Chapter 4: Design specification


4.1 Front-end design
 User Interface: The user interface should be designed to be simple,
intuitive, and easy to use. The app should feature high-quality graphics
and typography, and should incorporate color schemes that are visually
appealing without being overwhelming.
 Navigation: A clear navigation structure should be employed, allowing
users to quickly and easily access all key features of the app. A menu
should be placed at the bottom of the app screen, to provide quick
access to the most important features of the app.
 Page Layout: The layout of individual app pages should be consistent,
incorporating a clear hierarchy of information, with headings,
subheadings, and body text. In addition, the pages should be designed to
be easily navigable, with clear call-to-action buttons, and prominent
placement of key information.
 Typography: The app should feature high-quality typography, with clear,
legible fonts that are easy to read. The text should be large enough to
read comfortably on a mobile device, without requiring users to zoom in.
 Color Scheme: A visually appealing color scheme should be used, with
bold colors that are easy to distinguish. Strong contrast should be used
to ensure that key information stands out.
 Iconography: Icons should be used throughout the app to help users
easily identify features and functions. The icons should be consistent in
style and should be designed to be easily recognizable, even at small
sizes.
 Responsive Design: The app should be fully responsive, providing an
optimal viewing experience on different screen sizes and orientations.
The design should be flexible and adaptable, ensuring that the app looks
and functions consistently across different devices.

xxix | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

4.2 Back-end design


 Framework: The back-end of the application should be designed using a
suitable framework that meets the requirements of the project. The
framework should provide features such as database management,
security, and scalability.
 Database Management: A database system should be implemented to
store data for the application, such as user profiles, transaction history,
and different information. The database should be designed to be
efficient, scalable, and secure.
 APIs: The back-end design should include various APIs that are critical to
the functionality of the app. APIs such as payment gateways, location
and mapping services, messaging services, and authentication should be
integrated into the system.
 Server Architecture: The back-end design should implement an efficient
and scalable server architecture. The server setup should ensure that the
application is always available, and that it can handle large numbers of
requests without downtime.
 Security: The back-end design should implement industry-standard
security measures to protect user data and the system itself. This
includes measures such as encryption, secure network communications,
data backup and recovery, and access control.
 Scalability: The back-end design should be designed with scalability in
mind, to ensure that it can handle an increasing number of users and
transactions. This means that the system should have the capability to
effortlessly handle a growing user base without breaking down.
 Testing: The back-end design should undergo extensive testing to ensure
that all functionalities work as intended. The testing should include
functionality, security, scalability, and performance tests to ensure that
the system runs as required.
 Documentation: Finally, comprehensive documentation should be
provided for the back-end design. This documentation should provide a
detailed description of the design, its features, and its various

xxx | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

components. Such documentation aids in support and maintenance of


the system.

4.3 Implementation requirement


 To design need to implement in android programing language kotlin and
java is mandatory.
 Android firebase for storage
 Android firebase for authentication
 An XML language to design the user interface

4.3.1 Implementation requirement on tasks


 User Registration: A registration system that allows users to sign up for
an account, verify their email or phone number, and create a profile
 Search Functionality: Allow users to quickly search through a list of
available gigs based on keywords, location, category, or other tailored
filters
 Gig Listing: A listing system that allows gig providers to create new gigs,
specify requirements such as location, price, availability, and job details.
 Geo-Location: Implement geo-location tools, allowing users to find gigs
nearby or in a specific location.
 Feedback System: A feedback system that allows users to rate and
review each other after a gig is completed.
 Customer Support: Provide ways for users to get in touch with customer
support by incorporating a live chat messenger, phone, or email.
 Analytics: A comprehensive analytics dashboard that tracks key
performance indicators such as user engagement, the success of the
system's suggestion engine, and revenue generated via booking
commissions.

Installing android studio

An android studio is the official development tool provided by Google Inc. to


develop and test an android app.

xxxi | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

We installed the new stable version of android studio (Electric Eel 2022.1.1)
on our machine.

Figure 4.0 installing android studio

Figure 4.1 installing android studio

xxxii | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Figure 4.2 setting up android studio

xxxiii | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Figure 4.3 downloading components that help the development

xxxiv | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Figure 4.4 the back-end firebase connection with the app

xxxv | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Figuer 4.5 splash screen of the app

xxxvi | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Figuer 4.6 Login page

xxxvii | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Figuer 4.7 landing page/dashboard of the app

xxxviii | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Chapter 5: Implementation and testing


5.1 implementation of database
We use an android firebase database for our project as it’s the default and
recommended system for android app development.

Google Firebase is a Google-backed application development software that en-


ables developers to develop iOS, Android and Web apps. Firebase provides
tools for tracking analytics, reporting and fixing app crashes, creating marketing
and product experiment.

Firebase offers a number of services, including: Analytics, Authentication,


Cloud messaging, Realtime database,

5.2 implementation of front-end design


We use XML as our layout design language for creating different buttons, text
fields, image display boxes, lists and forms.
To make the layout dynamic and add some animation to make the app alive we
use java and kotlin besides the XML to control the behavior of the layout and
connect to the back-end.
Factors for implementing front end design
 There will be two types of users
 The two users have different ways of registering
 The customers can sign-up using phone number using OTP
authentication
 There is no other kind of login in the app to fulfill the security protocol

5.3 functional requirements


 User will be able to ask for a specific gig
 Gig will be able to choose between accept and decline the job
 Gig must register by admin

xxxix | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

Chapter 6: Conclusion and future scope


6.1 Discussion and conclusion
At the end of this project I believe we will have a great experience on
developing mobile apps especially android apps besides that we going to
have a great experience on team work and software project design
implementation.

6.2 Scope of future developments


 System features will be improved according to the user experience
 We’re going to add a lot of features that helps to a better connection
between the user and the gig
 We’re going add an additional feature for freelance job posting in
future updates.

6.3 development life cycle


Task Time line
Requirement 2
collection & weeks
analysis
Roadmap 1 week
System Design 3 weeks
UI design 2
weeks
Front end 8
design weeks
Back end design 12 weeks
Tune and bug 2
fixation weeks
Implementation 2
weeks
Testing 2

xl | P a g e
Downloaded by Tesfaye Kifle ([email protected])
lOMoARcPSD|44755090

weeks

6.4 development roles


Role is a responsibility for developers for better time and skill use, its effective
for software project development.

Figuer 5.0 Development role

xli | P a g e
Downloaded by Tesfaye Kifle ([email protected])

You might also like