Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 64

Virtual Private Network

BS COMPUTER SCIENCE
SESSION: 2015F-2019

Submitted to:
Minhaj University Lahore
School of Computer Science

Submitted by:

Muhammad Nasir Yousaf


Roll No.21
Muhammad Muttaiyab Ahmad
Roll No: 22

Supervised by:
Prof. Dr. Shahan Siddiqui
(Associate Head, School of Computer Science)
In the name of ALLAH,
The Most Beneficial,
The Most Merciful.
ACKNOWLEDGEMENT

We express our thanks and gratitude to Allah almighty and our parents, our brilliant lecturers and
friends without whose uncontained support, we could not have made this career in project
development.

We wish to place on record our deep sense of gratitude to our project supervisor Prof. Dr. Shahan
Siddiqui who helped us throughout the project work and motivated us constantly. We also
express our gratitude to Prof. Dr. Shahan Siddiqui for his motivation and valuable suggestion
throughout the BS (CS) program. We also extend our thanks to other Faculty members for their
cooperation during our program.

Finally, we would like to thank our friends for their cooperation to complete this project.

Student Name: Muhammad Nasir Yousaf


Student Name: Muhammad Muttaiyab Ahmad
DEDICATED TO

Our Parents
We dedicated our project to our parents the strong souls who taught us to trust Allah and believe
in hard work. With whom motivation and guidance we were able to perform this project with much
efforts and dedication.

Our Teachers
We also dedicated our project to our lecturers the technical persons who taught us, the modern
Knowledge of Computer Science & Technology. The skills which may have given us will be very
beneficial for us in our professional career.

Our Fellows & Juniors


It would be un-justification not mention our fellows and our juniors of our department those who
helped us throughout our career of BS (Hons) Computer Science and our stay in the University.
ABSTRACT

Hydrasdk VPN is an android app that will provide Minhaj University Lahore. Hydrasdk VPN is a
security solution that grants users secure and private access to the internet. It accomplishes this by
redirecting data through an anonymous server designed to hide the sensitive user information.

Hydrasdk VPN are a must-have for anyone who wants to take their online security and privacy to the
next level. They offer an additional layer of protection that is not much different from any of the
number of digital security practices that people are implementing: using antivirus software, not
opening shady emails from unknown senders, not sharing sensitive information on social media
DECLARATION

It’s stated that Students of Bachelor of Science in Computer Science 2015f-2019 at Minhaj
University Lahore hereby declare that the matter printed in this documentation titled “Hydrasdk
VPN” is our own work in the fulfill meant of Graduation program under Minhaj University
Lahore.
The supervision is provided by Associate Dean Dr. Bilal Shoaib and guidance is provided by our
project supervisor Prof. Dr. Shahan Siddiqui under their very good supervision, guidance and
command we are able to produce this work.
The information and data presented in this document is authentic and legitimate to the best of our
Knowledge. We have performed this project with our own effort. We have also mentioned the
resources in the reference list from which we have taken help and gotten to guidance.

Name of the student: Muhammad Nasir Yousaf

Signature of Candidate:

Name of the student: Muhammad Muttaiyab Ahmad

Signature of Candidate:
CERTIFICATE

This is to certified that the project work contained in this documentation titled “Hydrasdk VPN”
has been carried out and completed by the joint efforts of “Muhammad Nasir Yousaf” and
“Muhammad Muttaiyab Ahmad” under my supervision and command.
It is now my judgment that this project and this documentation is of sufficient standard to warrant
its acceptance by Minhaj University Lahore for BS (H) degree in the subject of Computer Science.

Date:

Supervisor: Shahan Siddiqui


(Associate Head, School of Computer
Science)

FYP In charge: Muhammad Hussain


(Lecturer, Faculty of CS & IT)

Head/Associate Head: Shahan Siddiqui


(Associate Head, School of Computer
Science)

Dean/Associate Dean: Dr. Bilal Shoaib


(Associate Dean, Faculty of CS & IT)
PROJECT BRIEF

Project Name Hydrasdk VPN

Undertaken by Muhammad Nasir Yousaf & Mohammad Muttaiyab Ahmed

Session 2015f-2019

Shahan Siddiqui
Supervised by
(Associate Head, School of Computer Science)

Platform Android (Mobile Application)

Source Language Java, XML, SQLite.

Tools Android Studio, Android Emulator, Photoshop


TABLE OF CONTENTS

CHAPTER 1 INTRODUCTION TO PROJECT ...................................................................................................................... 1


