Sunteți pe pagina 1din 81

DEPARTMENT OF SOFTWARE ENGINEERING

MEHRAN UNIVERSITY OF ENGINEERING AND TECHNOLOGY JAMSHORO

PRO REVIEW

BY

NAME ROLL#

Ahsan Arain 16SW16

Kamran Khan 16SW20

Fahad Rajput 16SW54

Rusab Khan 16SW172

Aymen Khan 16SW180

SUPERVISED BY
DR.QASIM ALI ARAIN
DEDICATION
We dedicate this humble piece of work to our beloved parents and respected
teacher who have been a soucrce of support , motivation, knowlodge and
inspiration for all of us.
Certificate of Approval

This is to certify that the work presented in this thesis is entirely designed,
developed and written by the following students themselves.

NAME ROLL#

Ahsan Arain 16SW16

Kamran Khan 16SW20

Fahad Rajput 16SW54

Rusab Khan 16SW172

Aymen Khan 16SW180

Supervisor Co-Supervisor

Chairman
Dated:

(i)
Acknowledgments

For the successful completion of our thesis titled “Pro Review”(An android app
that provide easiness in finding hotels, restaurant, hospitals to the user) pay
outmost regards to our parents to upbringing us to complete and escalate to the
astounding achievements concerning every aspect of our life.

The thesis actually has been a joint effort of several individuals, first and foremost
is our project supervisor Qasim Ali Arain ,Assistant Professor at Department of
Software Engineering.

Finally, we would like to express our deep regards to all other staff members on
board for giving us their precious time and advices concerning our problems
during the thesis.

(ii)
Table of Contents
CERTIFICATE……………………………………………………………………………i

ACKNOWLEDGMENTS………………………………………………………………...ii

TABLE OF CONTENTS………………………………………………………………iii-vii

LIST OF FIGURES……………………………………………………………………viii-ix

LIST OF TABLES………………………………………………………………………...x

ABSTRACT……………………………………………………………………………….xi

Chapter I: INTRODUCTION

1.1 Introduction…………………………………………………………………………...1

1.2 Background ……………………………………………….………………………....1

1.3 Intro of our application……………………………………………………............…2

1.3.1 Pro Reviews……………………………………………….……………...................2

1.3.2 Motivation and need……………………………………………………….................3

1.3.3 Aim ……………………………………………..........................................................4

1.3.4 Objectives..............................................................................................................…...4

1.3.5 Area of application…………………………………..……………………………….5

1.3.6 Advantages…………………………………………………………………….……..5

1.3.7 Limitations………………………………………………………………………...…5

1.3.8 Who can use the system……………………………………………………………...6

1.3.8.1 User…………………………………………………………………………………..6

1.3.9 Functional Requirements…………………………………………………………….6

1.3.9.1 Registration…………………………………………………………………..………6
6

1.3.9.2 Login page……………………………………………………………………………6

(iii)
1.3.9.3 Post Review……………….………………………………………………………....6

1.3.9.4 GPS………………………………………………………………………………….7

1.3.9.5 Searching …..……………………………………………………………………….7

1.3.9.6 Google Map………………………………………………………………………...7

1.3.10 Software & Hardware Requirements……………………………………………….8

1.3.11 Non-functional Requirements……………………………………………………...8

1.3.11.1 Performance Requirements………………………………………………………..8

1.3.11.2 Security Requirements……………………………………………………………..9

1.3.11.3 Software System Requirements……………………………………………………9

1.3.11.4 Maintainability……………………………………………………………………..9

1.3.11.5 Availability…………………………………………………………………………9

Chapter II: LITERATURE REVIEW

2.1 Introduction…………………………………………………………………………...10

2.2 PRO REVIEW …………………………………………….………………………...10

2.3 Importance Of Finding Info of places……………………………………............….11

2.4 Original Study Work………………………………………………………............….11

Chapter III: METHODOLOGY

3.1 Introduction…………………………………………………………………………...13

3.2 Agile Methodology…………………………………………………………………...13

3.3 Advantages of Using Agile Methodology….………………………………………...14

3.3.1 Better Customer Satisfaction…….………………………………………….………...14

3.3.2 Flexible in Changing Requirement……..….…………………………………….…...14

3.3.3 Better Customer Satisfaction…….…………………………………………………...14

(iv)
3.3.4 Cooperation between Business people and developers….…………………………...14

3.3.5 Projects are built around trusted and motivated persons..…………………………...15

3.3.6 In Private Conversation between the Team and Customer..………………………...15

3.3.7 Pair programming and collocation…………………………..……………………….15

3.3.8 Maintainable Development.………………………………..………………………...15

3.3.9 Self Organizing Team…………………………..…………………………………….16

3.3.10 Self Establishing Teams.………………………………..…………………………...16

3.4 Phases of Agile Methodology……..…………………………..……………………….16

3.4.1 Requirement Analysis.…………………..…………………..………………………...16

3.4.2 Design……………….…………………..…………………..………………………...17

3.4.3 Development………...…………………..…………………..………………………...17

3.4.4 Implementation……...…………………..…………………..………………………...17

3.4.5 Maintenance.…………………..…………………..…………………………………...17

Chapter IV: REQUIREMENTS AND DESIGN

4.1 User Requirements………………………………………………………………………18

4.2 Use Case Diagram………………………………………………………………….........19

4.3 Activity Diagram………………………………………………………………………...21

4.4 Entity-Relationship Model……………………………………………………………....22

4.5 High Level Architecture…………………………………………………………............23

Chapter V: TOOLS AND TECHNOLOGIES

