You are on page 1of 61

HELPMATE

BY

JUBORAJ SARKER
ID: 151-15-270

This Report Presented in Partial Fulfillment of the Requirements for the Degree of
Bachelor of Science in Computer Science and Engineering

Supervised By

MR. ARIF MAHMUD


Assistant Professor
Department of Computer Science & Engineering
Daffodil International University

DAFFODIL INTERNATIONAL UNIVERSITY


DHAKA, BANGLADESH
NOVEMBER 2018

i
APPROVAL
This Project titled “Helpmate”, submitted by Juboraj Sarker, ID No: 151-15-270 to the
Department of Computer Science and Engineering, Daffodil International University has been
accepted as satisfactory for the partial fulfillment of the requirements for the degree of B.Sc. in
Computer Science and Engineering and approved as to its style and contents. The presentation has
been held on 7th November 2018.

BOARD OF EXAMINERS

Dr. Syed Akhter Hossain Chairman


Professor and Head
Department of Computer Science and Engineering
Faculty of Science & Information Technology
Daffodil International University

Dr. Sheak Rashed Haider Noori Internal Examiner


Associate Professor & Associate Head
Department of Computer Science and Engineering
Faculty of Science & Information Technology
Daffodil International University

Md. Zahid Hasan Internal Examiner


Assistant Professor
Department of Computer Science and Engineering
Faculty of Science & Information Technology
Daffodil International University

Dr. Mohammad Shorif Uddin External Examiner


Professor
Department of Computer Science and Engineering
Jahangirnagar University

ii
DECLARATION
We hereby declare that, this project has been done by us under the supervision of Mr. Arif
Mahmud, Assistant Professor, Department of Computer Science & Engineering Daffodil
International University. We also declare that neither this project nor any part of this project has
been submitted elsewhere for award of any degree or diploma.

Supervised by:

Mr. Arif Mahmud


Assistant Professor
Department of Computer Science & Engineering
Daffodil International University

Submitted by:

(Juboraj Sarker)
ID: -151-15-270
Department of Computer Science & Engineering
Daffodil International University

iii
TABLE OF CONTENTS
CONTENS PAGE
Board of examiners ii
Declaration iii
List of Figure vii
Acknowledgements ix
Abstract x

CHAPTER
CHAPTER 1: INTRODUCTION 1-3
1.1 Introduction 1
1.2 Project Objective 2
1.3 Methodology 2
1.4 Organization of the Report 3
1.5 Expected Justification 3

CHAPTER 2: Background 4-8


2.1 Introduction 4
2.2 System Life cycle 4
2.3 Phases of system development life cycle 6
2.4 System study/initial idea 7
2.5 Feasibility study 7
2.6 Apps Comparison 8

CHAPTER 3: Requirement Specification 9-13


3.1 Introduction 9

3.2 Permission requirement 9

3.3 Threats to system security 10

3.4 Admin Area 10

iv
3.5 Database security 12

3.6 Conclusion 13

CHAPTER 4: Design Specification 14-44


4.1 Design & Prototyping 14

4.2 User interface Prototyping 15

4.3 Technology used 17

4.4 App Start 18

4.5 Post 19

4.6 Like/Comment 20

4.7 Bit 21

4.8 Chat Engine 22

4.9 Search Expert 23

4.10 User Review 24

4.11 Final output look 25

CHAPTER 5: Implementation & Testing 45-47


5.1 Introduction 45
5.2 How it works 45
5.3 Goals of Helpmate 46
5.4 Testing 46
5.5 Automatic User Interface Test 46
5.6 Test UI Performance 47
5.7 Security Testing 47
5.8 System Testing 47

CHAPTER 6: Conclusion & Feature Implementation

v
49-50
6.1 Conclusion 49
6.2 Scope of Feature Implement 49

APPENDIX 51-60

REFERENCES 61-62

vi
LIST OF FIGURES

FIGURES

Figure: 2.2: Different Phase of Software Development Life Cycle


Figure:2.3: Process of System Development Life Cycle
Figure: 3.4: Admin Activity
Figure: 3.5: Firebase Real-time Database Rules
Figure: 4.1: Apps design UML
Figure: 4.2: System Design Planning
Figure: 4.4: How android app start
Figure: 4.5: Post database
Figure: 4.6.1: Like any post
Figure: 4.6.2: Comment any post
Figure: 4.7: Bit any post
Figure: 4.8: Chatting with user
Figure: 4.11.1: Splash Screen (Mobile view)

Figure: 4.11.2: Login page


Figure: 4.11.3: Register page

Figure: 4.11.4: Register page (Document need for verification)


Figure: 4.11.5: Register page (for expert)
Figure: 4.11.6: Register data validation
Figure: 4.11.7: Home Page
Figure: 4.11.8: Profile page
Figure: 4.11.9: Home page (Active user)
Figure: 4.11.10: Home page (Posting category)
Figure: 4.11.11: Chat Engine
Figure: 4.11.12: Chat Page