1.1 BACKGROUND & CURRENT TECHNOLOGIES ................................................................................................................ 2
1.2 MOTIVATION ............................................................................................................................................................................... 3
1.3 SCOPE .............................................................................................................................................................................................. 3
1.4 PROBLEM STATEMENT .......................................................................................................................................................... 4
1.5 STRUCTURE OF DISSERTATION ......................................................................................................................................... 4
CHAPTER 2 L I T E R A T U R E REVIEW ............................................................................................................................. 5
2.1 OVERVIEW .................................................................................................................................................................................... 6
2.2 PURPOSE ....................................................................................................................................................................................... 7
2.3 OBJECTIVE .................................................................................................................................................................................... 7
2.4 FACILITATIONS .......................................................................................................................................................................... 7
2.5 MAJOR FEATURES ..................................................................................................................................................................... 8
2.6 PRODUCT PERSPECTIVE ........................................................................................................................................................ 8
2.7 USERS.............................................................................................................................................................................................. 9
2.8 SKILLS OF TEAM MEMBERS.................................................................................................................................................. 9
2.9 SCOPE OF THE SYSTEM ......................................................................................................................................................... 10
2.10 USABILITY .................................................................................................................................................................................. 10
2.11 SUPPORTABILITY .................................................................................................................................................................... 11
2.12 SOFTWARE AND HARDWARE REQUIREMENTS........................................................................................................ 11
2.12.1 HARDWARE REQUIREMENTS .................................................................................................................................. 11
2.12.2 SOFTWARE REQUIREMENTS .................................................................................................................................... 11
2.13 TOOLS REQUIREMENTS ....................................................................................................................................................... 11
CHAPTER 3 ANALYSIS AND DESIGN ............................................................................................................................... 12
3.1 INTRODUCTION .......................................................................................................................................................................13
3.2 PROPOSED SYSTEM ................................................................................................................................................................13
3.3 PERFORMANCE ........................................................................................................................................................................14
3.4 USER INTERFACES ..................................................................................................................................................................14
3.5 DEVELOPMENT METHODOLOGY .....................................................................................................................................14
3.6 USER FRIENDLY .......................................................................................................................................................................15
3.7 PORTABILITY ............................................................................................................................................................................15
3.8 SYSTEM INCOMPLETE ...........................................................................................................................................................15
3.9 SPECIFIC FUNCTIONAL REQUIREMENTS AND PROJECT FILE STRUCTURE .................................................16
3.10 LIST OF ACTIVITIES FILES IN THIS PROJECT ..............................................................................................................16
3.11 LIST OF XML FILES IN THIS PROJECT .............................................................................................................................17
3.12 LIST OF OTHER JAVA FILES IN THIS PROJECT ............................................................................................................18
3.13 CLASSIFICATION OF FUNCTIONAL REQUIREMENTS..............................................................................................18
3.14 NON-FUNCTIONAL REQUIREMENTS..............................................................................................................................19
3.15 PROJECT FEASIBILITY ...........................................................................................................................................................19
3.15.1 TECHNICAL FEASIBILITY FOR HYDRASDK VPN ............................................................................................... 20
3.15.2 OPERATIONAL FEASIBILITY FOR HYDRASDK VPN ......................................................................................... 20
3.16 TIME ESTIMATION .................................................................................................................................................................. 20
3.17 PROJECT COST ESTIMATION/ECONOMIC FEASIBILITY ........................................................................................ 21
3.17.1 TOTAL ESTIMATED COST BECOMES ..................................................................................................................... 21
3.18 USE CASE MODELING............................................................................................................................................................. 21
3.19 REGISTERED USER.................................................................................................................................................................. 22
3.20 USE CASE DIAGRAM FOR BRAND ..................................................................................................................................... 23
3.21 USE CASE DIAGRAM FOR ADMIN ..................................................................................................................................... 24
3.22 BEHAVIORAL MODELING .................................................................................................................................................... 25
3.23 DATA MODELING ..................................................................................................................................................................... 25
3.24 SEQUENCE DIAGRAM OF USER ......................................................................................................................................... 26
3.25 AUTHENTICATION SYSTEM FOR HYDRASDK VPN .................................................................................................. 28
3.25.1 USERNAME AND EMAIL.............................................................................................................................................. 28
3.25.2 PASSWORD FOR SIGN IN ............................................................................................................................................ 28
3.26 DATABASE HIERARCHY STRUCTURE FOR ADMIN .................................................................................................. 29
3.27 DATABASE HIERARCHY STRUCTURE FOR BRAND .................................................................................................. 30
3.28 DATABASE HIERARCHY STRUCTURE FOR USER ...................................................................................................... 31
3.29 CONTEXT DIAGRAM ............................................................................................................................................................... 32
3.30 DATA FLOW DIAGRAM .......................................................................................................................................................... 34
CHAPTER 4 IMPLEMENTATION ........................................................................................................................................ 35
4.1 INPUT AND OUTPUT .............................................................................................................................................................. 36
4.1.1 INPUT OPTIONS FOR USER ............................................................................................................................................. 36
4.1.2 OUTPUT FOR USER ............................................................................................................................................................. 36
4.1.3 INPUT OPTION FOR BRAND ........................................................................................................................................... 36
4.1.4 OUTPUT FOR BRAND ......................................................................................................................................................... 36
4.1.5 INPUT OPTION FOR ADMIN ............................................................................................................................................ 37
4.1.6 OUTPUT FOR ADMIN ......................................................................................................................................................... 37
4.2 GUI 38
4.2.1 SPLASH SCREEN .................................................................................................................................................................. 38
4.2.2 SELECTION PANEL ............................................................................................................................................................. 39
4.2.3 USER LOGIN PANEL ........................................................................................................................................................... 40
4.2.4 USER DASHBOARD ............................................................................................................................................................. 41
4.2.5 USER OFFER GET SCREEN ............................................................................................................................................... 42
4.2.6 USER EDIT SETTINGS ........................................................................................................................................................ 43
4.2.7 ADMIN PANEL ...................................................................................................................................................................... 44
4.2.8 ADD ADMIN ........................................................................................................................................................................... 45
4.2.9 ALL USERS .............................................................................................................................................................................. 46
4.2.10 ALL BRANDS .................................................................................................................................................................... 47
4.2.11 BRANDS HOME ............................................................................................................................................................... 48
4.2.12 BRANDS CHAT PANEL ................................................................................................................................................. 49
4.2.13 AUTHENTICATE REQUESTS ...................................................................................................................................... 50
4.2.14 ADD OFFER....................................................................................................................................................................... 51
CHAPTER 5 TESTING ........................................................................................................................................................... 52
5.1 TEST CASE ................................................................................................................................................................................... 53
5.2 ANDROID UNIT TESTING FOR HYDRASDK VPN ........................................................................................................53
5.3 UNIT TESTING FOR HYDRASDK VPN ..............................................................................................................................54
5.4 LOCAL UNIT TESTING FOR HYDRASDK VPN ...............................................................................................................54
5.5 RESULT OF HYDRASDK VPN UNIT TESTING ...............................................................................................................54
5.6 USER ACCEPTANCE TESTING FOR HYDRASDK VPN ...............................................................................................54
5.7 VALIDATION TESTING FOR HYDRASDK VPN .............................................................................................................55
5.8 PROJECT (HYDRASDK VPN) TESTING ...........................................................................................................................55
5.9 HYDRASDK VPN TESTING RESULTS ...............................................................................................................................55
CHAPTER 6 CONCLUSION .................................................................................................................................................... 56
6.1 CONCLUSION .............................................................................................................................................................................57
6.2 BENEFITS OF HYDRASDK VPN ..........................................................................................................................................57
6.3 LIMITATIONS ............................................................................................................................................................................57
REFERENCE ............................................................................................................................................................................... 58
CHAPTER 1

INTRODUCTION TO PROJECT