5.1 Overview of Tools………………………………………………...………………….24

5.2 Android……………………………………………………………………………….25

5.2.1 History………………………………………………………………………………..25

5.2.2 Features of Android…………………………………………………………………..25

(v)
5.2.3 Android Studio…………………………………………………………………….....26

5.2.4 Volley Library for Making HTTP Request…………………………………………..26

5.3 PHP……………..……………………………………………………………………27

5.4 Database Server..……………………………………………………………………..27

5.5 Google Maps…..…………………………………………………………………......27

5.6 Google Places API……………………………………...……………………………28

5.7 GPS……………..……………………………………………………………………28

Chapter VI: IMPLEMETATION

6.1 Splash Screen………………………………………………………………………...29

6.2 Registration Activity…………………………………………………………………30

6.3 Login…………………………………………………………………………………31

6.4 Main Activity………………………………………………………………………...32

6.5 Submit Review Activity………………….…………………………………………..33

6.6 Search List…..………………………………………………………………………..34

6.7 Incentive Mechanism Detail………………………………………………………….36

6.8 Google Map ……….…………………………………………………………………38

Chapter VII: TESTING

7.1 App Features for testing ………..…………………………………………………...39

7.2 Testing singleton object of HTTPS Request Queue………………………………...39

7.3 Test Result..…………………………………………………………………………42

7.4 Download Places Data……………………………………………………………....43

7.5 Test Result..…………………………………………………………………………45

7.6 Adding Markers to map…………..…………………………………………………45

7.7 Test Result..…………………………………………………………………………47

(vi)
7.8 Download and display User Review…………………………………………………48

7.9 Test Result..…………………………………………………………………………50

7.10 Capture Review Images……………………………………………………………51

7.11 Test Result..…………………………………………………………………………53

7.12 Test Case 1..…………………………………………………………………………54

7.13 Test Case 2…………………….…………………………………………………….55

7.14 Test Result..…………………………………………………………………………56

7.15 Test Case …………………….……………………………………………………...57

7.16 Test Result..…………………………………………………………………………59

7.17 Test Case …………………….……………………………………………………...59

7.18 Test Result..…………………………………………………………………………60

7.19 Test Case …………………….……………………………………………………...61

7.20 Test Result..…………………………………………………………………………60

7.19 Test Case …………………….……………………………………………………...61

7.20 Test Result..…………………………………………………………………………63

7.21 Test Case …………………….……………………………………………………...63

7.22 Test Result..…………………………………………………………………………64

7.23 Testing Library...……………………………………………………………………65

Chapter V: RESULTS AND CONCLUSION

5.1 Results……………………………………………………………………………….66

5.2 Conclusion…………………………………………………………….......................66

5.3 ...Future Work…………………………………………...……………………………67

References.......…………………………………………………………………………...68

(vii)
LIST OF FIGURES

Figure 3.4.5: Agile Methodology…………………….……………………………………17

Figure 4.2: Use Case diagram for user……………….……………………………………20

Figure 4.3: Activity diagram for the user…………………………………………………21

Figure 4.4: Entity-Relationship Diagram.........................................................................22

Figure 4.5: System Architecture………………………………………………………...23

Figure 6.1: Splash Screen……………………………………………………………….29

Figure 6.2: Registration Activity………………………………………………………..30

Figure 6.3: Login Activity……………………………………………………………....31

Figure 6.4: Main Activity ……...………………………………………………………..32

Figure 6.5: Submit Reviews…...………………………………………………………...33

Figure 6.6.1: List of Shopping Mall…………………………………………..………….34

Figure 6.6.2: List of Restaurant..…………… ………………………………..………….35

Figure 6.6.3: List of Hospitals ……………………………………………….………….35

Figure 6.7.1: Incentive Mechanism (display balance)...…………………………………..36

Figure 6.7.2: Incentive Mechanism (display Offers)……………………………….……..37

Figure 6.9.2: Google Map…………………………………………………………………38

Figure 7.2: Testing Singleton Object of HTTPS Request Queue..……………………....40

(viii)
Figure 7.2 Testing Singleton Object of HTTPS Request Queue..…………………………40

Figure 7.3: Test Result………………..…………………………………………………..42

Figure 7.4: Test case of Download Places Data.…..…………..…………………………43

Figure 7.4: Code of Download Places Data.…..…………..…………………..…………43

Figure 7.5: Test Result………………..………………………………………………….45

Figure 7.6: Test case of Adding markers to map.…..……………………………………45

Figure 7.7: Test Result………………..………………………………………………….47

Figure 7.8: Test case of Download abnd Display User Review…………………………48

Figure 7.9: Test Result………………..………………………………………………….50

Figure 7.10: Test case of Capture Image Review.…..……………………………………51

Figure 7.11: Test Result………………..………………………………………………….53

Figure 7.16: Test Result………………..………………………………………………….59

Figure 7.18: Test Result………………..………………………………………………….60

Figure 7.14: Test Result………………..………………………………………………….56

Figure 7.20: Test Result………………..………………………………………………….63

Figure 7.22: Test Result………………..………………………………………………….64

(ix)
LIST OF TABLES

Table 7.12: Test Case………………..……………………………………………………54

Table 7.13: Test Case………………..……………………………………………………55

Table 7.14: Test Result………………..………………………………………………….56

Table 7.17: Test Case………………..……………………………………………………59

Table 7.19: Test Case………………..……………………………………………………61

Table 7.21: Test Case………………..……………………………………………………63

(x)
Abstract