vii
Figure: 4.11.13: Search expert
Figure: 4.11.14: Searching results
Figure: 4.11.15: Expert Details page
Figure: 4.11.16: Notification page (Bit)
Figure: 4.11.17: Password rest
Figure: 4.11.18: Comment in a post
Figure: 4.11.19: Expert bit
Figure: 4.11.20: Validation in biting
Figure: 5.6: Testing Pyramid

viii
ACKNOWLEDGEMENT

First of all, the author express heartiest thanks and gratefulness to Almighty Allah to give them
the capability to complete the final work successfully.

We are really grateful and wish our profound indebtedness to our Supervisor Mr. Arif Mahmud,
Assistant Professor, Department of Computer Science and Engineering Daffodil International
University, Dhaka. His endless patience, scholarly guidance, continual encouragement, constant
and energetic supervision, constructive criticism, valuable advice, reading many inferior drafts and
correcting them at all stage have made it possible to complete this project.

The author would like to express heartiest gratitude to all faculty member of Uttara campus and
Dr Syed Akhter Hossain, Professor and Head, department of Computer Science and
Engineering, for their kind help to finish the project and also to other faculty member and the staff
of CSE department of Daffodil International University.

Finally, we would like to express our profound gratitude to our parent and a friend Iqbal Sunny for
their inspiration, sacrifice and extension of their hands during the progress of work.

ix
ABSTRACT

This is 21st century and now a days we all want everything in our hand. Today we are using
UBER, Pathao and many kinds of ride sharing app for transportation. We are using many kinds
of shopping app for shopping product from online. Everything we are using because of our life’s
simplicity and more comfortableness. From the same concept Helpmate has been developed.

Helpmate is the mobile application which will help any user to find or get his/her desire service.
This project is similar like an existing app title is “Sheba.xyz - Online Service Market”. But this
project has more feature than sheba.xys and it is more significant. In HelpMate the new feature is
Online biting system. All experts can bit in any problem. Suppose one general user given a post
in the app. And after that this post will go to all the similar experts. And one or more experts may
handle the project. So there is an option for biting. If one expert can do any project for 500/= and
another one may do it for 450/= or one expert may do any project in 3 days but one expert may
finish the same project in just only 1 days. So now it is fully depending on the user who will
choose who the best is. That’s why this feature make my app more significant.

Here I’ve developed the project with online registration system, login system, chatting system,
online posting system (like social media), like and comment system, online biting system (only
for expert) and user feedback system.

Online service providing system is becoming a popular system now a days for this era.

x
CHAPTER 1

INTRODUCTION

1.1 Introduction

It’s just not an app; it’s all about my Dreamy platform. I am here to make a head start for helping
around our vendors & trying to give them a chance for working in digital platform in this digital
era. Our many surrounding people think that changing home or switching into a new area is a
hassle because one of the reason is that they need a van-man but don’t know where they can find
those workers. Accordingly, this time, even a van-man is also searching works to earn his livings
for his family who are dependent on him.

Helpmate is the mobile application which will help all kinds of people to get their desire service.
This application will work like an internal via communicator. There are a lot of people in our
country who don’t have any job. But many of them have great skills or have enough time for
doing any job. For them, Helpmate will be a great platform.

On the other hand, there are a lot of people in our country they are already very busy with their
daily work and they are unable to take extra pressure. So they need badly a helpmate or support
mate. For those person helpmate will be the best mobile application.

If we think another perspective, if one person change his/her current location. In the new location
he/she must don’t know anyone. But he/she needs urgent help. Suppose he/she needs to fix
his/her electricity problem in the room. So now in this situation how he/she can manage this
issue?

With observing these types of problems, this project has been developed. And named is
Helpmate.

1
1.2 Project objective
Our surrounded people are spending extra money to search for the person badly. As the same
way, immediately we can’t find those workers like electrician, internet service provider or gas
technician. My Objective of this non-profitable organization is connecting those workers to the
mass people easily and evaluating workman for making a revolution to our society. So, no days
longer to find those workers in street. Now just doing a few clicks in my apps, you can connect
with your desire-worker in your area and able to call the worker. Now finally, give him your
local address for your service and get all your work done. If you want to review the worker, you
can review them in my apps so that another people can get best service by watching the review. I
am working hard to collect more vendor’s information in your area for giving extra facility
without charging a penny from you because user's satisfaction is my pride.

1.3 Methodology
This system is fully developed with Firebase (a google product.) Firebase is platform which
allow to build web and mobile applications without server side programming language. Every
user who want to use Helpmate must register first. One user may register as an expert or as a
general user. So if any user register as an expert he/she must select at least one option in which
category he/she is expert. Ex (Electricity, Computer etc). And every user must give at least one
document to verify his/her identity. And all data will be stored in firebase and any admin will
ensure that if the user is valid or not. After ensuring the validation the identity any user may use
the actual service of helpmate. If any user do any unethical thing anytime admin of Helpmate
may ban the user. After his/her profile verification, the user may use helpmate. He/she can give
post in helpmate, may chat with other user, may like or comment any post, if the user is expert
he/she can bit in any problem. But for using all the service user must provide valid document
(ex: NID snapshot, passport snapshot, driving license snapshot etc.)