1|Page
1.1 BACKGROUND & CURRENT TECHNOLOGIES

Most people use the internet today without batting an eye at what actually transpires each time they
log on to their favorite website or Internet-based services. As users exchange data with their internet
providers, there is always a risk of unscrupulous individuals/organizations keeping tabs on your
activities online, stealing your sensitive information, or selling your information to other parties. [1].

More people today are making good use of VPN services and for many good reasons. According to
Statista (a statistics and studies portal), approximately 26% of internet users worldwide use a VPN to
access the internet (Statista).

More than 50% of users get a VPN to gain access to better content for entertainment. This is because a
VPN can be used to unlock content from all over the world. So, if you live in the Pakistan and want to
access content that is only available to users in the US (Netflix shows, YouTube videos, music, and the
like), you can use a VPN to circumvent such restrictions.

Of course, a VPN has more to offer than simply its entertainment value. For one thing, a VPN can be
used to protect one’s personal information when traveling and connecting to unfamiliar public Wi-Fi
networks in airports, bus stops, and restaurants. You can never be sure that these networks are safe and
are not being used to collect the personal and financial information of users. A VPN service mitigates
this problem by feeding and receiving data through an encrypted channel designed to make stolen data
undecipherable.

Another less common (but just as strong) argument that supports the widespread use of VPN services
are cases of government restrictions that are aimed at censoring people’s access to information and
services over the internet. One good example is the Egyptian Revolution of 2011 wherein the Egyptian
government kept its citizens from accessing Twitter and other social media outlets online to quell the
spread of information about the uprising. With a VPN enabled, users in countries such as North Korea,
China, and Iran (all countries that block their citizens from accessing certain online services, including
Twitter) can circumvent any restrictions and not have to worry about their government spying on their
online-activity.

2|Page
1.2 MOTIVATION

It’s a fascination & exciting area deals which are playing a vital role nowadays known as
Mobile Apps. Android is a best and open source mobile OS (operating system) with massive user
base and simplified mobile app development process [4]. Enterprises are leveraging Android and
creating custom mobile apps that solves customer problems and increase value for their business
and android apps are providing cheapest solutions for different problems. We can use android to
develop such platform that can provide solution to that problem.
An android app can provide the students an easy way to access the private network and a
security solution that grants users secure and private access to the internet. It accomplishes this
by redirecting data through an anonymous server designed to hide the sensitive user information.

Affects User and Private Network.


Manual Access of any private network or channel is difficult and
The impact maybe private network don’t allow the access.

A successful solution would Proposed system is free, robust, and efficient.


be

Table No. 1.1: Affects and Impacts of Hydrasdk VPN

1.3 SCOPE

We planned to make an android app which can be placed at the paid VPN’s. It will help
the Students and others to get the free access of private network or channel with the complete
security and. Developers benefit from native support to implement VPN clients via the VPN
permission to provide censorship circumvention, support enterprise customers and enhanced
online security and privacy.

3|Page
1.4 PROBLEM STATEMENT

These are the following problem statements that must be tackle properly [9, 10]:

 The VPN connection being rejected.

 The acceptance of an unauthorized connection.

 The inability to reach locations that lie beyond the VPN server.

 The inability to establish a tunnel.

 Unprotected WiFi can expose usernames and passwords

 Content filtering on public WiFi may deny access to sites

 Possibility of malware injection

 Unknown and untrusted proxies could redirect users to fraudulent sites

 Managed devices can insecurely connect to unknown networks

 Risk of data loss

 Ad-hoc, unmanaged VPN solutions may proliferate


.

1.5 STRUCTURE OF DISSERTATION

There are 5 phases of this documentation. First one with the basic background and problem
statement with relevant cited work. Second one includes literature review, which is explaining the
entire solution in a very effective manner. Third one is analysis with complete design for the app.
Forth one is explaining all implementation details of this app and fifth chapter is about testing of
the app. In the end, conclusion of this documentation with all references used during developing
this documentation [11, 12, 13].

4|Page
CHAPTER 2

LITERATURE REVIEW

5|Page
2.1 OVERVIEW

The Hydrasdk VPN is an amazing idea in Android Mobile Application. By using this
app, the students of the Minhaj University Lahore and the different brands as well get the benefit
in different ways. The students will get discount offers from different brands like food, saloons,
travel or in medical by just simply part of this platform. And on the other hand, the different
brands can increase their sales and advertise their brand as well. The main idea of this project is
that to give the facility of the MUL students to get discounts and enjoy being part of this institute
through android platform [14, 15, 16]. Hydrasdk VPN is divided up in three categories which are
USER (which will be the student of MUL), Admin Panel and the Brand Panel.
In User panel, students will login in and select the category in which they want to get
discount. If there’re some who are offering some discounts in that category, that will be shown to
the student or user. Student can get discount by just clicking on the “GET THIS” button and the
request will be passed to the relevant brand via Firebase [6, 17]. Student just have to go to that
brand and show his reservation. Student can also see his reservations that he requested. There is
another feature in user panel in which user can edit his profile settings.
In Brand panel, brands can add offers and the time for that offer. Offer will be automatically
deleted after the brand given time will be passed using firebase Realtime database delete data
queries [18, 19]. Brands can see his current offers menu and can delete if he wants. Brands can see
user’s/students' requests and authenticate it. Another amazing feature available in brands panel is
that he can chat with admin if he has some suggestion or any complain moreover brand can update
his profile.
In Admin panel, admin can authenticate any brand or reject if he wants. Admin can add
users and remove them. Admin can chat with the brands for their queries.

6|Page
2.2 PURPOSE

We are atomizing Project Offline and Online Project Management System, due to current
issues solve by online system. It also enhances their intelligence level. This enjoyable interface
will satisfy the Students and the Brands because we’re creating new system on World’s best
Mobile Application Platform Android [20].
 It is easy for the users.

 User can save their data quite quickly.

 User can see the different discounts and offers (Students).

 User can add the discounts and offers (Brands).

2.3 OBJECTIVE

As for as our project is developed, we have maintained the functionality of our system
simple and user friendly. The main objective is our project is to provide the opportunity to make
sure the consumption of Students and Brands time is going to be fruitful by deploying this system
in everyone’s favorite and accessible platform [4]. Our objective also includes the admin
(University Authority) to be satisfy with this project in positive image toward students as well as
brands.