Pro Review is an Android app which facilitates the travelers to find hotels,

retaurants, hospitals near to them based on their GPS location. Our application

provide some easiness to travelers and for saving the time of travelers, this is an

android-based application, this app will provide users a platform for checking the

reviews regarding the place (restaurant, hotels, hospitals) that users want to visit.

In addition, users can submit the reviews (can be ratings, description and images)

about the place that users have visited.We have applied incentive mechanism(a

mechanism for filtering reviews) in it.Pro Reviews is basically based on crowed

sourcing. Google Map used to show travelers location which make application

look more interactive and attractive.

(xi)
CHAPTER NO I

INTRODUCTION

1.1 INTRODUCTION

This chapter discusses the research that was done in order to know about your

most wanted places of unknown cities by searching through an app and also get

knowledge of that place according to reviews of people that either that restaurant

or shopping mall etc is worth going for you or not. The original study work is

also discussed in this chapter to give readers idea of the application that has been

developed. Your current place is taken by this app, and show you nearby places

accordingly.

1.2 BACKGROUND

As a traveller it is always been a difficulty to find some good restaurants,

shopping malls or hospitals in a new city where you don’t know anyone to guide

you perfectly. And if you heir a guider than may be there is a possibility that he

can tell you some places according to his choice that you don’t like after visiting.

In past few years, so many apps have been built related to searching places of any

city in which someone is a new comer, a traveller or a tourist. That kind of apps

1
guides users to get knowledge of that particular place where user is wanted to go

for the very first time. These kinds of apps are working in most of the American

and European countries.

Tourism becomes popular worldwide, facilitated by many mobile apps to know

the different nature of cities. Mobile apps provide a wide range of information in

a short period of time. A tourist can read reviews of any particular place and

decide what and when they require. Travelers become more empowered through

the use of technologies during their travels.

Our app is based on crowed sourcing. This application facilitates the travellers to

find hotel, restaurant, hospitals, and shopping malls without any difficulty. We

are developing an application which is named as PRO REVIWS .Here you can

find nearby places. Our application has all the features similar to current available

applications but in addition we are adding the mechanism for filtering reviews.

1.3 INTRODUCTION OF OUR APPLICATION:

1.3.1 Pro Reviews

With so many applications providing information, guideline and other features

but there is an immense need of something unique that attracts the user. So this

thesis presents a concept which facilitates the tourists/traveler as soon as they

have been issued to them. The procedure of this app starts from the admin side of

the application where user log in and turn his location on so the map will show

2
him how far his respective place is. Then he can go on review section and read

reviews of other users. After that he can give his own review along with pictures

too. The app provides gifts for their users to get the attention of its users. This

app will filter abusive reviews too.

In this app, a user first have to login and write the area and city name to know the

location and also find out reviews of other users to know what exactly the services

are provided by that place and is it suitable for him to go there. A user can also

give review of that place.

More specifically once you login the app, the app get your current location and

show you the four most wanted places: like “hospitals”,”restaurants”,”schools”,

”university”. So these all four places displayed on your screen, now yoy

spwcifically choose where you want to go- let’s say you choose restaurents: then

all the nearly available restaurants are dsiplay on your screen, now you can check

the reviews of any restaurent you want, you can get to see how many of people

like or dislike the place you choose to visit. It will help you to take the right

decision. “save your day, effort and time”

1.3.2 Motivation and Need:

Tourism is one of the rapidly growing businesses of the Pakistan and it is paying

obstinately in the Pakistan economy. The objective for developing the application

is to recommend places to visit within Pakistan for tourists and travellers in order

to assist them in planning and choosing places that are the most suitable for them

3
and meet their needs. As a traveller it is always been a difficulty to find some

good restaurants, shopping malls or hospitals in a new city where you don’t know

anyone to guide you perfectly. And if you hiar a guider then maybe there is a

possibility that he can tell you some places according to his choice that you don’t

like after visiting. As you heard ‘Moriority is Authority’ so here, from our

application you can check out what majoirity is reffering so you can get a good

idea in make your choice.

1.3.3 Aim:

To develop an Android app and to make easy for traveller to search and locate

places near to them. See what others recommend the most. Check out what is

worth visiting.

1.3.4 Objectives:

 Users would be able to post their reviews, rate the app, and upload five

pictures of the things you like the most about different places using this

app.

 Make easy and convenient way of finding places. Searching would be easy.

 Location would be displayed on Google map.

4
 According to your location nearby hospitals, restaurants and other things

are also displayed on Google Map.

1.3.5 Area of application:

We have gone through the literature and found that such kind of application has

been developed in USA, India, UK, and France but they are not really working

for Pakistan. So we are developing this app which will be used all over Pakistan.

1.3.6 Advantages:

If you want to go outside and you don’t know about the best shopping mall, you

just have to do is search the shopping mall in Pro Review the list of nearby

shopping malls will appear on the screen. You can checkout photos and reviews

of that place. After visiting some place you can also post your review about that

place and get reward (in terms of money) from application which you can use in

other area like Careem, Daraz and other online transaction.

1.3.7 Limitations:

 We have developed our project on android platform. It cannot be used on

IOS.

 You must have android based phone to download and use this app.

 It requires internet connection to download the app and use it.

5
1.3.8 WHO CAN USE THE SYSTEM

1.3.8.1 User:

User can login/logout the system. The user can view, and post comment, rate the

app, rate the places, upload five pictures of the things you liked the most about

the place you visited, check others recommendation.

1.3.9 FUNCTIONAL REQUIREMENTS:

1.3.9.1 Registration:

