My Documentation
My Documentation
Supervised By
Submitted By
This is to certify that Maryam Shahzadi & Maneeba Mehmood bearing registration
numbers 2020-GCUF-058363 and 2020-GCUF-069307 has completed the final project
titled as “Build Pro App” At the department of computer science, Govt. Islamia graduate
College Faisalabad to fulfill the partial requirement for the degree of BSCS.
Supervisor
Internal Panel
Head of Department
Signature:____________
We hereby declare that this project and contents of the project are the product of our own
work and is not done by any other person.
We further declare that this work has not been submitted for award of any other degree.
The institution may take action if the provided information is found inaccurate at any
stage.
We are thankful to ALLAH and our respected teacher because my teachers efforts are so
important for us. We were not able to perfume this task and we cannot complete this
project without their hard work. Thank to our family and our teacher for their trust and
support.
My special and heartly thanks to supervisor Sir Umar Bashir, who encouraged and
directed us. His challenges brought this work towards a completion. It’s because of him
we achieved this task and this project came into existence.
ABSTRACT
People face many problems to find expert plumbers, technician, electrician and builders to
fulfill their requirements. In this app they easily find expertise for their work. They can
also make an account in this app to find different expertise in their daily life.
In this app expertise (plumber, technician, electrician and builders etc) can also make an
account to find customers. In this way they easily run their work and earn better.
.
Table of Contents
CHAPTER NO 1: INTRODUCTION................................................................................1
1.5 Feasibility..................................................................................................................3
3.2.1 Performance.....................................................................................................12
3.2.2 Safety................................................................................................................12
3.2.3 Security............................................................................................................13
3.2.5 Portability.........................................................................................................13
3.2.8 Usability...........................................................................................................13
3.2.9 Maintainability.................................................................................................13
3.2.10 Reusability......................................................................................................13
3.2.11 Efficiency.......................................................................................................13
Storage: 1GB.............................................................................................................14
4.1.1 Registration......................................................................................................16
4.2 Login...................................................................................................................18
4 Upload jobs............................................................................................................22
10 Logout..................................................................................................................28
5.2.1 Registration......................................................................................................34
5.2.2 Login................................................................................................................35
7.1.1 Admin..................................................................................................................47
7.1.2 Professionals.......................................................................................................47
7.1.3 Clients.................................................................................................................47
8.1 Overview....................................................................................................................47
1
1.1 Introduction to Project
In our daily life we all look for job that is very difficult in this Era. Many expertise are
jobless just because no one knows about their talent. On other side in our daily life
sometime we need expert workers to fulfill our need, but it’s very difficult to found good
workers on time. To solve this problem, we built this app where both worker or customer
can ease their problems. where finders can be directly linked to customer using mobile
app.
In this period of mobile phones, devices and technology, everyone carries objects
such as laptops, phones etc. which are of great value and also due to this mobility, are
very inclined to lose such objects. In this regard, we will develop a mobile application
that will help the users to solve their own problems with the help of their mobile. This
mobile application will enable the end user to describe the details about his expert join
and about his need also this application will provide two main screens, Worker &
Customer screens. Worker screen is for user who is look for job and the Customer screen
is for user who look for expertise to fulfill his need from anywhere. Our app will provide
the functionality to allow both the parties to communicate with each other.
This focuses on core features to launch the app quickly and validate the concept:
• User Profile
• Job Board
2
• To get notified of customers need
When user will run the app the first interface that will appear on the screen is the login
screen. The user will login in to app if having correct email and password and if it not has
an account then it will move to the signup screen and create an account. After creating
account, the user will see the user profile screen and the user will provide the basic
details. After the user profile screen, the user can upload about his expert job and his
need. User can see own job and those jobs which are uploaded by other users. Every user
can see those jobs and customer needs which are added by user himself.
Our project is very useful for all types of people who want to find jobs. The scope of our
mobile application is
• This app will help to find jobs, and good workers according to need.
1.5 Feasibility
The feasibility of this project is to check and verify by all resources and it can develop and
used by all people. Feasibility studies also help project managers and stakeholders:
3
• Enhance project success by analyzing data from multiple sources
My project is completely feasible within the limits of current technology. Now a days,
technology is used in almost every android handset. Both software and hardware are
required for this application, and it integrates with a firebase database so there won’t be
any technical issues regarding to feasibility. Following are the technical elements of our
project:
• XML
• Java
• Firebase database
The project is feasible by the cost and we don’t need more money on this project to
develop it. This project is one-time paid cost project and we don’t need to waste more
money on its maintenance.
The project while based on the modern and advanced terminologies, it will provide
feasibility, reliability and will be consistent.
4
1.5.5 Motivational Feasibility
Our product will be self-explanatory nature and the end user would not require intensive
training session or learning material for using our mobile app. The end user will have no
confusion about whatever he/she wants to do. The graphical user interface (GUI) of
product will be so attractive and user friendly that it will motivate the end user about use
of our mobile app so that user will have a feeling of ease and contentedness while
interacting with our mobile application.
This project supports legally and ethically to the entire application user. We provide our
disclaimer and or policy to user. We have specific legal rights and user may also have
other legal rights that vary from state to state. In our project there is no ethical issue as it
has no copied material and any copyright violation content.
Risk management is done by making a risk management strategy all the deliverables are
delivered on time and done in limits constraints so that the project may not over runs time
and budget. Complexity is managed by providing easy and simple interface to the user.
• Verification risks.
• Validation Risks.
So, we handle risks through proper strategy management and scenarios. Main strong this
is project work and deployment timelines. It is the best suited option for the better
management of the product. In house command and control system also help us to
understand and control the working tasks and implementation done by the team. Handel
5
the time and their values is more critical option all the time. We manage it through our
team work and management.
A project plan, also known as the project management plan, is the document that
describes how the project will be executed, monitored, controlled, and closed. Project
Planning involves following steps which are required for the development of the project.
• Define deliverables
The entire project consists of only one module which is user panel. Some of the features of
the user panel are listed below
• Login
• Signup
• User Profile
• Upload jobs
6
• Logout
7
CHAPTER NO 2: BACKGROUND AND PROBLEM
DEFINITION
In literature, different scientist has done the work on proposed project as given in the
following diagram.
8
Figure 2.1 Literature Review
In old time technology was not common therefore to find a job was very difficult due to
manual method. Technologies often has an important role to play and are the key to
9
success in competing with the world. Now a days with the advancement in technology
mobile phone ease our life. Thus, the working approach of the people has changed a lot.
Now a day’s time and money matter a lot. So, we need to fully automate our exiting
manual system, and thus comes the concept of computerization. Our mobile application is
one of them. By using our proposed our application people can save their time and effort
because there is no need to give advertisement in the newspapers and tv channels. People
can easily provide details of their lost items in our app using mobiles phones without
going anywhere.
Different areas of study of computer sciences are involved in the development of this
project.
• Software Engineering
• Programming
• Database
This focuses on core features to launch the app quickly and validate the concept:
• User Profile
• Job Board
10
2.5 Objectives of the Project
11
CHAPTER NO 3: SYSTEM REQUIREMNT ANALYSIS
12
3.1 System Functional Requirements
• If the user has valid email and password then the user will be logged into the app
and if the user does not have the valid email and password then the user will not be
logged into the app.
• Signup screen will help the user to create an account for logging in to the app.
• User will provide basic details about itself in User Profile screen.
• App will provide two different forms; one for to upload job details and one for to
upload about their expertise details.
• User will click on upload jobs button to upload the details of job and the details of
that person who need worker..
• User will click on view for job button to see all jobs which are uploaded by user
itself and other users.
• User will click on view my upload jobs button to see all jobs which are uploaded by
user itself.
13
3.2 System Non-Functional Requirements
3.2.1 Performance
The design of mobile app will response to each user who will access the app. Simple
interface will lead to error-free and fast access to the app. The mobile app will perform
well on all supported android phones.
3.2.2 Safety
Mobile app will not do anything without the user’s permission. The database may get
crashed at any certain time due to virus or operating system failure. Therefore, it is
required to take the database backup so that the database is not lost.
3.2.3 Security
The Security requirement assures that all data inside the system or its part will be protected
against malware attacks or unauthorized access.
3.2.4 Flexibility
App will be flexible enough to adapt the new changes with the passage of time.
3.2.5 Portability
App will be portable enough that it can easily be install on another devices. It can easily be
run on other devices.
3.2.6 Scalability
App will be scalable enough that it can adapt to increase in user request.
3.2.7 Reliability
App will be reliable enough that it can maintain its performance over time.
14
3.2.8 Usability
App will be user-friendly and easy to understand. Clients will be fully satisfied with it
performance and its functionality.
3.2.9 Maintainability
App will be maintained and efficient. It will maintain the new changes. It will maintain all
the records.
3.2.10 Reusability
Reusability reduces the time and complexity so that’s why App components/features will
be designed in such a way that they can be used in other applications too.
3.2.11 Efficiency
App will have efficiency in its performance/response time. It can work properly without
any failure.
RAM: 2GB
Storage: 1GB
Database: Firebase
15
16
CHAPTER NO 4: SYSTEM DESIGN
17
4.1 Use Cases
4.1.1 Registration
Identifier UC-1
Purpose Registration
Priority High
User will click on Signup text. System will display the Signup
1
Screen.
User will enter email, password and System will process the information.
2
confirm password.
If user password and confirm password System will not register the user.
1
are not same.
If user left any field empty. System will not register the user.
2
18
Figure 4.1 Sequence Diagram of Registration
19
4.2 Login
Identifier UC-2
Priority High
1 User will enter email and password. System will process the information.
2 User will click on login button. The system will check email and
password and will login in to the app
if information is correct.
1 If user enter invalid login email and System will not login in to the app
password to the system. due to wrong email or password.
2 If user left any field empty. System will not login in to the app.
20
Figure 4.2 Sequence Diagram of Login
21
4.2.2 User Profile
Identifier UC-3
Priority High
1 User will select own picture from System will process the information.
gallery and enter name, email, phone
number and location.
2 User will click on registration button. System will save the user’s personal
details.
1 If user left any field empty. System will not save the user’s
personal details.
22
Figure 4.3 Sequence Diagram of User Profile
23
4 Upload jobs
Identifier UC-4
Purpose To provide details about customer need and person who look
for good job.
Priority High
1 User will click on upload job button. System will display the upload job
screen.
2 User will upload about his System will process the information.
requirements according to his need.
3 User who want job will provide details System will process the information.
about itself.
4 User will click on submit button. System will upload the job.
1 If user left any field empty. System will not upload the lost item.
24
5 View for job
Identifier UC-5
Purpose To see all jobs which are uploaded by user itself and other
users.
Priority High
1 User will click on view jobs button. System will display the view job
screen.
2 User will click on any job category. System will display the all jobs which
are added by user itself and other
users.
3 User will click on any one job. System will display the details of that
particular job and the details of that
person who want worker.
1 If user have not uploaded any lost System will not display any lost item
item. because user itself and other users
have not uploaded any lost item.
25
6 View and delete own jobs
Table 4.6 View and delete own lost items Use Case
Identifier UC-6
Priority Medium
Post-condition User will see details of those jobs which are uploaded by user
itself.
1 User will click on view my jobs System will display the view my jobs
button. screen.
2 User will click on any job. System will display the details of that
particular job and the details of that
person who want that job.
3 User will click on delete icon. System will delete that particular job.
1 If user have not uploaded any job. System will not display any job
because user itself have not uploaded
any job.
26
7 Upload your expert job
Identifier UC-7
Purpose To provide details about expert job and person who want that
job.
Priority High
1 User will click on upload expert job System will display the expert job
button. screen.
2 User will select item picture from System will process the information.
gallery. User will select job category
and enter details about his expertise.
3 User who want that job will provide System will process the information.
details about itself.
4 User will click on submit button. System will upload the expert job.
1 If user left any field empty. System will not upload the expert job.
27
8 View found items
Identifier UC-8
To see all found items which are uploaded by user itself and
Purpose
other users.
Priority High
User will click on view found items System will display the view found
1
button. items screen.
User will click on any found item System will display the all found
2 category. items which are added by user itself
and other users.
User will click on any found item. System will display the details of that
3 particular found item and the details
of that person who found that item.
If user have not uploaded any found System will not display any found
item. item because user itself and other
1
users have not uploaded any found
item.
28
9 View and delete own found items
Table 4.9 View and delete own found items Use Case
Identifier UC-9
Purpose To see all found items which are uploaded by user itself.
Priority Medium
Post-condition User will see details of those found items which are uploaded
by user itself.
1 User will click on view my found System will display the view my
items button. found items screen.
2 User will click on any found item. System will display the details of that
particular found item and the details
of that person who found that item.
3 User will click on delete icon. System will delete that particular
found item.
1 If user have not uploaded any found System will not display any found
item. item because user itself have not
uploaded any found item.
29
10 Logout
Identifier UC-10
Priority High
1 User will click on logout button. System will display the login page.
1 User will click on logout button. System will not display the login
page.
30
Figure 4.11 Sequence Diagram of Logout
31
32
CHAPTER NO 5: IMPLEMENTATION AND TESTING
33
5.1 Testing Methods
The technique of testing without having any knowledge of the interior workings of the
application is called Black Box Testing. The tester is oblivious to the system architecture
and does not have access to the source code. Typically, while performing a black box test,
a tester will interact with the system's user interface by providing inputs and examining
outputs without knowing how and where the inputs are worked upon.
White Box Testing is the detailed investigation of internal logic and structure of the code.
White Box Testing is also called glass testing or open box testing. In order to perform
White Box Testing on an application, a tester needs to know the internal workings of the
code. The tester needs to have a look inside the source code and find out which
unit/chunk of the code is behaving inappropriately.
It focuses on the smallest unit of software design. In this, we test an individual unit or
group of interrelated units. It is often done by the programmer by using sample input and
observing its corresponding outputs. Unit testing will also make debugging easier because
finding issues earlier means they take less time to fix than if they were discovered later in
the testing process.
Integration testing is the phase in software testing in which individual software modules
are combined and tested as a group. It occurs after unit testing and before system testing.
Integration testing takes as its input modules that have been unit tested, groups them in
larger aggregates, applies tests defined in an integration test plan to those aggregates and
delivers as its output the integrated system ready for system testing.
34
5.1.5 System Testing
System Testing is a black box testing method used to evaluate the completed and
integrated system, as a whole, to ensure it meets specified requirements. The functionality
of the software is tested from end-to-end and is typically conducted by a separate testing
team than the development team before the product is pushed into production.
Acceptance Testing is done by the customers to check whether the delivered products
perform the desired tasks or not, as stated in requirements. It involves ensuring that the
product is in compliance with all of the original business criteria and that it meets the end
user’s needs. This requires the product be tested both internally and externally.
Security Testing is used to determine if the information and data in a system is protected.
The goal is to purposefully find loopholes and security risks in the system that could
result in unauthorized access to or the loss of information by probing the application for
weaknesses.
Compatibility Testing is used to gauge how an application or piece of software will work
in different environments. It is used to check that your product is compatible with
multiple operating systems, platforms, browsers, or resolution configurations. The goal is
to ensure that your software’s functionality is consistently supported across any
environment.
35
5.2 Test Cases
5.2.1 Registration
Identifier TC-1
Priority High
36
5.2.2 Login
Table 5.2 Login Test Case
Identifier TC-2
Priority High
37
5.2.3 User Profile
Identifier TC-3
Priority High
38
5.2.4 Upload job
Identifier TC-4
Priority High
Description To provide details about job and person who want that job.
Input Data Job requirement,Job type, User name, User Email, User
phone number and User location.
39
5.2.5 View for job screen
Identifier TC-5
Priority High
Description To see all jobs which are uploaded by user itself and other
users.
Input Data No input required for this. User must have logged in
already.
Expected Results 1. User will view all jobs which are uploaded by user
itself and other user.
2. User will not view any job because user itself and
other users will not have uploaded any job according to his
expertise.
40
5.2.6 View and delete own job
Identifier TC-6
Priority Medium
Description To see all lost items which are uploaded by user itself.
Post-conditions User will see details of those jobs which are uploaded by
user itself.
Input Data No input required for this. User must have logged in
already.
Expected Results 1. User will view all jobs which are uploaded by user
itself.
2. User will not view any job because user itself will
not have uploaded any job.
41
CHAPTER NO 6: USER MANUAL
42
6.1 Splash Screen
Every time the user will run the app the first screen that will always appear will be the
Splash Screen.
43
6.2 Login Screen
When user will run the app the first interface that will appear on the screen after the
Splash Screen is the Login Screen. The user will login in to app if having correct email
and password.
44
6.3 Signup Screen
Account will be required for login in to the app. If the user not have an account, then the
Signup Screen will help the user to create an account. After creating an account, the user
can login in to the app.
45
6.4 User Profile Screen
After creating account using Signup screen user will see the User Profile Screen. User will
provide the basic details about itself.
46
6.5 Main Screen
After providing details about itself in User Profile Screen user will move to the Main
Screen. With the help of Main Screen user will move to Upload job screen, View for job
screen, Logout from app.
On the click on upload job button in the Main Screen user will move to the job
Screen. With the help of job Screen user will move to jobs Categories Screen, Upload job
Screen, My job Screen.
47
.
48
User will press the logout button on the logout screen. In this way user can logout from the
app.
49
CHAPTER NO 7: USER ROLES & PERMISSIONS
50
7.1 Types of Users
Build Pro app includes multiple user roles to ensure smooth operations and accessibility.
Each user type has specific permissions based on their function within the platform. The
key user roles include:
7.1.1 Admin
The admin has the highest level of control over the application. Their primary
responsibilities include:
Professionals are service providers who use the Build Pro app to find work and manage
their tasks. Their key functionalities include:
51
7.1.3 Clients
Clients are individuals or companies looking to hire professionals for construction and
maintenance tasks. Their key functionalities include:
Each user role is granted a set of permissions to ensure smooth operation and security.
Below is a detailed breakdown of permissions:
Create Profile ✔ ✔ ✔
Post Jobs ✖ ✖ ✔
Message Users ✔ ✔ ✔
Manage Users ✔ ✖ ✖
Assign Tasks ✖ ✔ ✔
Process Payments ✔ ✔ ✔
Leave Reviews ✖ ✔ ✔
Access Reports ✔ ✖ ✖
52
7.3 Role-Specific User Journeys
To ensure platform security and privacy, each user role has specific security measures:
54
CHAPTER NO 8: PROJECT MANAGEMENT FEATURES
55
8.1 Overview
Project management is a crucial aspect of the Build Pro app, allowing clients and
professionals to collaborate efficiently. The platform is designed to simplify task
allocation, ensure real-time updates, and improve communication. The project
management features provide users with the tools they need to oversee their work, track
progress, and complete tasks efficiently.
Clients can create projects and assign specific tasks to professionals based on their skills
and availability. Task assignment includes:
The system incorporates a scheduling tool that ensures proper time management. Users can
view tasks in a calendar format, filter them by priority, and receive reminders about
upcoming deadlines.
Tracking project progress in real-time helps maintain workflow efficiency. Key features
include:
To enhance teamwork, Build Pro integrates real-time messaging and collaboration tools:
56
Chat and file-sharing options for teams working on the same project.
Video conferencing for project discussions.
A centralized message board for project-related announcements.
Efficient project execution requires proper resource allocation and document management:
Professionals can log their working hours to ensure accurate project timelines:
To ensure smooth project execution, users can report issues directly within the app:
57
8.9 Review and Feedback System
Once a project is completed, clients and professionals can rate their experience:
58
CHAPTER NO 9: DEPLOYMENT & HOSTING
59
9.1 Overview
Deployment of the Build Pro app involves setting up backend services, frontend hosting,
database management, and ensuring scalability and security.
60
9.7 Load Balancing & Scalability
61
CHAPTER NO 10: FUTURE ENHANCEMENTS
62
10.1 Overview
The future of Build Pro is centered around evolving technology, improving user
experience, and expanding functionality. The following enhancements are planned to
ensure the platform remains competitive and innovative.
AI algorithms will analyze user profiles, past projects, and skills to provide personalized
job recommendations. This feature will improve the efficiency of job searching and hiring
by matching professionals with relevant projects.
AR will enable clients and professionals to visualize projects before execution. Users can
create 3D models of their workspaces, overlaying designs on real environments to assess
feasibility and make informed decisions.
Integrating blockchain technology will ensure transparent and secure contracts. Smart
contracts will automate agreements between clients and professionals, reducing disputes
and ensuring timely payments.
Machine learning models will analyze historical project data to predict potential delays,
cost overruns, and material requirements. This will help clients and professionals plan
more efficiently.
To improve real-time communication, voice and video call features will be added, allowing
professionals and clients to discuss project details more effectively.
63
10.7 Advanced Analytics and Reporting
A dashboard with in-depth analytics will be introduced, providing users with insights into
project timelines, earnings, and performance metrics. This will enable better decision-
making.
Expanding the platform to include multiple languages will cater to a broader audience,
making it more accessible for non-English speakers.
Professionals working in remote locations will be able to use Build Pro offline, with data
syncing once an internet connection is available.
To scale the platform, international support for currencies, regulations, and localized job
opportunities will be integrated, making Build Pro a global solution for construction
professionals.
64