2.4 FACILITATIONS

The Hydrasdk VPN facilitate the Students and the different brands over android platform
[4, 6]. In student perspective the student can avail the different discount on different brands and if
we look on the brand side, they can earn a profit using this app by providing the special offers to
the students and increase their sales and advertise their brands as well.

7|Page
2.5 MAJOR FEATURES

We have studied about Android Development and make a list of features that will be available
in our app. An informative app that facilitate the students and the brands with many functionalities
like [6, 21, 22]:
 Discounts.

 Special Offers.

 Advertisement.

 Increase sale.

 User Friendly.

2.6 PRODUCT PERSPECTIVE

We made modules for the students, brands, and the admin. The Brand can add the list of
the special offers by logging in to their account [6]. The Students can see that discounts and avail
the discounts if they want or they can also search the specific brand with the specific category.
Some benefits and supporting features are given in the Table No. 2.1 below:

Benefits Supporting Features

Student, The dates of the coming discounts and the expiry dates can be seen by
Brand the students which will display a Brand on their products.

Table No. 2.1: Benefits and Perspective of Hydrasdk VPN

8|Page
2.7 USERS

Users of this and their descriptions are given in the below Table No. 2.2:

Representative Students, Brands

Description User is a sensible person and wants quick work.

Type Primary

Responsibilities He will use the system directly and will up to date with the system.

If the user will totally satisfy with this system it will be success of the
Success Criteria
project otherwise, project will fail.

Table No. 2.2: Users for Hydrasdk VPN

2.8 SKILLS OF TEAM MEMBERS

Table No. 2.3 is showing the skills of the developers working on this project.
Sr. Name Skills Email
JAVA, XML, SQLite, Firebase,
1 M. Waleed waleedislive@gmail.com
MS Office Professional, Adobe Photoshop.
JAVA, XML, SQLite, MS Office
2 M. Shoaib mughalshoaib15@gmail.com
Professional.
Table No. 2.3: Skills of Team Members

9|Page
2.9 SCOPE OF THE SYSTEM

Main scope of this project is to assist and facilitate the Students and the Brands to gain
fruitful time from latest technology [4, 6]. It assures students and the brands to consume the latest
technology. The main purpose of this project is to make interest of students and brands to sell and
purchase with attractive interface.
We planned to make an android system which can be placed online. It will not only help
the students but also the brands can check their data belong to this system on their dashboard.
However, we discussed some steps [23]:
 Focused to provide a better way to consume Students and Brands time.

 Providing an attractive interface.

 Assuring our users that the technology is useful too.

 Provide free advertising platform for the Brands.

 Provide a platform to the student to avail the offers easily.

 Using Firebase for our database as it is the latest technology and secure database for our
app.

2.10 USABILITY

It is important to include usability activities in our project; we can build in the time and resources
to carry out those activities [24]. We will use the step by step usability guide to better understand
which activities fit our needs to include in our project.
In this project, usability of Hydrasdk VPN is effective but according to Minhaj University
Strength. In Minhaj University Lahore, there are 12,000+ students are studying. That means
there’s a good reason for different brands to come over to this platform and be part of this
amazing project.
Brands can happily use this service as it is free for every brand. If this app attracts brands,
it directly means that there’s high attractiveness for students too as there’ll be much brands for
offering them their best services.

10 | P a g e
2.11 SUPPORTABILITY

Our App will run in Android Mobile Phone and it will run from API level 19 to above [25].
Any Android Mobile Phone system will support this App. This app will run effectively or
component can be kept running after deployment. Based on resources that include quality
documentations, diagnostic information, and both knowledgeable and available technical staff.

2.12 SOFTWARE AND HARDWARE REQUIREMENTS

2.12.1 HARDWARE REQUIREMENTS

 Processor – Core 2 Duo.

 RAM - 1.00 GB and above.

 Hard Drive - 6 MB Drive space and above.

2.12.2 SOFTWARE REQUIREMENTS

 Android 4.4 (KitKat) or above.

2.13 TOOLS REQUIREMENTS

 Android Studio latest (Tool used for designing and programming of the application).

 Android Emulator (Tool for checking the output).

 Microsoft Office (For presentation and many other tasks).

 Operating System: Android.

 Database: Firebase.

 Adobe Photoshop.

 Balsmiq.

 IODraw.

11 | P a g e
CHAPTER 3

ANALYSIS AND DESIGN

12 | P a g e
3.1 INTRODUCTION

After requirement gathering phase, we do System analysis. In first step of System analysis
we observe the existing system, after that we gather requirements and domain of proposed (new)
system. Both systems either existing or new are equally important. In our case we proposed a new
system. When we create a new system, it requires complex procedure and creative thoughts; but
on the other hand, understanding the old system may also require more difficulties and problems.
So, if the requirements are not clear and no understanding of the implementations, an ambiguous
situation is created and sometimes may lead to diverse from solution.
Hydrasdk VPN System provides the facility to the Students and Brands to avail the
opportunity of selling and buying. User can easily register on this application if he/she is belonging
to some Brand and the student of the Minhaj University. Otherwise the system will not allow
signing up on the application. Because, we use Google Authentications for registration of the
students which is provided by the University for sign up on the system.

3.2 PROPOSED SYSTEM

Our proposed system will provide the facility of our MUL students and different brands as
well. By using our Hydrasdk VPN app we facilitate the students of our university to check the
different brands offer and avail those offers as well. There is no need to go out physically or call
the franchise or look for the offers on social pages, our students just need to install the app and get
the fruitful experience.

13 | P a g e
3.3 PERFORMANCE

This application gives a responsiveness and stability under a particular workload. This
application gives a good performance device with at least 1 GB of RAM and 10 MB of free space.
This app doesn’t save a lot of caches that results a very effective performance in devices. This app
requires internet as all the processing will go over network. So, in the absence of internet, the app
won’t be able to make any action as it will not have saved any local caches in user’s phone/device.

3.4 USER INTERFACES

User interface must be user friendly and easily understandable. User interfaces must be
creating in GUI. It means system describe the function into graphical user interface. We have
created app’s very basic UI over a software called “BALSMIQ”. In this software, we have created
a very simple layout for our user and brands so that even illiterate could be able to use this
application very easily.