For being member of the app a person need to register himself/herself.

1.3.9.2 Login page:

After successful registration the user can login from his/her username and

password to view the app and post reviews about places.

1.3.9.3 Post Reviews:

 The user would post the review about places.

 Rate the places

 Upload pictures (max five)

6
1.3.9.4 GPS:

While posting the review the user must have to give his/her location either by

choosing the manual option or automatically by turning the GPs location on. It is

fundamental requirement because everything is based on the user’s current

location.

1.3.9.5 Searching:

The user can easily search the places by selecting the city name or by typing

directly the place that user wants to visit. It help you in this way that you don’t

bother yourself by individually asking the people what they suggest.

1.3.9.6 Google Map:

We have used Google Map so that the travellers can easily search the places near

to them. Also, you can check the direction so you don’t need to ask anybody

where that particular place is located.

7
1.3.10 SOFTWARE & HARDWARE REQUIREMENTS:

 Android Studio

 MySQL

 JSON

 PHP

 Emulator

 Mobile Phone

1.3.11 NON-FUNCTIONAL REQUIREMENTS:

1.3.11.1 Performance Requirements:

Performance of Pro Review Mobile application is the main concern as it is

directly linked with aspect of users those are travelling in unknown places

therefore any of the uncertainty in terms of performance would not be tolerated.

Thus hardware and software compatibility should strictly matched the minimum

requirements (defined in the below section) of this application tool. Response

time of searching places should be speedier. User application should behave

normally.

8
1.3.11.2 Security Requirements:

The application should identify user with valid login id and password using login

feature. Pro Reviews mobile application would be secure and would validate each

entrance and would only allow authenticated mobile. Only verified app user

would be able to use the application. At its very first panel, a login would be

require and only then further proceed is possible.

1.3.11.3 Software System Requirements:

The software requirements used to develop this application are as following:

Android Studio: android programming will be used to develop the application for

android platform and we will be using android studio for development.

SQL Database: SQL programming will be used to save the records (comments

and ratings) into server database.

1.3.11.4 Maintainability:

Backup of the application should take regularly, so if application crash due to any

reason, we can recover data from backup.

1.3.11.5 Availability:

Application can be easily downloadable and available on play store.

9
CHAPTER NO II

LITERATURE REVIEW

2.1 INTRODUCTION

This chapter discusses the research that was done in order to know about your

most wanted places of unknown cities by searching through an app and also get

knowledge of that place according to reviews of people that either that restaurant

or shopping mall etc is worth going for you or not.

The original study work is also discussed in this chapter to give readers idea of

the application that has been developed.

2.2 PRO REVIEW

As a traveler it is always been a difficulty to find some good restaurants, shopping

malls or hospitals in a new city where you don’t know anyone to guide you

perfectly. And if you heir a guider than may be there is a possibility that he can

tell you some places according to his choice that you don’t like after visiting.

In past few years, so many apps have been built related to searching places of any

city in which someone is a new comer, a traveler or a tourist. That kind of apps

guides users to get knowledge of that particular place where user is wanted to go

10
for the very first time. These kinds of apps are working in most of the American

and European countries.

In this type of apps, a user first have to login and write the area and city name to

know the location and also find out reviews of other users to know what exactly

the services are provided by that place and is it suitable for him to go there. A

user can also give review of that place.

2.3 IMPORTANCE OF FINDING INFO OF PLACES

Tourism becomes popular worldwide, facilitated by many mobile apps to know

the different nature of cities. Mobile apps provide a wide range of information in

a short period of time.

A tourist can read reviews of any particular place and decide what and when they

require. Travelers become more empowered through the use of technologies

during their travels.

2.4 ORIGINAL STUDY WORK

With so many applications providing information, guideline and other features

but there is an immense need of something unique that attracts the user. So this

thesis presents a concept which facilitates the tourists/traveler as soon as they

have been issued to them.

11
The procedure of this app starts from the admin side of the application where user

log in and turn his location on so the map will show him how far his respective

place is.

User can go on review section and read reviews of other users. After that he can

give his own review along with pictures too. The app provides gifts for their users

to get the attention of its users. This app will filter abusive reviews too.

12
CHAPTER NO III

METHODOLOGY

3.1 INTRODUCTION

This chapter discusses the methodology that we had used in the construction of

our project. In the first chapter we described the purpose and working principle

of the application and, later we described the literature review of the project on

the basis of literature review ,background and history we had developed our

application.We are following some procedures in building our application. The

whole software life cycle is based on these procedures, including requirement

gathering,designing of the system and then implementing the whole system and

software system evaluation.

3.2 AGILE METHODOLOGY

We are using agile methodology in building our application. Agile methodology is used widely

in the development of software projects. Agile methodology is based on incremental and

iterative approach. Each increment have six phases and after each increment a part of software

is build. All processes are broken into separate model that coder and designer work on. Main

Advantage of using agile methodology is that error can be find and fixed in the early of the

project. Every iteration has its own testing phase so there will be less chances of occurring error

at the time of shipment.

3.3 ADVANTAGES OF USING ADGILE METHODOLODY

13
3.3.1 Better Customer Satisfaction

Customer Satisfaction increase through continuous delivery of the product, through continuous

delivery customer are keep in touch with the development of the product, customer know the

progress and through delivery of each increment to the customer by fulfilling the user

requirement. The output of each iteration is a code that can be used to check whether they want

some changes or not.

3.3.2 Flexible In Changing Requirement

Agile methodology is flexible in changing requirement unlike in waterfall model in which all