2
1.4 Organization of the report

This report is organized as follow: Chapter 2 describe about the Background of the whole
system. It also narrates about the implementation of Firebase service. Chapter 3 contains the
Requirement and Specification. It also contains the features of Firebase and also in this part will
describe the permission needs from user part to use the application. Chapter 4 will describe the
Design Specification. In this part the whole project structural description has been added.
Chapter 5 narrates the system test & the system result of this project. Finally Chapter 6 includes
the full project with conclusion, limitation & future plan of our project as well.

1.5 Project Justification

It’s just not an app it’s all about my dreamy platform. I’m here to make a head start for helping
around our vendors & trying to give them a chance for working in digital platform in this digital
era. There are many feature in this project. Some extended and possible features are listed below:

 Online Login/Registration
 Posting (like social medial)
 Like/Comment (like social media)
 Bit
 Chatting
 Searching any expert
 View details of any expert
 Communicate with expert via app
 Sending message, email and make call to the expert
 Show user’s feedback
 Order for any service

3
CHAPTER 2

BACKGROUND

2.1 Introduction

The review of a system into its component pieces for purpose of studying how those component
pieces interact and work. The structured analysis was one of the first formal work formal
approach developed for system analysis of information systems and computer applications. The
modern structure analysis is a process-centered technique that is used to model requirement for a
system.

The models are structured pictures that illustrate the process, input, outputs and files required to
respond to events. Structured analysis introduced an overall strategy that has been adopted by
many of other techniques-model-driven development. A model is a representation of reality. Just
as ‘a picture is worth a thousand words,’ most models use pictures to represent reality. Model-
driven development techniques headlight the drawing of models to define requirements and
system design. The model becomes the design blueprint for constructing the final system.

Before developing this model, however, it is essential to identify the components that will make
up the system to be designed. In order to best aid the machine designer and reduce the design
time, the following key elements were identified, an implicit solver to solve. System Analysis 17
is the equation, a suitable graph utility to plot parameter values, a data store for the machine
element data design, and a word processor to aid in the documentation.

2.2 System Life Cycle

System life cycle is an organizational process of developing and maintaining systems. It helps in
establishing a system project plan, because it gives overall list of processes and sub-processes
required for developing a system. An effective System Development Life Cycle should result in
a high quality system that meets customer expectations, reaches completion within time and cost
evaluations, and works effectively and efficiently in the current and planned Information
Technology infrastructure.

4
Here the figure 2.2 that will show the Different Phase of Software Development Life Cycle.

Figure 2.2: Different Phase of Software Development Life Cycle [1]

System Development Life Cycle (SDLC) means combination of various activities for developing
a system. In other words, we can say that various activities put together to develop a system are
referred to as system development life cycle. In the System Analysis and Design terminology,
the system development life cycle means Software Development Life Cycle.

Following are the different phases of software development cycle:

 Preliminary study
 Feasibility study
 Detailed system study
 System analysis
 System design
 Coding
 Testing
5
 Implementation
 Maintenance
 Review

2.3 Phases of Software Development Life Cycle

This section describes the different phases and related activities of system development life cycle
in details. Here the figure 2.3 that will show the system development life cycle process.

Figure 2.3: Process of System Development Life Cycle [2]

6
2.4 System Study/Initial Idea

This study is the first stage of System Development Life Cycle. This stage gives a clear picture
of what actually the physical system is? After completing the system study, a system proposal is
prepared by the system analyst (who studies the system) and placed before the user. All projects
must start with an initial idea. Usually, this consists of a brief definition on what is the project all
about, what is its purpose and what the project aims to accomplish. How will the success of the
project be measured?

To describe the system study phases more analytically, we would say that system study phases
through the following steps:

 Problem identification & project initiation


 Background analysis
 Interface of findings

2.5 Feasibility Study

Expanding on the Initial Idea, the Feasibility Study involves drawing up the terms of reference,
which state the objectives and scope of the project, how long it should take and how the results
should be presented. The terms of reference are usually drawn up by senior management. The
feasibility study must determine if the development of the project is justified in terms of
economic and organizational terms.

The main role of the analyst in the feasibility study is to analyze the current system at a high
level. Data Flow Diagrams (DFD) are used to describe how the current system performs and to
illustrate known problems.

The system (Helpmate) I was trying to build a lot of potentials. The application system for
helping the user called Helpmate with many unknown person and also helping an unemployed
person to earn money all over the world. The platforms I have chosen are Android Studio, Java
programming language and Firtebase to stored data.

