Professional Documents
Culture Documents
VPN Documentation
VPN Documentation
BS COMPUTER SCIENCE
SESSION: 2015F-2019
Submitted to:
Minhaj University Lahore
School of Computer Science
Submitted by:
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.
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.
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.
Signature of Candidate:
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:
Session 2015f-2019
Shahan Siddiqui
Supervised by
(Associate Head, School of Computer Science)
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.
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 inability to reach locations that lie beyond the VPN server.
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.
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.
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:
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.
8|Page
2.7 USERS
Users of this and their descriptions are given in the below Table No. 2.2:
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.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.
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.
Android Studio latest (Tool used for designing and programming of the application).
Database: Firebase.
Adobe Photoshop.
Balsmiq.
IODraw.
11 | P a g e
CHAPTER 3
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.
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.
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.
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.
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.
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]
User Activities.
Home.java Connect.java
There are some other activities which resides under no specific category like:
SplashScreen.java
HomeScreeen.java
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.
For Users:
Users can Login into the system.
Users can select Country server and connect with that server.
User can
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.
19 | P a g e
3.15.1 TECHNICAL 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.
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
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.
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.
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.
We’re doing Data modeling in Hydrasdk VPN for the following reasons:
To manage the details in large systems.
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.
24 | P a g e
Figure No. 3.7: Sequence Diagram of User Panel
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:
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.
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:
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.
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.
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].
Brand user can move side by side in Pager Fragment to see different features.
Brand user receive and see the results in the Inbox screen.
36 | P a g e
Brand user receive the View Offer Made screen.
Brand user can receive the next activity by clicking on any button on the Brands Home.
Admin can click on any Sign in the button to go to the next activity or Admin Panel Home
screen.
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.
37 | P a g e
4.2 GUI
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 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 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 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 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 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 4.7 shows the Admin Home panel screen with its rights and features.
44 | P a g e
4.2.8 ADD ADMIN
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 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 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
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 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 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 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.
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
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.
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.
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.
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.
54 | P a g e
5.7 VALIDATION TESTING FOR HYDRASDK VPN
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.
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.
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 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
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.
(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.
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.
(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).
(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