the requirements are gather at the beginning of the phase or if customer wants to change the

requirement or want to change anything in the project, the customer will change it easily, while

in agile customer can change the requirement any time even late in the development phase.

3.3.3 Project Will Be Delivered On Time

Agile methodology provide an efficient way of delivering the project on time, because it

provide the immediate values (code) in each iteration and then user give some comments about

that value which is delivered to him. The team make sure that all the features are fully

developed, tested, styled and accepted by the customer.

3.3.4 Cooperation between business people and developers

Agile development methodology include observance of requirements and documentation

lightweight, and informing that change is a normal and acceptable in software development.

This makes close partnership in order to clarify requirements just-in-time and to keep all team

members on the same platform through the development.

3.3.5 Projects are built around trusted and motivated persons

14
Projects are built around motivated and trusted persons who are given the environment and

support they needed. Team members choose the jobs in which they have interest, e.g if someone

is having interest in testing or someone in designinig etc

3.3.6 In Private conversation between the team and Customer

Gaining direct feedback by customer or use verbal communication at the workplace for the

benefit of better understanding. Virtual squad conversations are enabled through video

conferencing.

3.3.7 Pair programming and collocation

The principle of agile methodology is practiced through collocation and pair programming.

Collocation involves a many teams in the same area, pair programming involves two or more

programmers sharing a single workstation (single screen, keyboard and mouse). The

programmer at the keyboard is also called the "driver", and the other programmer which is

tangled in the programming task but focusing on two or more task is called "navigator".

3.3.8 Maintainable development

Agile methodologies provide a balance among their personal and professional lives the crew

members promote happiness by avoiding stress or tiredness. Through teamwork and being

creative.

3.3.9 Self Organizing Team

15
Agile methodologies provide the constructions, styles, requirements, and designs arise from

self-organizing teams. After passing some time, the team decide how to become more effective,

then set its performance accordingly. These meetings guarantee that the lessons which we have

learned in the project are implement into the next iteration.

3.3.10 Self-Establishing Teams

The team is completely self-managing under the agile methodology. The team has the

responsibility to meet the goals of the product and is accountable for defining how they will

achieve the task which has to be completed. The basic rule is that the team knows how to do

the work.

3.4 PHASES OF AGILE METHODOLOGY

3.4.1 Requirement Analysis

In this phase we gather the requirements of our project. This phase addressed all the

requirements like

 User Requirement

 System Requirement

 Functional Requirement

 Non-Functional Requirement.

3.4.2 Design

16
In this phase we were build the layout, structure and high level design of the system. we are

divided each task into subtask. Test cases were also made in this phase.

3.4.3 Development

In this phase we were developed our project. First we were developed the login activity and

further we were developed the other activities in consequent iterations. Unit testing is done in

this phase. A defect report is also generated in the last of each iteration if there is any flaws.

3.4.4 Implementation

After each iteration we are doing testing of the code to in order to confirm that our application

is free from any bud or error. Regression testing is also done in this phase. We released small

portions of project. System testing is done after the complete release of the project.

3.4.5 Maintenance

In this phase some changes are made in project in order to repair flaws in design coding and

implementation.

Planning

Maintenance Designing

implementing Developing

Figure 3.4.5 Agile Methodology

17
CHAPTER NO IV

REQUIREMENTS AND DESIGN

4.1 USER REQUIREMENTS

In the world of growing technology people want to be served and facilitated by

doing minimum amount of hard work and there is no full stop in making more

and more advancements and improvements. Travelling is a growing business in

all over the world and also in Pakistan and it is paying obstinately in the Pakistan

economy.

The objective for developing the application is to recommend places to visit

within Pakistan for tourists and travellers in order to assist them in planning and

choosing places that are the most suitable for them and meet their needs.

Online travelling assistant provides you convenience.

There are many more benefits of online travelling applications. There are

thousands of these kinds of apps and websites running in the world. We have also

developed an online travelling assistant app but with an additional feature of

incentive mechanism. Before developing our app we have gone through the

background of such systems.

18
The main problem which we have observed is that when the user search place

they don’t know about the environment of that place or either the place is good

or bad. To resolve this issue we have decided to develop an app which can help

the travellers to search the places near to the user and user can see the ratings and

read the comments about place so the decision could be made easy for the

travellers.

4.2 USE CASE DIAGRAM

Use case diagrams are usually defined to as behaviour diagrams used to describe

a set of actions (use cases) that some system or systems (subject) should or can

perform in collaboration with one or more external users of the system (actors).

19
Fig 4.2 shows the use case diagram for user. This diagram shows that user can

edit profile. He/she can edit and delete review from the application.

20
4.3 ACTIVITY DIAGRAM

Activity diagram is an important diagram in UML to describe the dynamic

aspects of the system. Activity diagram is basically a flowchart to represent the

flow from one activity to another activity. The activity can be described as an

operation of the system.

Fig 4.3. shows the activity diagram for the user. For using the application user

must have to register himself/herself first.When the user get registered with the

application, he/she can just login through their account.

21
4.4 ENTITY-RELATIONSHIP MODEL

An entity–relationship model (ER model) describes inter-related things of

interest in a specific domain of knowledge. An ER model is composed of entity

types (which classify the things of interest) and specifies relationships that can

exist between instances of those entity types.

Fig 4.4 shows the Entity-Relationship Diagram of the project

22
4.5 HIGH LEVEL ARCHITECTURE

High Level Architecture (HLA) is a family of related standards that together

describe a unified approach and common architecture to construct interoperable

simulation systems [1].