7
2.6 Apps Comparison

From a particular feature, this project is similar like an existing app title is “Sheba.xyz - Online
Service Market”. But this project has more feature than sheba.xys and it is more significant. In
HelpMate the new feature is Online biting system. All experts can bit in any problem. Suppose
one general user given a post in the app. And after that this post will go to all the similar experts.
And one or more experts may handle the project. So there is an option for biting. If one expert
can do any project for 500/= and another one may do it for 450/= or one expert may do any
project in 3 days but one expert may finish the same project in just only 1 days. So now it is fully
depending on the user who will chose who is the best. That’s why this feature make my app
more significant.

Another feature is online post sharing system. Here a user may search any expert or he/she may
post any problem so that expert may contact with him/her. This application will work like a
social media also. Also online free chatting system is available. So that no need for external call
or email to any user. They may contact each other via app.

There also another similar project named is “Digital Manush”. Also that project is little bit
similar with HelpMate. But there have many limitations. They made it with some fixed data. And
user have to must use these data. And also that solution is for particular location. Only for Dhaka
city. But helpmate is for world wide. Anyone can open account from any part of world and also
he/she may find expert from his locality. So this feature makes my app more significant than
‘Digital Manush’. And also there are no online biting option in ‘Digital Manush’ but in
HelpMate this option is available.

8
CHAPTER 3

REQUIREMENT SPECIFICATION

3.1 Introduction

When developing any system, there must need some requirement. So Helpmate also need some
requirement specification. All we know that, Helpmate is an Android Application so first of all
user needs a smart phone. And the smartphone must need supported android OS. We know that,
there are many OS available in global market. Android, IOS, Windows and blackberry are
popular among of them, but in initial stage our project helpmate will support only Android OS.
These types of requirement is for user. But another requirement is need for admin site also. Our
future goal is creating a trustful media with this project. Millions of user will use this app. So to
backup and store user’s data Helpmate needs huge backup. For initial stage I am using Firebase
free version. And there are some limitation in using firebase free version. For free version
Firebase will support me by giving facility of 100 concurrent user. And data transfer limit is 30
GB. Data stored rate is 1GB for free version. For testing purpose this is great. But when user will
more, then our plan should change and must use paid version. So that, then our requirement will
also change.

3.2 Permission Requirement

To use any android application, user must need provide some permission. One thing is very
important here and that is, Android has launched total 16 versions. Android (A-P). From android
M (Marshmallow) there a new option added which is called android runtime permission. But the
lower version from android ‘M’ this option was not available. When any user install an app the
all permission was automatically granted. But from android M, user must provide all permission
individually. And all the state has followed perfectly in Helpmate.

The set of permissions are need for using Helpmate is listed below:

 Internet Permission
 Read Internal Storage
9
 Write Internal Storage
 Access user’s COARSE Location
 Access user’s FINE Location
 Call Permission
 Read Wi-Fi state permission
 Read phone state

If any user reject any permission then the particular feature will not be available for that user.

3.3 Threats to System Security

This is the era of Information Technology. And in this era the most common thread when
developing an automated system is Data Security. Though Helpmate is fully automated system
and here valuable data is available so the first threat is Data security. There will be many attack
from hacker. So first of all we have to tackle this problem.

Another threat is, in this app there are 2 types of user. One is expert and another is General user.
So here one user may say that he/she is expert but without having any experience in that sector.
So that this is also a thread to find out real talented people.

Another thread will be tackle abusing the app. suppose Helpmate will work as a medium. Here
general user and expert both is available. So one general user may call any user to home service.
Like a Laundry service. The user want that the service provider should come and provide him
service. So in this section we cannot give any security after coming home what actually happen.

On the other hand we must give a concern in creating fake user. Facebook is a most popular
social media but there are many fake user. So if same thing happen in our system, it will never be
a trustful system. So we have must give a proper concern in this section.

3.4 Admin Area

Admin is the most powerful person in the system. An Admin may ban user anytime if admin see
any bad behavior to any user. Actually here first stage start by the admin. First of all every user

10
must register in the system. Without registering the system no one can use Helpmate. For
completing a successful registration user must upload a valid identity paper. It could be a snap of
his/her government ID, it could a snap of a driving license or it could be a passport snap. So after
inputting all mandatory field user will find his/her profile in Inactive mode. Only admin can
justify his/her data and have the right to give him/her permission of using Helpmate by creating
profile active.

And anytime if admin thought that this user is fake or this user is violating the terms and
condition of Helpmate then admin have the right to ban the particular user. If any user ban two or
more time then the particular user will never have permission to use Helpmate again.

Fig: 3.4 Admin Activity

11
In the image, there is an option is called accountIsActive = true; If admin made it false then the
particular user cannot use the app.

And also here admin have the right to read user’s all data. So if admin think that, the user is fake
or this user may happen any crime so admin may close that particular user’s account. So in this
section admin plays a vital rule.