3.5 DEVELOPMENT METHODOLOGY

Android Studio is being chosen because the requirements for our application were known
before hand and the objective of our application Hydrasdk VPN development is the computerized
of an already existing time-consuming system. Android Studio is an official software
development tool for Android Application Development.
Methodology that we selected for the development of this application is Waterfall
MODEL; ID is lightweight, efficient, low-risk, predictable, scientific, and the fun way to develop
software.

14 | P a g e
The waterfall model of development requires customers for a system to commit to a set of
requirements before design begins and the designer to commit to particular design strategies before
implementation. Changes to the requirements require work of the requirements, design and
implementation. However, the separation of design and implementation should lead to well
documented systems that are amenable to change. By contrast, an evolutionary approach to
development allows requirements and design decisions to be delayed but also leads to software
that maybe poorly structured and difficult to understand and maintain. In a waterfall development
process, customer identify all requirement at once, the services to be provided by the system.

3.6 USER FRIENDLY

The interface of the system is user friendly and user can easily understand this application.
For every category of product, we use a different interface in User’s home page. For brands, for
every specific functionality, we use a separate slider.

3.7 PORTABILITY

The ease with which a system or component can be transferred from one environment to
another. Our app’s data is quite portable as we are using Firebase for our database. We can share
our data over different technologies or systems.

3.8 SYSTEM INCOMPLETE

They identify which of the services are most important and which are least important to
them. The allocation of services to this system depends on the service priority with the highest
priority services delivered first. During development, future requirements analysis for later
increment scan takes place, but requirements changes are not done as it will be cover in
maintenance phase. As new system is completed, the complete project is examined.

15 | P a g e
3.9 SPECIFIC FUNCTIONAL REQUIREMENTS AND PROJECT FILE

STRUCTURE

As for this app, we have maintained the functionality of our system simple and user friendly.
Hydrasdk VPN’s functional requirements are exactly according to students and brands need.
Features in this project:
 Firebase Real Time Database.

 Firebase Authentication.

 Firebase Storage.

[Note: As there are three login systems in our app (Student, Brand, and Admin). When they
login successfully go to the dashboard]

3.10 LIST OF ACTIVITIES FILES IN THIS PROJECT


Lists are divided up in three categories:

 User Activities.

 Home.java  Connect.java

 Login.java  Choose Server Location.java

There are some other activities which resides under no specific category like:
 SplashScreen.java

 HomeScreeen.java

3.11 LIST OF XML FILES IN THIS PROJECT

These are the following layout files for this project:


 admin_auth_brands.xml
 admin_add_admin.xml
 admin_deactivated_brands.xml
 admin_add_user.xml
 admin_deactivated_users.xml
16 | P a g e
 admin_inbox.xml

 admin_inbox_contacts.xml  brands_settings.xml

 admin_login.xml  brands_home.xml

 admin_menu.xml  brands_login.xml

 admin_remove_admin.xml  brands_sale_record.xml

 admin_view_brands.xml  brands_sign_up.xml

 admin_view_users.xml  brands_view_current_offers.xml

 brands_auth_requests.xml  user_home.xml

 user_login.xml

 user_pendings.xml

 user_settings.xml

 user_show_offers.xml

 home.xml

 splash_screen.xml

17 | P a g e
3.12 LIST OF OTHER JAVA FILES IN THIS PROJECT

 admin_auth_adapter.java  brand_auth_offer_adapter.java

 admin_deactivated_brands_adapter.j  brand_sale_record_adapter.java
ava
 brand_tab_pager_adapter.java
 admin_deactivated_users_adapter.ja
va  brand_view_offers_adapter.java

 admin_inbox_contacts_adapter.java  users_pending_adapter.java

 admin_inbox_adapter.java  users_show_offers_adapter.java

 admin_remove_admin_adapter.java  admin_db.java

 admin_view_brands_adapter.java  users_db.java

 admin_view_users_adapter.java  brands_db.java

18 | P a g e
The above-mentioned java files with their model classes for data passing.

3.13 CLASSIFICATION OF FUNCTIONAL REQUIREMENTS

These are the following functional requirements for Hydrasdk VPN:

For Users:
 Users can Login into the system.

 Users can select Country server and connect with that server.

3.14 NON-FUNCTIONAL REQUIREMENTS

Developer must meet these given Non-Functional Requirements:

 Connect Should be Establish With the server by one single button.

 User can

3.15 PROJECT FEASIBILITY

In our project, we test the technical, operational and economic feasibility. It completely shows
that our project is completely feasible. The feasibility relates with the risk analysis in many
different ways. As the risk for the app increases, the quality of feasibility of production will
decrease directly. Because of that, the analysis for feasibility of Hydrasdk VPN has categorized
into these two categories:
 Technical Feasibility for Hydrasdk VPN.

 Operational Feasibility for Hydrasdk VPN.

19 | P a g e
3.15.1 TECHNICAL FEASIBILITY FOR HYDRASDK VPN

Our Project is going to be developed by implementing the available modern technologies


(Android Mobile Devices). That are well established and highly secured with their distinctive
features. Our application is technically feasible as working of our project as perform with current
equipment’s. Therefore, it is more reliable and accurate so in this way it ensures technical
feasibility. Therefore, our application developed is technically feasible and this feasibility report
provides technical guarantee of accuracy, security and less costly reliable app.

3.15.2 OPERATIONAL FEASIBILITY FOR HYDRASDK VPN

Our application will be operationally feasible as it will be able to satisfy the user’s
requirements of data in timely manner. So, all the working and operations of the application fulfill
the users need accurately. Our project will be operationally feasible as it will handle large amount
of data, it is fast and accurate information about every data will be provided.

3.16 TIME ESTIMATION

The Table No. 3.1 is showing the duration required to complete this project. In which, we have
shown via Gantt Chart that this project will take up to 8 months for completion.

Table No. 3.1: Time Estimation Gantt Chart for Hydrasdk VPN

20 | P a g e
3.17 PROJECT COST ESTIMATION/ECONOMIC FEASIBILITY