Fig 4.5 shows the High Level Diagram of the project

We can access application through android mobile and web. We can perform

functions with j-son parsing which is shared database so that when app is installed

in your phone it will make request to the server and server will give you response

from the centralized database and then we can use the application and access the

application.

23
CHAPTER NO V

TOOLS AND TECHNOLOGIES

This section includes the tools used for the implementation of the business logic

or the internal working:

5.1 OVERVIEW OF TOOLS

A software development tool is a program or application that software developers

use to create, debug, maintain, or otherwise support other programs and

applications. The term usually refers to relatively simple programs that can be

combined together to accomplish a task, much as one might use multiple hand

tools to fix a physical object.

Tools were originally simple and light weight. As some tools have been

maintained, they have been integrated into more powerful integrated

development environments (IDEs). These environments consolidate functionality

into one place, sometimes increasing simplicity and productivity, other times

sacrificing flexibility and extensibility.

.For many years, computer-assisted software engineering (CASE) tools were

sought after. Successful tools have proven elusive. In one sense, CASE tools

24
emphasized design and architecture support, such as for UML, but the most

successful of these tools are IDEs.

The ability to use a variety of tools productively is one hallmark of a skilled

software engineer.

5.2 ANDROID

5.2.1 History

A software platform and operating system for mobile based on the Linux kernel.

Android was found way back in 2003. It was developed in Palo Alto, California.

Android was developed by Andy Rubin, Rich Miner, Nick Sears and Chris White.

Android was purchased by the Google in August 2005 for 50 million $.

5.2.2 Features of Android:

 Android is not a single piece of hardware. Android supports wireless

communication using 3G Networks, 4G Networks, 802.11 Wi-Fi Networks

and Bluetooth Connectivity.

 Android is a multi-process system, in which each application runs in its

own process.

 Interface is better than the previous touch screen mobiles.

 Android supports advanced audio/video/still media formats such as

MPEG-4, H.264, MP3 and AAC, AMR, JPEG, PNG, GIF.

25
 Developing an android application is not tough using SDK (standard

development kit) and java emulator we can easily develop applications that

we want.

5.2.3 ANDROID STUDIO

Android Studio is the official Integrated Development Environment (IDE) for

Android app development, based on IntelliJ IDEA. On top of IntelliJ's powerful

code editor and developer tools, Android Studio offers even more features that

enhance your productivity when building Android apps. A fast and feature-rich

emulator. A unified environment where you can develop for all Android devices.

Instant Run to push changes to your running app without building a new APK.

Android studio is used for this project as this project is based on mobile

application. First we install java development kit and then android studio. What

comes with android studio is a flexible gradle based build system, code templates,

github integration, and then download the latest android SDK components.

5.2.4 Volley Library for Making Http Request

Android volley library is an http library that is used to manage network calls in

android. It is fastest than other libraries. In our app, it automatically scheduled

network requests, transparent memory and disc caching.

26
5.3 PHP

PHP (Hypertext Processor) is a widely used open source general purpose server-

side scripting language and a powerful tool which is designed for making the

interactive Web pages.

This technology has been used in this project for developing the mobile

application scripts so that mobile application can connect to the database. The

version of PHP used in this project is 7.2.5.

5.4 Database Server

The database used for the proposed application is MYSQL database version

5.7.19. MYSQL is a freely available open source Relational Database

Management System (RDBMS) that uses Structured Query Language

(SQL).SQL is the most popular language for adding, accessing and managing

content in a database. It is most noted for its quick processing, proven reliability,

ease and flexibility of use.

3.5 GOOGLE MAPS

Google map is a powerful tool that helps you to find your wanted location. Google

map is able to find your location by just writing your target keywords.

In this project a user can find its concern location through this technology easily.

27
3.6 GOOGLE PLACES API

Google maps offers it’s API worldwide so one don’t need to write the full coding

for the same function. We use this method in our app to take benefits of this

technology.

3.7 GPS

GPS tracker is a navigation device installed in a mobile to track its movement and

location. Its basic features are real time tracking, route history up to 6 months,

and speed alert. We use this in our app to track the location of any place. It can

be activated via this pro review mobile app.

28
CHAPTER NO VI

IMPLEMENTATION

6.1 SPLASH SCREEN:

Pro Review is an idea to facilitate the traveller, because as a traveller it is always

been a difficulty to find some good restaurants, shopping malls or hospitals in a

new city where you don’t know anyone to guide you perfectly.

Figure: 6.1

29
6.2 REGISTRATION ACTIVITY:

In registration activity you have to fill the all field appropriately and then press

signup button you will be registered and you can login in the app with id or

password.

Figure 6.2

30
6.3 LOGIN:

After getting registered, the user will write its user name and password to get

login.

Figure 6.3

31
6.4 MAIN ACTIVITY:

The main activity is showing all the nearby places including hospitals,

hotels,restaurants, parks on the map.

Figure 6.4

32
6.5 SUBMIT REVIEW ACTIVITY:

To submit a review you have to fill all the fields given in the activity. After filling

all the fields you just click the submit button and your review will be submitted

on the application.

Figure 6.5

33
4.6 SEARCH LIST:

When you search the particular place in the search box either it is hospital,

restaurant, hotel it will show you list of that places along with ratings.

Figure 6.6 (a) shows the list of shopping mall

34
Figure 6.6 (b) shows the list of restaurant

Figure 6.6 (c) shows the list of hospitals

35
6.7 INCENTIVE MECHANISM DETAIL:

We have applied incentive mechanism in our application it can automatically