3.5 Database Security

In this project both offline and online database has been used. For online database Firebase Real
time database has used and for offline database I’ve used SQLite database. While using database
there are an issue of giving security of these database. While using Firebase we don’t have any
headaches. Because this is Google’s service and Google will provide the security. So there are no
need extra security. And there are another option in firebase to protest data. We may turn off all
write and read data from firebase.

Fig: 3.5 Firebase Realtime Database Rules


12
If we see the rules tab there are a rules code. ".read": "auth != null", indicates that, without
registering our system no user can read data and ".write": "auth != null" indicated that without
registering the system no user can write any data. So this is fully secured to use.

And for using offline database, the risk is little bit less. Because without using user’s personal
device no one can trace the data. So if any user may safe his/her personal device then the data is
fully secure. And SQLite will be removed if user clean cache from his/her device.

3.6 Conclusion

After completing full requirement specification Helpmate will work perfectly. This is a project
which can help both user (Expert & General). Also we are trying to reduce the unemployment
problem in Bangladesh though the amount is too less. And the person will find their desire
service and the expert may find their earning source. If a person really be serious in this platform
or work sincerely then he/she must gain from this system.

13
CHAPTER 4

DESIGN SPECIFICATION

4.1 Design & Prototyping

Beyond any doubt, now a day every kind of people have a smartphone. And mobile app is
common use in almost every area of human activity. The actual usage of mobile application very
much depends on the quality (usability and energetics) of its User Interface (UI). On the other
hand, user experience is so important.

In this project used Google latest design concept Google Material Design concept. Google's
Material design considers material to be a homogeneous digital “fabric” created with pixels.
Users can tap, swipe, or pinch this material fabric and it will move according to user interaction.
Mobile interfaces are created out of layered material objects like rectangular bars or circular
buttons. The other benefit of using material design concept is, looking more gorgeous and more
smart than general. User loving this design concept and it is becoming more popular day by day.

Figure 4.1 will show the UML diagram of the project.

14
Figure 4.1: Apps design UML

4.2 User Interface Prototyping

Prototyping is a means of exploring ideas before you invest in them. All experienced
craftspeople and engineers create prototypes of their work before they build anything: Architects
create models out of paper or cardboard, or with virtual reality tools. Aeronautic engineers use

15
wind tunnels. Bridge builders create stress models. Software and Web designers create mock-ups
of how users will interact with their designs.

User Interface prototyping is a testing and evaluation approach, which is a crucial component of
User-Centered Design (UCD) methodology, extensively used in IT projects since the 1990s. This
is an iterative analysis technique in which users are actively involved in the mocking-up of the
UI for a system. Before the actual prototype testing takes place in the project, the following
techniques are necessary for identifying the required functionality of the expected system:

 Drawing design techniques – useful for expressing design concepts in the form of use
case or as free-hand sketches and drawing like Rich Picture.
 The context of use analysis – a structural description of user characteristics, task and
organizational environment.

Here the figure 4.2 that will show the System Design Planning

Figure 4.2: System Design Planning

16
4.3 Technology Used

Android Studio: Android Studio is the official integrated development environment (IDE) for
Google's Android operating system, built on JetBrains' IntelliJ IDEA software and designed
specifically for Android development. Android Studio provides the fastest tools for building apps
on every type of Android device. Android studio provides code editing, debugging and testing
tools for free.

Android Studio has a strong editor tool for developing creative UI and emulators for different
versions to test and simulate sensors without having actual Android devices. It also has a very
useful Gradle plugin using which you can create application files (apks) with different
configurations. Moreover, it makes exporting and uploading apk on playstore easy with a single
click. It also has ANT build if you prefer that.In the recent updates Android studio has brought
instant run which makes testing even faster and easier.

SDK tools are platform-independent and are required to create any Android app, regardless the
version you are developing for. Some of these include: Build tools, Debugging tools and Image
tools, among others. Now, some of the most important SDK tools are Android SDK Manager,
which provides you resources, platforms and other useful components needed to build apps and
manage SDK packages.

AVD Manager: An Android Virtual Device (AVD) is a device configuration that is run with the
Android emulator. It works with the emulator to provide a virtual device-specific environment in
which to install and run Android apps. The Android SDK provides the AVD Manager tool for
creating and otherwise managing AVDs.

Java: Java is a programming language that produces software for multiple platforms. When a
programmer writes a Java application, the compiled code (known as bytecode) runs on most
operating systems (OS), including Windows, Linux and Mac OS. Java is fast, secure, and
reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to
the Internet, Java is everywhere! Java programming language need Java Software Development
Kit (JDK) that typically includes a compiler, interpreter, documentation generator and other tools
used to produce a complete application.