We are using a very well-known method which is called “Line of Code” (LOC). By
viewing its domain and functionality this project is very feasible. We estimate cost to our front end
and back end application on the basis of estimated lines of codes for our application is 100,000+
PKR.
We will charge Rs.8/line.
Estimated cost for the application is:
Estimated cost = No. of estimated lines *cost per line
No. of estimated lines = 12,500+
Estimated cost = 12,500 * 8
Estimated cost = 100k

3.17.1 TOTAL ESTIMATED COST BECOMES

So, the total estimated cost for our project is total 100,000
only.
This app is economically feasible as according to our technical reports it does not require any
additional software or hardware.

3.18 USE CASE MODELING

For Use Case Modeling we studied a research paper [26]. Hydrasdk VPN has categorized in
three categorize:
 User.

21 | P a g e
3.19 REGISTERED USER

Figure 3.1 represents the features available to the users which includes the view categories,
select and get offers, edit profile, view pending requests and logout.

Figure No. 3.1: Use Case Model for Registered Users

22 | P a g e
3.20 BEHAVIORAL MODELING

When we refer to external events, we mean those that pass between the system and its
actors (active are external to the system). Conversely, internal events are passed between objects
that live inside of the system.
As mentioned above, in the UML, we model four kinds of events:
 Signals.

 Calls.

 Passing of time.

 Change in the state.

3.21 DATA MODELING

We’re doing Data modeling in Hydrasdk VPN for the following reasons:
 To manage the details in large systems.

 To communicate a common meaning for all system elements.

 To document the features of the system.

 To locate the error and omissions in the system.

The data dictionary in Hydrasdk VPN contains two types of descriptions as following:

 Data Elements.

 Data Structures.

23 | P a g e
3.22 SEQUENCE DIAGRAM OF USER

Sequence diagram for all users is given below in Figure 3.4, 3.5, 3.6, 3.7. These figures are
representing how the users (all brands, users and admin) is going to access the Hydrasdk VPN.

Figure No. 3.4: Sequence Diagram of Users (overall)

24 | P a g e
Figure No. 3.7: Sequence Diagram of User Panel

3.23 AUTHENTICATION SYSTEM FOR HYDRASDK VPN

We are using Firebase Email Authentication system for authentications of Hydrasdk VPN
plus admin permission. For the Logging in, user/brand need the following data:

3.25.1 USERNAME AND EMAIL

The identifier user/brand need email and username to access Realtime DB. After clicking
the Log in button, this is the first info that is transmitted to Firebase Authentication System.

3.25.2 PASSWORD FOR SIGN IN

This field is not encrypted before transmitting to Firebase Authentication System as


firebase don’t accept any encrypted data and return process failure message or incorrect form error.

25 | P a g e
3.24 DATABASE HIERARCHY STRUCTURE FOR USER

For the database hierarchical structure, we have studied different database books and research
papers [27]. The given Figure 3.10 represents the user database:

Figure No. 3.10: Database Hierarchy for Users

26 | P a g e
3.25 CONTEXT DIAGRAM

Context Diagram for Hydrasdk VPN is representing all the features that will be working in
this app. Context Diagram is showing level 0, 1 and 2 for DFD of Hydrasdk VPN [28]. These
features are showing in the Figure 3.11, 3.12, 3.13.

Figure No. 3.11: Context Diagram Level 0 for Hydrasdk VPN

27 | P a g e
3.26 DATA FLOW DIAGRAM

Data Flow Diagram level 0 for Hydrasdk VPN is representing all the flow of data over database
which are shown in Figure 3.14.

Figure No. 3.14: Data Flow Diagram for Hydrasdk VPN

28 | P a g e
CHAPTER 4

IMPLEMENTATION

35 | P a g e
4.1 INPUT AND OUTPUT

For the implementation of the app, we have studied through these references [29, 30, 31].

4.1.1 INPUT OPTIONS FOR USER

 User can tab on User Panel and must Login.

 User can select any category for what he is interested.

 User can tab on GET THIS button to get any offer.

4.1.2 OUTPUT FOR USER

 User receives the Home page if the Login gets successful.

 User receives the data/offers according to the category he selected.

 User receive the success message if it gets successful.

4.1.3 INPUT OPTION FOR BRAND

 Brand user can tab on Brand Panel and must Login.

 Brand user can Authenticate Request.

 Brand user can move side by side in Pager Fragment to see different features.

 Brand user can tab on View Offers Made.

 Brand user can tab on View Sale Record.

 Brand user can Add the Offer.

4.1.4 OUTPUT FOR BRAND

 Brand user can see the Brands Home Page.

 Brand user receive and see the results in the Inbox screen.

 Brand user receive the Authenticate Request screen.

36 | P a g e
 Brand user receive the View Offer Made screen.

 Brand user receive the Sale Record screen.

 Brand user can receive the next activity by clicking on any button on the Brands Home.

4.1.5 INPUT OPTION FOR ADMIN

 Admin can tab on the Admin Panel and must Login.

 Admin can click on any Sign in the button to go to the next activity or Admin Panel Home
screen.

 Admin can input the details for the new users.

 Admin can input the details for an admin.

 Admin can click on the Inbox.

4.1.6 OUTPUT FOR ADMIN

 Admin can see the Home screen after Login.

 Admin receive the next activity by clicking on any button on the Home Panel.

 Admin receive the next activity for adding a user and admin.

 Admin can also receive the next activity to authenticate the user and brand.

 Admin can view the Inbox.

37 | P a g e
4.2 GUI

4.2.1 SPLASH SCREEN

Figure No. 4.1: Splash Screen Hydrasdk


VPN

Figure 4.1 shows Splash Screen is starting screen for Hydrasdk VPN, this is the first screen
that the user will see after tab on the app icon.

38 | P a g e
4.2.2 SELECTION PANEL

Figure No. 4.2: Selection panel Hydrasdk VPN

Figure 4.2 shows Selection Panel screen where the user of the app will select for what purpose
he is using this application.

39 | P a g e
4.2.3 USER LOGIN PANEL

Figure No. 4.3: User login Hydrasdk VPN

Figure 4.3 shows User’s Login screen. The same way for Brand and Admin panel.

40 | P a g e
4.2.4 USER DASHBOARD