remove the slang or vulgar word, and filtered out the comments. After visiting

some place user can also post their reviews about that place and get reward (in

terms of money) from application. User can also check their balance, and use

that amount in other application like daraz and careem.

Figure 6.7(a)

36
Figure 6.7(b)

37
6.8 GOOGLE MAP:

When you click view location on map Google map activity will open and it will

show you the locations of nearby hospitals, shopping centers and hotels.

Figure 6.8

38
CHAPTER NO VII

TESTING

7.1 App Features for testing:

 Testing singleton object of HTTPS Request Queue

 Download places Data

 Adding Markers to map

 Download and display User Review

 Capture Review Images

7.2 Testing singleton object of HTTPS Request Queue

 HTTPS Request Queue handles all https request.

 Instead of creating new Request Queue each time when me have to make

a https request we should create only one Request Queue and use it all

across the app.

 It saves the memory of device.

39
Figure 7.2 a

Figure 7.3 b

40
Figure 7.4 c

41
7.3 Test Result

Figure 7.3

42
7.4 Download places Data

 Download near by place’s data and store it.

 To download data we need :

o Internet connectivity

o Google API key for nearby places

o Current location co-ordinates

o Place type

Figure 7.4 a

43
Figure 7.4 b

Figure 7.4 c

44
7.5 Test Result

Figure 7.5

7.6 Adding Markers to map

 Create markers using downloaded places data

Figure 7.6 a

45
 Add markers to google map

Figure 7.6 b

Figure 7.6 c

46
7.7 Test Result

Figure 7.7 a

47
Figure 7.7 b

7.8 Download and display User Review

 Download user’s posted review data

Figure 7.8 a

48
 Display data

Figure 7.8 b

49
7.9 Test Result

Figure 7.9 a

Figure 7.9 b

50
Figure 7.9 b

7.10 Capture Review Images

 Capturing images that user wants to post while posting reviews

Figure 7.10 a

51
Figure 7.10 b

52
7.11 Test Result

Figure 7.11

53
7.12 Test Case:

Test Case # : 1 Test Case Name : Testing singleton object of HTTPS

Request Queue

System : Pro Reviews Subsystem : HTTPS: request system

Designed By : 16SW20 (KAMRAN KHAN) Design Date : 29/7/2019

Executed By : 16SW20 (KAMRAN KHAN) Execution Date : 29/7/2019

Short Description : This test case checks whether the only one HTTPS Request Queue is used though out

app or not.

Pre Conditions :

 Android smart phone.

 App installed in android phone

 App should have internet connectivity.

Table 7.12

54
7.13 Test Case :

Exp Action Expected System Response Valid/Invalid Comments

1 Get application context System should be in state of Valid NA

from resources manager of providing context.

app.

2 Create object of Request System should provide object of Valid NA

Queue class using Request Queue and store one copy

Singleton class. of object for later use.

3 Create another object of System should return the store Valid NA

Request Queue using copy of Request Queue object.

Singleton class.

4 Compare both object. System should return “true” if Valid NA

both objects are equals and “false”

if both objects are not equals.

Table 7.13

55
7.14 Test Results:

Post – Conditions :

 System should return same copy of Request Queue object whenever it is needed.

Table 7.14

56
7.15 Test Case

Test Case # : 2 Test Case Name : Download Places Data

System : Pro Reviews Subsystem : Download Places Data

Designed By : 16SW16 (AHSAN ARAIN), Design Date : 29/7/2019

16SW172 (Rusab Khan).

Executed By : 16SW20 (KAMRAN KHAN) Execution Date : 30/7/2019

Short Description : This test case checks whether the places data is downloaded successfully or not.

Pre Conditions :

 Android phone.

 App installed in android phone

 App should have internet connectivity.

 Places API key

 Co-ordinates of current location

 Type of places

 Object of Request Queue

Table 7.15 a

57
Exp Action Expected System Response Valid/Invalid Comments

1 Get current Location of System should provide current Valid NA

phone. location of device using GPS.

2 Get type of places. Get type of places from the user. Valid NA

3 Adding place type in URL Insert the type of the places in Valid NA

URL.

4 Making HTTPS request to System should make request and Valid NA

download data. wait for response to come from the

server.

5 Checking response System should check response if Valid NA

server has responded with places

data or an error has occurred.

Table 7.15 b

Post – Conditions :

 If server has responded with places data.

o Parse data and store it.

 If an error is occurred.

o Check if error because of internet connectivity, then make a request and wait for response to

come.

58
7.16 Test Results

Figure 7.16

7.17 Test Case

Test Case # : 3 Test Case Name : Adding Marker to Map

System : Pro Reviews Subsystem : Create Map of places

Designed By : 16SW54 (FAHAD RAJPUT), Design Date : 29/7/2019

16SW180 (AYMAN SHAIKH).

Executed By : 16SW20 (KAMRAN KHAN) Execution Date : 30/7/2019

Short Description : This test case checks whether the marker of places are inserted to map successfully or

not.

Pre Conditions :

 Android phone.

 App installed in android phone

 App should have internet connectivity.

 Downloaded Places data

Table 7.17 a

59
Exp Action Expected System Response Valid/Invalid Comments

1 Create the marker’s System should create marker’s Valid NA

resources. resources using places data and

store them.

2 Adding marker to google System should add each marker to Valid NA

map. google map.

Table 7.17 b

Post – Conditions :

 After adding markers system should store each object of marker. Stored marker will used for

modifying or removing marker from the map.

7.18 Test Results

Figure 7.18

60
7.19 Test Case