17
Firebase: Firebase is a Backend-as-a-Service — BaaS — that started as a YC11 startup and grew
up into a next-generation app-development platform on Google Cloud Platform. Firebase is a
platform that makes developing android apps easier. it is owned by Google and is easy to
Integrate to android project. It combines Analytics, Database, Authentication, Storage, Hosting,
Crash Reports, AdMob etc. Google is trying to Integrate all basic services needed for an android
app through Firebase.

4.4 APP Start

When a user starts any android application it always follows the following sequence.

Figure 4.4: How android app start [3]

All android application follows this sequence. Android apps are built as a combination of
components that can be invoked individually. For example, an activity is a type of app
component that provides a user interface. Also android allow to provide different resources for
different devices. Other components such as broadcast receivers and services also allow your app
to perform background tasks without a user interface. If any of app’s features need specific

18
hardware, such as a camera, you can query whether the device has that hardware at runtime and
then disable the corresponding features if not. we can also set some features as required so
Google Play won't allow installation on devices without them.

4.5 Post

Posting is the main feature of Helpmate. Here user have the option to post any problem or
anything. For posting anything user must input some text in the input field. And then user must
select the posting category. Such as, Broadband, Carpenter, Computer, Cook, Cobbler,
Decorator, Designer, Driver, Electrician, Gas Technician, Laundry, Locksmith, Lawyer,
Marketing, Medical, Mobile Servicing, Painter, Programmer, Plumber, Rent a Car or Others.
Then user may upload photos from his/her gallery or user may capture photo directly. After
successfully all field then user is able to posting.

The data in Firebase will store under the Post child. Figure 4.5 will show the post child.

Figure 4.5: Post database

19
4.6 Like/Comment

User are able to like or comment any post. To like or comment any post firebase database will
store user id. This user ID is always unique. So if any post found a user id that means the user
liked the post. And comment is same someway. Here firebase will store comment text, comment
user id, and comment date time. Any user can comment unlimited time. There is no limitation in
commenting. Firebase will store comment data under Comment child and will store liken data
under Like child.

Figure 4.6.1 will show the snap of storing like figure 4.6.2 will show comment data.

Figure 4.6.1: Like any post

20
Figure 4.6.2: Comment any post

4.7 Bit

Helpmate will give this opportunity to bit any particular problem. Suppose one user need to fix
his computer. Now he/she has posted with the description and image of the particular problem.
Sow there are 100 experts in the system. All experts saw this post and everyone wants to do this
job. But user want the best one. So every expert has the option to bit any post. One expert may
do the job for 500/= another one may do it for 450/=. So now the option goes to the user who
will hire. To bit any job, expert must give input the estimated date. And expected start date and
expected ending date. And also have to give input the estimated budget. This budget only have
the right to see the buyer. No one can see this.

Figure 4.7 will show the bit data storing system in Firebase.

21
Figure 4.7: Bit any post

4.8 Chat Engine

Helpmate will give the chatting opportunity to the user. Every user may chat with each other.
Here no need for making any friend or making own network. Here everyone connected with each
other. So for chatting user may share any kinds of information each other. Before hire someone
user is able to discuss about the job via this chat engine.

Firebase will store all the chatting data under chat child. Figure 4.8 will show the chat data
storing in firebase.

22
Figure 4.8: Chatting with user

4.9 Search Expert

User may post and hire expert. This is really kill user’s valuable time. So helpmate will give the
opportunity the user to search expert directly and hire them easily. For doing this, user must
select the search expert option from home page. Then user will found some option. User must
select in which category’s expert he/she is searching. Suppose user select Computer section from
the dropdown menu. And then user must input a city name. That in which city he/she is
searching expert. After finding all the list user are able to see expert’s profile. By justifying
expert’s profile user may hire any expert.

23
4.10 Review

After completing a successful work user have the option to review any expert. But this option
will activate after a successful completion of work. Suppose on user hire an expert. The expert
taken 3 days for doing the work. So this option will activate after 3 days. If user think that this
expert has completed the work successfully then user may give him 5.00 star. On the other hand,
if user thought that the expert didn’t satisfy him with the work then he/she may give him any
mark from 0 to 5. It will store in firebase also. Any user is able to see this review. So this review
is really very important for any expert for getting his/her next job.

Figure 4.10 will show the user profile with review

Figure 4.10: User Information

24
4.11 Final Output Look

This figure 4.11.1 will show the starting of the app.

The figure means the starting page called splash screen. After very short time it will vanish and it
will go in the next page which is called login page.

Figure 4.11.1: Splash Screen (Mobile view)

25
This figure 4.11.2 will show the login page of the app.

The figure means the login page. If user already created account, then he/she may login by
inputting email and password but if user don’t register yet then user may register from here.

Figure 4.11.2: Login page

26
This figure 4.11.3 will show the register page of the app.

The figure means the register page. User must fill all the required fill to complete registration.

Figure 4.11.3: Register page

27
This figure 4.11.4 will show the register page of the app.