Figure No. 4.4: User dashboard Hydrasdk VPN

Figure 4.4 shows User’s home screen where user can access to any category he wants.
Moreover, user can see his name with his profile picture and a Logout button. In action bar there’s
a drop-down menu where user can edit his profile and one button for seeing pending requests for
offers.

41 | P a g e
4.2.5 USER OFFER GET SCREEN

Figure No. 4.5: Get offer Hydrasdk VPN

Figure 4.5 shows user’s GET OFFER screen. User can see different offers and can click on
GET THIS button if he wants to get that offer. If he gets offer successfully, he will get a success
message in Alert Dialog.

42 | P a g e
4.2.6 USER EDIT SETTINGS

Figure No. 4.6: Edit profile Hydrasdk VPN

Figure 4.6 shows Edit Profile screen. User can change his profile picture, username or
password. Brands have same settings in his profile.

43 | P a g e
4.2.7 ADMIN PANEL

Figure No. 4.7: Admin panel Hydrasdk


VPN

Figure 4.7 shows the Admin Home panel screen with its rights and features.

44 | P a g e
4.2.8 ADD ADMIN

Figure No. 4.8: Add admin Hydrasdk VPN

Figure 4.8 shows admin can add more admins. Moreover, admin can add as many users as he
wants. The user screen has some fields with one more field for Email.

45 | P a g e
4.2.9 ALL USERS

Figure No. 4.9: View users Hydrasdk VPN

Figure 4.9 shows admin can view all users and can delete them according to his wish. The
same with the brand, he can delete the brand if he doesn’t want him in this app anymore.

46 | P a g e
4.2.10 ALL BRANDS

Figure No. 4.10: View brands Hydrasdk


VPN

Figure 4.10 shows admin can add or reject any brand if he wants. As you can see in the above
figure, admin can see detail for the brand and their account info and he can delete by just clicking
delete button.

47 | P a g e
4.2.11 BRANDS HOME

Figure No. 4.11: Brands home panel Hydrasdk VPN

After brands login, there is Home Panel for the brand. These are some features displaying in
the above given figure 4.11.

48 | P a g e
4.2.12 BRANDS CHAT PANEL

Figure No. 4.12: Chat panel Hydrasdk VPN

Figure 4.12 shows brands can chat with admin for any query, complain or any suggestion.

49 | P a g e
4.2.13 AUTHENTICATE REQUESTS

Figure No. 4.13: User request auth Hydrasdk VPN

Figure 4.13 shows brand can authenticate requests from the users for discounts by clicking the
tick button or can reject if any misbehave happened by the user at the site.

50 | P a g e
4.2.14 ADD OFFER

Figure No. 4.14: Add offer Hydrasdk VPN

Figure 4.14 shows brands can add any new offer by filling this description form and taping
the button CREATE OFFER.

51 | P a g e
CHAPTER 5

TESTING

52 | P a g e
For Android Application Testing we studied a research paper and conducted these tests
according to the requirements and standards [32, 33]. By these testing’s, we clarify that the app is
completely meetings it's all requirements.

5.1 TEST CASE

Test
Test Name Provided Data Accepted Result Actual Result
No.
Return false if
1 Login Email, password Pass
invalid data entered
App can perform
2 Access Permissions Granted Pass
actions
Showing relevant Query for relevant Show relevant data
3 Pass
category with no error category with no error
Delete due date data Delete command for
4 Delete data Pass
after every due date due date data
5 Keep data sync Made changes in data See updated data Pass

5.2 ANDROID UNIT TESTING FOR HYDRASDK VPN

Android testing is based on JUnit is general, a JUnit test is a method whose statements test
a part of the app. We organize test methods into classes called test cases. We build one or more
test classes and use a test runner to execute them on our local machine. With Android Studio, we
build one or more test source files into an Android test app and use it to test the app on the emulator
or physical android device.

53 | P a g e
5.3 UNIT TESTING FOR HYDRASDK VPN

Unit tests are the fundamental tests in app testing strategy. By creating and running unit
tests against code, can easily verify that the logic of individual’s units is correct. Running unit tests
after every build helps to quickly catch and fix software regression introduce by code changes to
the app. A unit testing generally exercises the functionality of the smallest possible unit of the code
(which could be a method, class or component) in repeatable way.

5.4 LOCAL UNIT TESTING FOR HYDRASDK VPN

Unit test that run on local machine only. These tests are compiled to run locally on the Java
virtual machine (JVM) to minimize execution time. We used this approach to run unit tests that
have no dependencies on the Android framework or have dependencies that mock objects can
satisfy.

5.5 RESULT OF HYDRASDK VPN UNIT TESTING

The Android Plugin for Gradle the local unit test code located in the default directory,
builds a test app and executes it locally using the default test runner class. Android Studio then
displays the results in the Run window.

5.6 USER ACCEPTANCE TESTING FOR HYDRASDK VPN

User acceptance test for any app is a major factor for the guaranteed success of the
application. Hydrasdk VPN is tested for the user acceptance test by constantly checking the app
with the random user’s data at the time of development and making any changes if required.
These are the following parts of the user acceptance test for Hydrasdk VPN:
 Input frontend Design.

 Output frontend Design.

 Format for the reports and other outputs.

54 | P a g e
5.7 VALIDATION TESTING FOR HYDRASDK VPN

In integration testing, the software is assembled as a package. Validation Testing is


completely associated with requirement satisfaction of customers. In Hydrasdk VPN, this testing
checks weather all functional requirements of customer are satisfied or not. According to this test,
the project is tested and found to be satisfactory for functional characteristics, behavioral
characteristics and performance requirement. It is also found to have good documentation up to
the last stage. So, the performance characteristics conform to specification and are accepted.

5.8 PROJECT (HYDRASDK VPN) TESTING