Test Case # : 4 Test Case Name : Download and Display User Reviews

System : Pro Reviews Subsystem : User Reviews

Designed By : 16SW16(AHSAN ARAIN),


Design Date : 29/7/2019

16SW54 (FAHAD RAJPUT),

16SW172(RUSAB KHAN),

16SW180 (AYMAN SHAIKH).

Executed By : 16SW20 (KAMRAN KHAN) Execution Date : 30/7/2019

Short Description : This test case checks downloading user review and displaying them.

Pre Conditions :

 Android phone.

 App installed in android phone

 App should have internet connectivity.

 Object of Request Queue

Table 7.19 a

61
Exp Action Expected System Response Valid/Invalid Comments

1 Get user’s review data System should make request for Valid NA

using user’s email address. the user review data, and wait for

response to come.

2 Checking response from System should check response Valid NA

the server. whether server has responded data

or an error has occurred.

3 Parsing data System should parse data into Valid NA

required format and store it.

4 Displaying data System should get stored user data Valid NA

and display it.

Table 7.19 b

Post – Conditions :

 User Review should be store in the system for later use.

62
7.20 Test Result:

Figure 7.20

7.21 Test Case

Test Case # : 5 Test Case Name : Capture Review Image(s)

System : Pro Reviews Subsystem : Posting Reviews

Designed By : 16SW20(KAMRAN KHAN) Design Date : 29/7/2019

Executed By : 16SW20 (KAMRAN KHAN) Execution Date : 30/7/2019

Short Description: This test case checks capturing review image(s) successfully.

Pre Conditions :

 Android phone.

 App installed in android phone

 App should have internet connectivity.

 Name, co-ordinates and type of place

Table 7.21 a

63
Exp Action Expected System Response Valid/Invalid Comments

1 Opening camera. System should give access to Valid NA

camera and its resources.

2 Capturing image(s). System should capture image(s). Valid NA

3 Temporary storing System should store image(s) Valid NA

image(s). temporary.

Table 7.21 b

Post – Conditions :

 Upload captured image(s) with other review data.

7.22 Test Result:

Figure 7.22

64
7.23 Testing Libraries

We have used these libraries to test our application’s module.

 Devices:

1. IDE android studio

2. android device physical

 lib

testImplementation 'junit:junit:4.12'

androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0',{

exclude group:'com.android.support',module: 'support-annotations'

})

1. androidTestImplementation "com.android.support.test:runner:1.0.2"

2. androidTestImplementation "com.android.support.test:rules:1.0.2"

65
Chapter VII

RESULTS AND CONCLUSION

7.1 Results

It can be said that we have achieved the required goal. Our main goal was to

facilitate the user in finding nearby places of unknown cities by searching through

an app and also get knowledge of that place according to reviews of people that

either that restaurant or shopping mall etc. is worth going for you or not.

7.2 Conclusion

This android app is based on Crowed Sourcing model means that end user use the

application and if they face any difficulty in finding their place of interest other

end user help them.. Using this android app you can get reward in terms of money

after posting reviews and rating about the place they have visited.

As we have discussed earlier that the only aim for developing this android app

was to help the travellers to finding their place of interest easily by using Google

map so that travellers would not face any difficulty in finding nearby places.

66
7.3 Future Work

Our application is android based. It cannot be used on IOS. It can be developed

on IOS for iPhone users.

Provide maximum security measures to the user so that they cannot face any

difficulty.

67
Refrences:

 https://tg.yasar.edu.tr/en/department-of-tourism-guidance/

 https://developers.google.com/maps/documentation/android-sdk/start
 https://www.google.com/search?ei=zJNKXZfcBaa_lwSLj7ugCA&q=mar
kers+in+google+maps+android&oq=markers+in+google+maps+android
&gs_l=psy-ab.3..0i22i30l10.33459.45185..45449...1.0..2.1187.13136.2-
9j4j2j5j4j2......0....1..gws-
wiz.....10..0i71j35i39j0i67j0j0i131j0i131i20i263j0i20i263.CEOAC9sLR
Hg&ved=&uact=5
 https://www.google.com/search?q=high+level+diagram+for+tourism+ap
plications&tbm=isch&source=univ&sa=X&ved=2ahUKEwjxjdjks_DjAh
XJzYUKHbqED5IQsAR6BAgGEAE
 https://developers.google.com/places/web-
service/intro?utm_source=google&utm_medium=cpc&utm_campaign=F
Y18-Q2-global-demandgen-paidsearchonnetworkhouseads-cs-
maps_contactsal_saf&utm_content=text-ad-none-none-DEV_c-
CRE_374137922351-
ADGP_Hybrid+%7C+AW+SEM+%7C+SKWS+~+Places+%7C+BMM
+%7C+Places+API-KWID_43700046143621540-aud-
563211326064:kwd-475997044718-
userloc_9075153&utm_term=KW_%2Bplace%20%2Bapi-
ST_%2Bplace+%2Bapi&gclid=CjwKCAjw7anqBRALEiwAgvGgm7frz
MpGK9jSfrIeZ7SN-
cp0V55vkzM_ktUtnWR_F_TdtfLljwjc0BoCcxcQAvD_BwE
 https://play.google.com/store/apps/details?id=com.ebmacs.pakistan.touris
m.tour&hl=en_US
 https://odosta.com/3-top-travel-apps-in-pakistan/
 http://www.ibexmag.com/featured/first-traveling-app-pakistan-makes-
travel-plans-easy/
 https://codecanyon.net/category/php-scripts

68

S-ar putea să vă placă și