The figure means the register page. User must give at least one verification document to
complete registration.

Figure 4.11.4: Register page (Document need for verification)

28
This figure 4.11.5 will show the expert register page of the app.

The figure means the expert register page. Expert must select at least 1 category to complete
registration.

Figure 4.11.5: Register page (for expert)

29
This figure 4.11.6 will show the data validation from registration page.

For completing user’s registration user must input the valid data. This image show how data
validation has been checked.

Figure 4.11.6: Register data validation

30
This figure 4.11.7 will show the Home Page of the app.

A new user by default is a un verified user. While user is un verified he/she will never able to see
any post or may not able to chat with any user. So admin will check his/her document and verify
him/her manually.

Figure 4.11.7: Home Page

31
This figure 4.11.8 will show the user profile.

For every user there are a profile page. From here user are able to see his/her account status.
Here Account status is in-active. So this user will never see any post.

Figure 4.11.8: Profile page

32
This figure 4.11.9 will show the home page with active profile

After successfully verification by admin user is now active. So here it is showing the post given
from other user.

Figure 4.11.9: Home page (Active user)

33
This figure 4.11.10 will show the home page with posting category.

Every user has the option to post something. The posting category is listed. So user must select
any of them and post directly in the system.

Figure 4.11.10: Home page (Posting category)

34
This figure 4.11.11 will show chat engine of the app.

Every user may chat with each other. This screen shows the last message. If click any list it will
show the all previous chat list.

Figure 4.11.11: Chat Engine

35
This figure 4.11.12 will show chat page.

This screen indicates the real chatting system of user. In this system only plain text can
shareable. So user just type a message and just one click to send it.

Figure 4.11.12: Chat Page

36
This figure 4.11.13 will show Search Expert page.

Every user is able to search expert from the system. For this user need to input a city and an
expert category. After clicking the search icon, the system will start searching.

Figure 4.11.13: Search expert

37
This figure 4.11.14 will show Searching results.

After giving all valid input user will able to see his/her desire experts. From here he/she may see
expert’s full details.

Figure 4.11.14: Searching results

38
This figure 4.11.15 will show expert details page.

Every user will able to see this. From this page user may chat with expert, may email this expert,
or call the expert, or may text message on expert’s phone. Also user may see expert’s review.

Figure 4.11.15: Expert Details page

39
This figure 4.11.16 will show Bit page.

When any expert bit for any job the data will show like the image. Here it is showing the bit
amount and expected date. From here user may select any expert.

Figure 4.11.16: Notification page (Bit)

40
This figure 4.11.17 will show Password reset page.

If any user forgets his/her password, then helpmate have the option to reset his/her password.
Just user has to input his/her email. Helpmate will send a password reset link in his/her mail.

Figure 4.11.17: Password rest

41
This figure 4.11.18 will show comment in a post.

Every user has the right to comment in nay post. This image will show how to comment and how
it will look after commenting.

Figure 4.11.18: Comment in a post

42
This figure 4.11.19 will show expert biting.

Only expert has the right to bit in any post. So expert may bit any post by entering bit price,
description and other required field.

Figure 4.11.19: Expert bit

43
This figure 4.11.20 will show the data validation in biting

Helpmate will ensure that every bit is a valid bit. So that helpmate will filter invalid bit from the
app. Expert must input valid data if he/she want to really bit.

Figure 4.11.20: Validation in biting

44
CHAPTER 5

IMPLEMENTATION & TESTING

5.1 Introduction

One of the major developments in today's business practice is the increasing interest in CRI14.
Marketers continue to place increased strategic emphasis on building Relationships with
customers and investing in relational information technology.

Traditional transactional underpinnings of marketing involved concepts such as market


distribution, target market selection, and strategy development for the marketing mix variables of
product, price, place, and promotion usually referred as the 4Ps. Using these concepts, marketers
identified groups of customers with similar needs for which their companies could be especially
relevant. The marketers then attempted to competitively meet each target group's needs.

5.2 How it works

Here is the figure 5.2: that will show the Customer Relationship Management:

45
5.3 Goals of Helpmate

The idea of CRM is that helps business use technology and human resource to gain insight into
the behavior or customers and the value of those customers. This project will help our Customer
to ask more questions and concerns more quickly and efficiently, which will boost productivity
as well as customer delight. Virtual Guide will discover useful information about our customer
base and allow working out where there are gaps that need to be filled. Exploring the reasons
why they do not subscribe our services can help us to adapt new policies and techniques which
will also help us attract new user.

5.4 Testing

As each module has written, it is checked out to remove any obvious error (modules are tested).
The modules are then assembled to integrate to form the system. As the modules are integrated,
the system is tested. When the integration is completed, the entire system is given further testing.

Testing is a very big stage and to test fully a system it needs lots of time to spend on testing.
Delivery time is limited for our project, most of the time going to analysis, development, and
design. Here it is planned for some testing. To improving the efficiency of a task, make sure that
the process is well defined and well tested. There are simple and cheap ways to make things go
easier to test the system using computers and the errors can be forgotten.