In this session, we try to overcome all the problems of our project. For this purpose, we
conduct a session of testing. We run our project.
First of all, we try to get registered. For this we go on Sign Up form for Brand. Fill the form, and
here we get results as we expected. We tried with every single combination of input and checkout
our checks are working completely and showing on error while any kind of data entry.
Secondly, we visit our app as a user. There we see that a user doesn’t really need to enter
any input. All he has to do is just clicking and checkout what he really needs. This means our app
cannot go wrong anywhere in user panel as there is no input chance from user that can go wrong.
Then, we see that after login of the user all edit profile settings where user can add or
change data. We checked all checks properly and found no error in this module. Users can not add
any redundant data here means there is no chance of any error from this module.
Then, we see admin panel where we check all features with their checks so we could make
sure that there’s no error in our admin panel. We added testing data and found no problem here.
We tested some brand authentications and found app has no error in this module too.

5.9 HYDRASDK VPN TESTING RESULTS

The application is tested according to the given functional and non-functional requirements and
found that the app is meeting all its requirement and found no error while testing! The project is
completely ready to deliver to the customer.

55 | P a g e
CHAPTER 6

CONCLUSION

56 | P a g e
6.1 CONCLUSION

Today world is of Mobile Computing and people are using the smart phones and internet
in everywhere rather than computers. Especially, students are too much in touch with the
technologies and as well as the companies. Hydrasdk VPN app provides the facility to the
students and others to see the discounts offers of the different brands and avail those offers and
on the other hand the same opportunity for the brands to upload their offers through this app so
that their number of sales increase as well as do some advertisement for free as it is the world of
the mobile. This app will give equal benefits to the both sides as both parties will be happy to give
their services over this platform.

6.2 BENEFITS OF HYDRASDK VPN

Any app is identified by the services and UI of the app offered to the user. The benefits of
Hydrasdk VPN are as follows:
 This app will save time and headache of keeping in touch with every page.

 It is more efficient than local advertisements.

 It can be used anywhere with the internet connection.

 It will give you the different brands discount in one platform.

 It will increase the sale of the brands especially the newly introduced brands.

 It will help university in making a good impression among students as this app will make
edge over other universities.

6.3 LIMITATIONS

 It is Android Based Application so the internet connection is necessary to access it.

57 | P a g e
REFERENCE

(1) Wolfinbarger, M., & Gilly, M. C. (2001). Shopping online for freedom, control, and
fun. California management review, 43(2), 34-55.
(2) Lee, G. G., & Lin, H. F. (2005). Customer perceptions of e-service quality in online
shopping. International Journal of Retail & Distribution Management, 33(2), 161-176.
(3) Kapp, J. M., Peters, C., & Oliver, D. P. (2013). Research recruitment using Facebook
advertising: big potential, big challenges. Journal of Cancer Education, 28(1), 134-137.
(4) Developers, A. (2011). What is android.

(5) Android Developers (https://developer.android.com/).

(6) Google Firebase (https://firebase.google.com/).

(7) Moroney, L., Moroney, & Anglin. (2017). Definitive Guide to Firebase. Apress.
(8) Sonwane, S., Takalkar, S., Kalyankar, S., Wanare, K., & Baviskar, S. (2017). Doctor
Patient Data Sharing Using Android Chat Application. International Journal of Recent
Trends Ni Engineering & Research, 2455-1457.
(9) Moroney, L. (2017). The firebase realtime database. In The Definitive Guide to
Firebase (pp. 51-71). Apress, Berkeley, CA.
(10) Zimányi, P. D. E., Martínez, G., & López, P. (2018). REAL-TIME DATABASES AND
FIREBASE.

(11) Tutorial Point (https://www.tutorialspoint.com/android/index.htm).

(12) Software Engineering – A Practitioner’s Approach by Roger S. Pressman 6th Edition.


(13) IT Project Management, by Kathy Schwalbe 6th Edition.
(14) Meier, R. (2012). Professional Android 4 application development. John Wiley & Sons.
(15) Sarma, B. P., Li, N., Gates, C., Potharaju, R., Nita-Rotaru, C., & Molloy, I. (2012, June).
Android permissions: a perspective combining risks and benefits. In Proceedings of the
17th ACM symposium on Access Control Models and Technologies (pp. 13-22). ACM.
(16) Brahler, S. (2010). Analysis of the android architecture. Karlsruhe institute for
technology, 7(8).

(17) Stack overflow (https://stackoverflow.com/).

58 | P a g e
(18) Fernandes, E., Chen, Q. A., Paupore, J., Essl, G., Halderman, J. A., Mao, Z. M., &
Prakash, A. (2016, February). Android ui deception revisited: Attacks and defenses.
In International Conference on Financial Cryptography and Data Security (pp. 41-59).
Springer, Berlin, Heidelberg.
(19) Li, W. J., Yen, C., Lin, Y. S., Tung, S. C., & Huang, S. (2018, February). JustIoT Internet
of Things based on the Firebase real-time database. In 2018 IEEE International
Conference on Smart Manufacturing, Industrial & Logistics Engineering (SMILE) (pp. 43-
47). IEEE.

(20) Udemy (https://www.udemy.com/topic/android-development/).

(21) Nudelman, G. (2013). Android design patterns: interaction design solutions for
developers. John Wiley & Sons.
(22) Rogers, R., Lombardo, J., Mednieks, Z., & Meike, B. (2009). Android application
development: Programming with the Google SDK. O'Reilly Media, Inc.
(23) Head First Android Development: A Brain-Friendly Guide (Book by David Griffiths and
Dawn Griffiths).
(24) Hello, Android: Introducing Google's Mobile Development Platform (Book by Ed Burnette).
(25) Professional Android 4 Application Development (Book by Reto Meier).
(26) Cockburn, A. (2000). Writing effective use cases for designers. Addison-Wesley
Professional.
(27) Database System by Addison Wesley 4th Edition.
(28) Lucid Chart (https://www.lucidchart.com/pages/data-flow-diagram).
(29) Android UI Design (Book by Jessica Thornsby).

(30) GitHub (https://github.com/).

(31) Android Hive (https://www.androidhive.info/).

(32) Gao, J., Bai, X., Tsai, W. T., & Uehara, T. (2014). Mobile application testing: a
tutorial. Computer, 47(2), 46-55.
(33) Kaasila, J., Ferreira, D., Kostakos, V., & Ojala, T. (2012, December). Testdroid: automated
remote UI testing on Android. In Proceedings of the 11th International Conference on
Mobile and Ubiquitous Multimedia (p. 28). ACM.

59 | P a g e

You might also like