5.5 Automate user interface tests

User interface (UI) testing lets us confirm that our app meets its functional requirements and
achieves a high standard of quality such that it is more likely to he successfully adopted by users.
One approach to UI testing is to simply have a human tester perform a set of user operations on
the goaled app and verify that it is behaving correctly. However, this manual approach can be
time-consuming, tedious, and error-prone. A more efficient way is to write UI tests such that user
actions are performed in an automated way. The automated approach allows us to run ow- tests
quickly and reliably in a repeatable manner.

46
5.6 Test UI Performance

User interface (UI) performance testing ensures that the app not only meets its functional
requirements, but that user interactions with this app are buttery smooth, running at a consistent
60 frames per second, without any dropped or delayed frames.

5.7 Security Testing

Now, we present you the simplest definition of Security in our own words. "Security means that
authorized access is granted to protected data and unauthorized access is restricted." So, it has
two major aspects; first is the protection of data and the second one is access to that data. As it is
an android application and we use a third party database so we need to secure the database with a
proper security system.

5.8 System Testing

System testing is actually a series of a different test whose primary purpose is to fully exercise
the computer-based-system. Although each test has a different purpose, as work to verify that
system elements have been properly integrated and perform allocated functions.

To test this application, we should know about the Testing Pyramid which explains how your
app should include the three types of tests: small, medium, and large:

 Small tests are unit tests that can run in insulation from production systems. They
typically mock every major component and should run firstly on the machine.
 Medium tests are integration tests that sit in between small tests and large tests. They
complete several components, and they run on emulators or real devices.
 Large tests are integration and UI tests that run by completing a UI workflow. They
confirm that key end-user tasks work as expected on emulators or real devices.

47
Here the figure 5.6 that will show the testing pyramid.

Figure 5.6: Testing Pyramid[4]

Testing an app is an integral part of the app development process. By running tests against the
app frequently, we can verify your app's correctness, functional behavior, and usability before we
release it publicly. There are some tests that we have done, given below:

 Build effective unit tests


 Automate user interface tests
 Test UI performance
 Security Testing

48
CHAPTER 6

CONCLUSION & FUTURE IMPLEMENTATION

6.1 Conclusion

Helpmate is the helping application for all kinds of people. It will help both kinds of people who
are actively searching for a service and on the other hand who is actively looking for job. It may
be one kinds of pert time jobs. The main purpose of the app is connecting people. Here helpmate
will just work as a third party who has both people’s information who are searching for service
done, and who is actively searching for doing any job.

In our country there are many people who have really great skills but for many reason they can’t
work. Or there have many people who is wasting more money for a simple work. So Helpmate is
the platform for all kinds of people. I believe that, working smartly is more efficient than
working hardly. So for work smartly here is a smartphone app name Helpmate. It is really very
easy to use and also very efficient.

6.2 Scope of Future Implement

Helpmate is an android app right now. There are a lot of scope for implementing it in future. I
have many plans already with Helpmate. Some are listed below:

 A payment gateway will be added in future;


 A complete website will be added in future;
 The admin will always track user’s current location;
 For hiring any expert user must order in the system first;
 From expert’s revenue 5% will be charged automatically (Business plan);
 Add fully a new feature with medical sector;

49
APPENDIX

50
Reference

[1] Phases of System Development Life Cycle at


<<https://www.tutorialspoint.com/system_analysis_and_design/system_analysis_and_design_de
velopment_life_cycle.htm>>, last accessed on 21-10-2018 at 1.00 am

[2] Phases of Software Development Life Cycle at


<< https://www.linkedin.com/pulse/what-software-development-life-cycle-sdlc-phases-private-
limited>>, last accessed on 21-10-2018 at 1.20 am

[3] System Study/Initial Idea SDLC at


<< https://azuliadesigns.com/system-development-life-cycles-sdlc>>, last accessed on 21-10-
2018 at 1.40 am

[4] The 3 tiers of the Android test pyramid at


<< https://medium.com/android-testing-daily/the-3-tiers-of-the-android-test-pyramid-
c1211b359acd>>, last accessed on 25-10-2018 at 12.10 am

[5] Design Thinking at


<<https://www.interaction-design.org/literature/article/design-thinking-get-started-with-
prototyping >>, last accessed on 28-10-2018 at 12.30 am

[6] Software Development Tools at


<< https://developer.arm.com/products/software-development-tools>>, last accessed on 30-10-
2018 at 12.10 am

[7] Methodology at
<< http://www.itinfo.am/eng/software-development-methodologies/>>, last accessed on 01-11-
2018 at 12.15 am

[8] About Java at


<< https://java.com/en/download/faq/whatis_java.xml>>, last accessed on 02-11-2018 at 08.30
pm

51

You might also like