SlideShare a Scribd company logo
In-house Training Report
on
Dpilot: File Sharing Web Application based on Cloud
Submitted in the partial fulfillment of the requirement for the award of the degree of
Bachelor of Technology
(Computer Science and Engineering)
[2016-2020]
Under the Supervision of
Dr. Pinki Nayak, Mr. Ram Paul and Dr. Deepak Sinwar
by
Kritika Phulli [01610402716]
Nidhi Kumari Chauhan [02110402716]
Deepanshu Sharma [35210402716]
Vishal Bhat [41910402716]
Department of Computer Science and Engineering
[AMITY SCHOOL OF ENGINEERING AND TECHNOLOGY]
(Affiliated to Guru Gobind Singh Indraprastha University, New Delhi)
[June-July, 2018]
I
CERTIFICATE
It is hereby certified that the project entitled “Dpilot” has been submitted by Ms. Kritika
Phulli [01610402716], Ms. Nidhi Kumari Chauhan [02110402716], Mr. Deepanshu
Sharma [35210402716] and Mr. Vishal Bhat [41910402716] of CSE fifth Semester, as a part
of B.Tech in-house training/workshop (ETCS-359).
This work put in by them is an outcome of their own hard work and effort and the matter
embodied in the report has not been submitted for the award of any other degree.
Dr. Pinki Nayak
Mr. Ram Paul
Dr. Deepak Sinwar
(In-house Training In-charge)
Date:
Place: Amity School of Engineering and Technology
II
ACKNOWLEDGEMENT
In the course of development of this project many people have helped us on various levels.
First of all we would like to thank Prof. Rekha Aggarwal, Director and Prof. M.N.
Gupta, Head of Department of IT and CSE, ASET for their constant encouragement and
guidance throughout the project, thus enabling us to perform our best. We would also like
all our mentors for their unbound technical guidance and ideas that have helped us enrich
and make this project better at each level.
We feel to acknowledge our indebtedness and deep sense of gratitude to our mentors Dr.
Pinki Nayak, Mr. Ram Paul, Dr. Deepak Sinwar and Mr. Amrit Nath Thulal whose
valuable guidance and kind supervision given to us throughout the course which shaped
the present work as its show. Also, we want to extend our sincerest gratitude to Mr. Nitish,
the computer lab assistant for his efforts in helping the students to the best of his ability.
I express my sincere thanks to the entire faculty of Amity School of Engineering and
Technology for giving us all the facilities during our training period.
Finally, yet importantly, we would like to thank almighty for blessing us to do and complete
his project.
Kritika Phulli [01610402716]
Nidhi Kumari Chauhan [02110402716]
Deepanshu Sharma [35210402716]
Vishal Bhat [41910402716]
III
ABSTRACT
Dpilot is a Cloud-Based AI powered secured file transfer and storage system to help the
on-boarding their flight to have a safe and healthy journey. The main objective of our
project titled ‘Dpilot’ is to provide a cloud-based data sharing and storing platform to ease
the data sharing and storing process. Dpilot has three easy steps – register, upload and
download. Dpilot works on MERN Stack development software i.e., MongoDB, ExpressJS,
ReactJS, NodeJS having four main characteristic – quick access, flexible storage, file
security, reliable tech support. Dpilot is also powered by a chatbot which helps in working
and also make sure that no one gets stucks anywhere while performing the data transfer
and helps to make your intermediate queries resolved in an effective manner. Dpilot also
includes PHP, Azure Bot Service, and Microsoft QNA Maker. Dpilot offers a user-friendly
environment so that user can share its data and also download the data more efficiently.
Dpilot is on the process to make all bugs to be fixed and make it more reliable. Presently,
Dpilot is only available for windows (PC) only but looking forward to make it available for
mobiles too i.e., Android, iOS, Windows (Phone).
IV
LIST OF FIGURES
Figure 1: Cloud Computing Deployment Method
Figure 2 : MERN Stack Development
Figure 3 : Microsoft QNA Maker
Figure 4 : Building a Bot
Figure 5 : E-R Diagram of User-Cloud Interaction
Figure 6 : E-R Diagram of Contact Form Database
Figure 7 : GANTT Chart
Figure 8 : PERT Chart
Figure 9 : Data Flow Diagram (DFD) of User’s Journey of Diplot
Figure 10 : Modular Chart
Figure 11: Selenium Logo
Figure 12 : Snapshot of Selenium IDE
Figure 13 : Snapshot of Command Prompt of Selenium
LIST OF TABLES
Table 1: List of Activities
V
TABLE OF CONTENTS
CERTIFICATE I
ACKNOWLEDGEMENT II
ABSTRACT III
LIST OF FIGURES IV
LIST OF TABLES IV
1. Introduction to the project 1
2. Feasibility Study 4
3. Hardware/Software Requirements 7
4. Software Requirement Specifications (SRS) 9
5. List of Activities 12
6. E-R Diagram 13
7. GANTT Chart and PERT Chart 14
8. Data Flow Diagram (DFD) 15
9. Modular Chart 16
10. Test Techniques 17
11. Conclusion 20
12. Limitations 21
13. Future Scope 22
Appendix-I (Program Code)
Appendix-II (Sample Outputs)
1
1. INTRODUCTION
“Dpilot is the delivery of computing resources over the internet instead of your
computer’s hard drive.”
Dpilot is a cloud based data sharing and storage platform. Here, we can store our data in
form of files and can be accessed through any computer using the cloud computing.
Distinct users has their distinct and unique portals which is accessed using login
credentials made by the users only. Dpilot is a combination of cloud computing and
MERN stack development.
1.1 PRE –REQUISITE KNOWLEDGE
1.1.1 CLOUD COMPUTING
As defined...
“An emerging computer paradigm where data and services reside in massively scalable
data centers in the cloud and can be accessed from any connected devices over the
internet.”
Cloud computing is Internet based development and use of computer technology. It
typically involves the delivery of dynamically scalable and often virtualized resources as
a service over the Internet. The term cloud is used as a symbol for the Internet. The basis
of cloud computing is to create a set of virtual servers on the available vast resource pool
and give it to the clients. Any web enabled device can be used to access the resources
through the virtual servers. Based on the computing needs of the client, the infrastructure
allotted to the client can be scaled up or down. One of the key concepts of cloud computing
is that as and when the amount of data increases, the cloud computing services can be used
to manage the load effectively and make the processing tasks easier. Typical cloud
computing services provide common business applications online that are accessed from
a web browser, while the software and data are stored on the server.
2
Types of Cloud Computing:-
In practice, cloud service providers (CSP’s) tend to offer services that can be grouped into
three categories: software as a service, platform as a service, and infrastructure as a
service.
Software as a Service (SaaS):-
1. Provides the same software to different customers via a network, usually the
Internet. It is managed by third party venders.
2. Accessible via any computer without any downloads.
3. Software as a service features a complete application offered as a service on
demand. The most widely known example of SaaS is salesforce.com.
Platform as a Service (PaaS):-
1. Offer an Internet-based platform to developers who want to create services and
application but don't want to build their own cloud. Hence, No need to buy
hardware and software. Servers, storage and networking managed by third party
venders.
2. Someone producing PaaS might produce a platform by integrating an OS,
application software, and even a development environment that is then provided
to a customer as a service. The customer interacts with the platform through the
API, and the platform does what is necessary to manage and scale itself to provide
a given level of service.
Infrastructure as a Service (IaaS):-
1. Allows applications to be run on a cloud supplier’s hardware by allows you to
install a virtual server on their IT infrastructure.
2. No need to purchase servers, or network equipment.
3. Servers, storage and networking managed by venders whereas applications and
updates are managed by users.
Infrastructure as a service delivers basic storage and computing capabilities as
standardized services over the network. Servers, storage systems, switches, routers, and
other systems are pooled and made available to users.
3
Fig. 1: Cloud Computing Deployment Method
1.1.2 MERN FULL STACK DEVELOPMENT
MERN (MongoDB, Express, React, Node.js) is another popular full stack development. It
is usually considered as an alternative to MEAN stack development. Below is the
architecture of MERN:
I. MongoDB - Database layer
II. Express - Middleware for Nodejs
III. React- front end (User Interface)
IV. Node.js - web server logic
The main difference between MERN and MEAN stack is Angular and React. Both
Angular and React does the job for your requirement. Its personal choice which one to
use. Before learning MERN stack development, we should have knowledge of
HTML/CSS, JavaScript, React JS, Node JS.
Fig. 2: MERN Stack Development
4
2. FEASIBILITY STUDY
The most important step in any project is determining the viability of the idea. This is called
Feasibility Study. Feasibility study is used to assess the strengths and weaknesses of a
proposed project and present directions of activities which will improve a project and
achieve desired results. The nature and components of feasibility studies depend primarily
on the areas in which analysed projects are implemented. Feasibility literally means
whether some idea will work or not. It knows beforehand whether there exists a sizeable
market for the proposed product/service, what would be the investment requirements and
where to get the funding from, whether and wherefrom the necessary technical know-how
to convert the idea into a tangible product may be available, and so on. It is a process for
making sound decisions and setting direction. A feasibility study is designed to provide an
overview of the primary issues related to a business idea. The purpose is to identify any
"make or break" issues that would prevent your business from being successful in the
marketplace. In other words, a feasibility study determines whether the business idea makes
sense. A feasibility study looks at the following major areas:
i. Market Analysis.
ii. Technical Analysis.
iii. Financial Analysis.
iv. Economic Analysis.
v. Legal Analysis.
2.1 Market Analysis
A market is the arena for interaction among buyers and sellers. From seller’s point of view,
market analysis is primarily concerned with the aggregate demand of the proposed
product/service in future and the market share expected to be captured. Success of the
proposed project clearly hinges on the continuing support of the customers. The cloud
services market in India is forecast to grow at over a CAGR (Compound Annual Growth
Rate) of 22% during 2015-2020. Rising availability of cloud services at economical price
models and the ease of implementation are the major growth drivers for cloud services in
India. In addition, increased government spending on new e-governance projects based
on cloud technology is likely to drive the market for cloud computing services in India over
the coming years. Software-as-a-Service (SaaS) emerged as the leading market segment
holding majority market share in 2014 in India. Application hosting and E-mail remained
the leading services to utilize cloud technology extensively in India. Growing at over a
5
CAGR of 50%, private cloud dominated cloud computing ecosystem in India during 2010-
2014. Improved data security features and exclusive control remain the key factors
contributing to growth of private cloud in India. However, private cloud adoption is largely
restricted to large enterprises in present times. This is due to the fact that higher initial
investment discourages small and medium enterprises to opt for private cloud deployment.
According to the analysis, there is a very large scope for adaption of cloud computing in
India.
2.2 Technical Analysis
It is based on MERN Stack development, hence based on the latest technical platforms.
Backend is based on the Node.js and IDE used is WEBSTORM which is user-friendly
whereas frontend is based on the react on the same IDE. Both are the latest technologies,
Hence, anyone who knows the basics of these can easily amend the app if needed.
MongoDB is used for the data management which has its unique features – it does not
have pre-defined schemas i.e., we have dynamic schemas. It uses JSON (JAVA SCRIPT
OBJECT NOTATION). Also, it has unique object IDs which makes it more reliable and
easy for the data manipulation. It is also powered by a chat bot namely CabinCrew which
is made using MICROSOFT AZURE BOT SERVICE and MICROSOFT QNA MAKER
which makes sure that user does not get stuck in between and also helps user to make
the intermediate queries resolved in an effective manner.
2.3 Financial Analysis
The objective of financial analysis is to ascertain whether the proposed project will be
financially viable in the sense of being able to meet the burden of servicing debt and
whether the proposed project will satisfy the return expectations of those who provide the
capital. At present, we are offering Dpilot for free of cost with all the services but after a
limited period it will cost a minimal amount to its users. But, we are not expecting much
return as Dpilot available free of cost in the first year.
2.4 Economic Analysis
The emergence of cloud computing brings many benefits which are shifting the economics
of IT. Cloud technology standardises and pools IT resources and automates many of the
maintenance tasks performed manually today. Cloud architectures facilitate elastic
consumption, self-service, and pays-as-you-go pricing. Cloud also allows core IT
infrastructure to be brought into large data centres that take advantage of significant
economies of scale.
6
2.5 Legal Analysis
Cloud computing is a way to conduct business. Although, there is no country whose current
laws specifically deal with cloud computing, the legal climate in UK and Singapore appears
to be favourable for the purpose of its regulation. There is no general prohibition under
Swiss law to conduct business using cloud computing providers. As cloud computing
implies the outsourcing of certain tasks in different locations or jurisdictions, certain
limitations may be imposed or additional requirements may need to be satisfied. Such
limitations will depend on several factors.
7
3. HARDWARE/SOFTWARE REQUIRMENTS
3.1 Hardware Requirements:
Following configurations are required for development:
1. Processor Intel Pentium 4 or Higher
2. Operating System Microsoft Windows 7/8/10
3. RAM 512MB (1GB recommended)
3.2 Software Requirements:
1. File Sharing Screen:
i. Robo Mongo- MongoDB (Version: 2.2.33) – Database Management Software
ii. Express.js & Node.js (Version: 4.16.2) – Backend Application
iii. React.js (Version: 16.4.1) – Frontend Application
2. Login Screen:
i. HTML and CSS -- Frontend Development
ii. PHP -- Backend Development
3. Landing Screen:
i. HTML and CSS
ii. Bootstrap
4. Bot:
i. Microsoft QNA Maker
ii. C#
5. Cloud Service:
i. Amazon S3 (AWS)
ii. Microsoft Azure
6. Supported Operating System:
i. Windows 7/8/10(32 or 64 bit)
ii. 64-bit distributions must be capable of running 32-bit applications
7. Web Browser:
i. Google Chrome /Bing/ Microsoft Edge
8. Supported Development Environments:
i. JetBrains Webstorm 2018 1.5
ii. Microsoft Visual Studio
8
4. SOFTWARE REQUIREMENT
SPECIFICATIONS (SRS)
4.1MERN STACK DEVELOPMENT:
4.1.1 MongoDB: MongoDB is a free and open-source cross-platform document-
oriented database program that provides persistence for your application data and is
designed with both scalability and developer agility in mind. MongoDB is written in C++.
Instead of storing data in rows and columns as one would with a relational database,
MongoDB stores JSON documents in collections with dynamic schemas. MongoDB's
document data model makes it easy to store and combine data of any structure, without
giving up sophisticated validation rules, flexible data access, and rich indexing
functionality. Our application will access MongoDB via the JavaScript/Node.js
driver which we install as a Node.js module.
4.1.2 ExpressJS: Express is the web application framework that runs your back-end
application (JavaScript) code. Express runs as a module within the Node.js environment. Express
can handle the routing of requests to the right parts of your application (or to different apps running
in the same environment). In this project, we have used Express to perform two functions:
A. Send the front-end application code to the remote browser when the user browses
to our app.
B. Provide a REST API that the front-end can access using HTTP network calls, in
order to access the database.
4.1.3 ReactJS: React JS is a JavaScript library developed by Facebook to build
interactive/reactive user interfaces. Like Angular, React breaks the front-end application
down into components. Each component can hold its own state and a parent can pass its
state down to its child components and those components can pass changes back to the
parent through the use of callback functions. Complex React applications usually require
the use of additional libraries for state management, routing, and interaction with an API.
4.1.4 NodeJS: Node.js is a JavaScript runtime environment that runs your back-end
application (via Express). Node.js is based on Google's V8 JavaScript engine which is used
in the Chrome browsers.Third party modules, including the MongoDB driver, can be
installed, using the npm tool. Node.js is an asynchronous, event-driven engine where the
9
application makes a request and then continues working on other useful tasks rather than
stalling while it waits for a response. On completion of the requested task, the application
is informed of the results via a callback. This enables large numbers of operations to be
performed in parallel which is essential when scaling applications.
4.2 PHP: PHP is an acronym for PHP: Hypertext Processor. PHP is a server side
scripting language that is embedded in HTML. It is used to manage dynamic content,
databases, session tracking, even build entire e-commerce sites. PHP is a widely-used, free,
and efficient alternative to competitors such as Microsoft's ASP.PHP can send and receive
cookies .PHP can add, delete and modify data in your database. PHP can be used to control
user-access. PHP can encrypt data.
4.3 Azure Bot Service: Azure Bot Service provides tools to build, test, deploy,
and manage intelligent bots all in one place. Through the modular and extensible
framework provided by the SDK, developers can leverage templates to create bots that
provide speech, language understanding, question and answer, and more. A bot is an app
that users interact with in a conversational way using text, graphics (cards), or speech. It
may be a simple question and answer dialog, or a sophisticated bot that allows people to
interact with services in an intelligent manner using pattern matching, state tracking and
artificial intelligence techniques well-integrated with existing business services.
4.3.1 Microsoft QNA Maker: QNA Maker enables you to power a question and
answer service from your semi-structured content like FAQ (Frequently Asked Questions)
documents or URLs and product manuals. An easy-to-use graphical user interface
enables you to create, manage, train and get your service up and running without any
developer experience.
1. A complete no-code experience to create a FAQ bot.
2. No more network throttling. Pay for hosting the service and not for the number
of transactions.
3. Scale as per your needs. Choose the appropriate SKUs of the individual
components that suit your scenario. See how to choose capacity for your QnA
Maker service.
10
4. Full data compliance. The data and runtime components are deployed in the user's
Azure subscription and within their compliance boundary.
4.3.2 Building a Bot:
Fig. 4: Building a Bot
Fig. 3: Microsoft QNA Maker
11
5. LIST OF ACTIVITIES
ACTIVITY
KEY
NAME OF ACTIVITY PRECEEDING
ACTIVITY
DURATION
(DAYS)
A. Exploring feasible project ideas - 1
B. Selecting the best suitable idea A 1
C. Understanding the concept B 2
D. Drafting a rough layout A,B 1
E. Understanding the new technologies MERN
Stack, Bot and PHP
C 4
F. Exploring the implementation of Bot C 1
G. Designing the Landing page D 1
H. Designing the front end of File Sharing Web
App using ReactJS
D 2
I. Designing the front end of Login/Signup Page
using HTML/CSS and bootstrap
D 2
J. Developing the Backend for File Sharing Web
using NodeJS and Connecting Database
through MongoDB
E 5
K. Developing the Backend for Login/Signup Page
using PHP
E 3
L. Implementing Qna Bot using Microsoft Azure
Bot
E 1
M. Integration of Login/Signup Page with File
Sharing Web pages
J,K 3
N. Integrating the Bot with the Website M,L 2
O. Testing and Debugging the web app N 5
P. Publishing the Web App O 2
12
6. ENTITY RELATIONSHIP DIAGRAM
Fig. 5: E-R Diagram for User-Cloud Interaction
Fig. 6: E-R Digram for Contact Form Database
Fig 5: E-R Diagram for User-Cloud Interaction
13
7. GANTT CHART AND PERT CHART
Fig. 7: GANTT chart
14
Fig. 8: PERT Chart
15
8. DATA FLOW DIAGRAM
Fig. 9: Data Flow Diagram
16
9. MODULAR CHART
Fig. 10: Modular Chart
17
11. TEST TECHNIQUES
10.1 Introducing Selenium:
Selenium is a robust set of tools that supports rapid
development of test automation for web-based applications.
Selenium provides a rich set of testing functions specifically
geared to the needs of testing of a web application.
Selenium operations are highly flexible, allowing many
options for locating UI elements and comparing expected
test results against actual application behavior.
10.1.1The Seven Basic Steps of Selenium Test:
There are seven basic steps in creating a Selenium test script, which apply to any test case
and any application under test (AUT).
1. Create a WebDriver instance.
2. Navigate to a Web page.
3. Locate an HTML element on the Web page.
4. Perform an action on an HTML element.
5. Anticipate the browser response to the action.
6. Run tests and record test results using a test framework.
7. Conclude the test.
10.1.2Selenium Architecture:
Selenium has a client-server architecture, and includes both client and server
components Selenium Client includes:
1. The WebDriver API, which you use to develop test scripts to interact with page
and application elements.
2. The RemoteWebDriver class, which communicates with a remote Selenium server
Selenium Server includes a server component, to receive requests from Selenium
and Client's RemoteWebDriver class.
3. The WebDriver API, to run tests against web browsers on a server machine.
Fig. 11: Selinuim Logo
18
4. Selenium Grid, implemented by Selenium Server in command-line options for
grid features, including a central hub and nodes for various environments and
desired browser capabilities.
10.2 Selenium IDE:
It is an integrated development environment for Selenium scripts. It is implemented as a
Chrome and Firefox extension, and allows you to record, edit, and debug tests.
Fig. 12: Snapshot of Selenium IDE
10.3 Selenium Server:
Selenium Server receives Selenese commands from test program, executes them, and
reports back the results of running those tests. When a test program opens the
browser Selenium Core is automatically injected into it allowing Selenium server to control
it. Selenium core is a JavaScript program that executes Selenese command using browser's
JavaScript execution engine.
10.4 Selenium-WebDriver:
The WebDriver was introduced in Selenium 2.0 version it provides a simpler programming
interface with well-designed object-oriented API. It directly calls to browser using
browser’s native support for automation and features they support depend on browser you
are using. If your browser and tests will all run on same machine and your tests only use
WebDriver API, then you do not need to run Selenium-Server.
19
10.5 Using the code
Step 1: Setup Selenium WebDriver in your machine
To setup the driver create a folder in your drive say C:WebDriver copy respective driver
EXE(s) to this folder. Now add this folder path to PATH environment variable in your
machine. This is required as WebDriver API will search for the respective EXE to open
web browser.
Step 2: Run the application by providing arguments
Now you have two option to run the application one is to run from Visual Studio go
to Project>Properties>Debug tab provide command line arguments as shown below or
you can go to command prompt, navigate to debug folder and provide the arguments. The
screen shot below shows command line arguments to search for Selenium keyword in
google on Firefox browser.
Fig. 13: Snapshot of Command Prompt for Selenium
20
12. CONCLUSION
Cloud Computing has the potential to be a disruptive force by affecting the deployment
and use of technology. We, as a team, took an opportunity to use this technology for the
purpose of data sharing and storage. Dpilot, presently as a desktop application, is a Cloud-
Based AI powered secured file transfer and storage system which is built upon MERN stack
development to help the on-boarding data to have a safe journey. Dpilot is flexible and also
an user-friendly desktop app which is capable of transferring data in an efficient manner.
Though, having disadvantages like unsecure, requires constant internet connection etc,
Dpilot comes up with a greater use in this modern era. However, there are lot of research
and investment in the area by the Information technology giants like Microsoft, Google,
Cisco, IBM in this area and the day is not far when the cloud will widespread adopted and
all the security and privacy issues will be handled. Cloud computing is a better way to run
your business. Instead of running your apps yourself, they run on a shared data centre.
When you use any app that runs in the cloud, you just log in, customize it, and start using
it. That is the power of cloud computing. It is a new technology that helps to save money
but the information can be attacked by hackers to be used it improperly. We also conclude
that it is very easy to use and is adaptable and has benefits to customers of all sizes.
21
13. LIMITATIONS
We have really worked hard on making Dpilot more successful and reliable but somewhere
it still needs more improvement so that it can compete with other top applications and also,
can give users an experience that they never felt before. Some areas where it needs to have
more improvement:
1. It requires a constant internet connection.
2. It does not work properly with low-speed connections.
3. At present, it cannot be used on android and iOS.
4. Data on cloud is not likely to be secured as cloud provides less security and privacy.
5. Data stored on cloud can be lost.
6. Physical location of the cloud server where the data is stored cannot be known.
7. Files cannot be manipulated locally.
22
14. FUTURE SCOPE
A cloud allows users to access application, information, and data of all sorts on an online
level rather than by use of actual hardware or devices. A company offering reliable cloud
technology allows for computing to be done in a much more shared way, as a cloud
provides a service rather than a product. Users get and share their information in a way that
can allow them to access and give access to the whole world or any groups of people within
their cloud.
i. As of now, Dpilot is a website available. We will provide mobile application which
will support the platform like Android, IOS and Windows Mobile.
ii. Easier hybrid cloud strategies.
iii. Making it more secure and reliable.
iv. Productivity tools and proactive policies.
v. More focus on Internet of Things (IoT).
vi. Managing the time and making it speedier.
vii. Making working of Dpilot offline i.e., we can share data when there is no
connectivity of internet.
viii. Allowing the Dpilot to share the data using WIFI hotspot in the absence of internet.
ix. Range: Making its range wider when running offline.
x. The bot available (additional feature of Dpilot) is QNA bot. Making the bot more
user friendly.
xi. Adding the chat option for the users while sharing the data over the cloud.
xii. Allowing all the formats of the files to be shared over the cloud.
xiii. Time is a valuable thing, hence increasing the speed of data sharing between cloud
and the user.
xiv. Cloud computing is the future for the organizations. Hence, there is large scope for
amendments in the cloud computing and leading to the enhancement of its application.

More Related Content

PDF
Project Dpilot Documentation
PDF
Seminar_report on Microsoft Azure Service
PDF
Cc unit 1 updated
PDF
Cc unit 3 updated version
PDF
Cc unit 2 updated
DOCX
Report on cloud computing by prashant gupta
PDF
Cc unit 4 updated version
DOCX
Cloud computing notes unit I as per RGPV syllabus
Project Dpilot Documentation
Seminar_report on Microsoft Azure Service
Cc unit 1 updated
Cc unit 3 updated version
Cc unit 2 updated
Report on cloud computing by prashant gupta
Cc unit 4 updated version
Cloud computing notes unit I as per RGPV syllabus

What's hot (16)

PDF
webiOS
PDF
Cloud computing challenges with emphasis on amazon ec2 and windows azure
PDF
Qnx html5 hmi
DOCX
The seminar report on cloud computing
PDF
.Net compiler using cloud computing
PDF
Impacts of Cloud Computing in the Society
PDF
THE IMPROVEMENT AND PERFORMANCE OF MOBILE ENVIRONMENT USING BOTH CLOUD AND TE...
DOCX
Cloud computing seminar report
PDF
Thoughts on Utility, Grid, on demand, cloud computing and appliances
PDF
JIT Borawan Cloud computing part 2
PDF
SURVEY OF CLOUD COMPUTING
PDF
Cloud Computing Myth Busters - Know the Cloud
PDF
Cyber forensics in cloud computing
PDF
Cloud for dummies easycloud
PPT
Cloud Computing Outages - Analysis of Key Outages 2009 - 2012
webiOS
Cloud computing challenges with emphasis on amazon ec2 and windows azure
Qnx html5 hmi
The seminar report on cloud computing
.Net compiler using cloud computing
Impacts of Cloud Computing in the Society
THE IMPROVEMENT AND PERFORMANCE OF MOBILE ENVIRONMENT USING BOTH CLOUD AND TE...
Cloud computing seminar report
Thoughts on Utility, Grid, on demand, cloud computing and appliances
JIT Borawan Cloud computing part 2
SURVEY OF CLOUD COMPUTING
Cloud Computing Myth Busters - Know the Cloud
Cyber forensics in cloud computing
Cloud for dummies easycloud
Cloud Computing Outages - Analysis of Key Outages 2009 - 2012
Ad

Similar to Report : Dpilot - A Cloud Based File Transfer Web Application (20)

PDF
Report : Dpilot - A Cloud Based File Transfer Web Application
PDF
CLOUD COMPUTING: A REVIEW
DOCX
Webface - Passion is Innovation
PPTX
pptseminar.pptx
PPTX
Cloud computing
PPT
cloud computing and android
PPTX
Internship Presentation.pptx
PDF
Introduction Of Cloud Computing
PPTX
Presentation on cloud computing.pptx
PDF
Implementing SAAS: Cloud Computing and Android Based Application Framework fo...
PDF
A Review Paper On Cloud Computing
PPTX
Introduction to Cloud Computing CA03.pptx
PPTX
Cloud Computing
PDF
MACHINE LEARNING AUTOMATIONS PIPELINE WITH CI/CD
PDF
R15A0529_CloudComputing_Notes-converted.pdf
PDF
Implementing Saas as Cloud controllers using Mobile Agent based technology wi...
PDF
Geochronos File Sharing Application Using Cloud
PDF
qadeer intern report.pdf
PDF
Load Balancing Tactics in Cloud Computing: A Systematic Study
DOCX
Cloud computing
Report : Dpilot - A Cloud Based File Transfer Web Application
CLOUD COMPUTING: A REVIEW
Webface - Passion is Innovation
pptseminar.pptx
Cloud computing
cloud computing and android
Internship Presentation.pptx
Introduction Of Cloud Computing
Presentation on cloud computing.pptx
Implementing SAAS: Cloud Computing and Android Based Application Framework fo...
A Review Paper On Cloud Computing
Introduction to Cloud Computing CA03.pptx
Cloud Computing
MACHINE LEARNING AUTOMATIONS PIPELINE WITH CI/CD
R15A0529_CloudComputing_Notes-converted.pdf
Implementing Saas as Cloud controllers using Mobile Agent based technology wi...
Geochronos File Sharing Application Using Cloud
qadeer intern report.pdf
Load Balancing Tactics in Cloud Computing: A Systematic Study
Cloud computing
Ad

Recently uploaded (20)

PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
Construction Project Organization Group 2.pptx
PDF
Well-logging-methods_new................
PPTX
Sustainable Sites - Green Building Construction
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PDF
composite construction of structures.pdf
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
additive manufacturing of ss316l using mig welding
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
UNIT 4 Total Quality Management .pptx
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
DOCX
573137875-Attendance-Management-System-original
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPT
introduction to datamining and warehousing
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Lecture Notes Electrical Wiring System Components
Construction Project Organization Group 2.pptx
Well-logging-methods_new................
Sustainable Sites - Green Building Construction
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
composite construction of structures.pdf
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
additive manufacturing of ss316l using mig welding
CYBER-CRIMES AND SECURITY A guide to understanding
UNIT 4 Total Quality Management .pptx
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Operating System & Kernel Study Guide-1 - converted.pdf
573137875-Attendance-Management-System-original
Model Code of Practice - Construction Work - 21102022 .pdf
introduction to datamining and warehousing
Embodied AI: Ushering in the Next Era of Intelligent Systems

Report : Dpilot - A Cloud Based File Transfer Web Application

  • 1. In-house Training Report on Dpilot: File Sharing Web Application based on Cloud Submitted in the partial fulfillment of the requirement for the award of the degree of Bachelor of Technology (Computer Science and Engineering) [2016-2020] Under the Supervision of Dr. Pinki Nayak, Mr. Ram Paul and Dr. Deepak Sinwar by Kritika Phulli [01610402716] Nidhi Kumari Chauhan [02110402716] Deepanshu Sharma [35210402716] Vishal Bhat [41910402716] Department of Computer Science and Engineering [AMITY SCHOOL OF ENGINEERING AND TECHNOLOGY] (Affiliated to Guru Gobind Singh Indraprastha University, New Delhi) [June-July, 2018]
  • 2. I CERTIFICATE It is hereby certified that the project entitled “Dpilot” has been submitted by Ms. Kritika Phulli [01610402716], Ms. Nidhi Kumari Chauhan [02110402716], Mr. Deepanshu Sharma [35210402716] and Mr. Vishal Bhat [41910402716] of CSE fifth Semester, as a part of B.Tech in-house training/workshop (ETCS-359). This work put in by them is an outcome of their own hard work and effort and the matter embodied in the report has not been submitted for the award of any other degree. Dr. Pinki Nayak Mr. Ram Paul Dr. Deepak Sinwar (In-house Training In-charge) Date: Place: Amity School of Engineering and Technology
  • 3. II ACKNOWLEDGEMENT In the course of development of this project many people have helped us on various levels. First of all we would like to thank Prof. Rekha Aggarwal, Director and Prof. M.N. Gupta, Head of Department of IT and CSE, ASET for their constant encouragement and guidance throughout the project, thus enabling us to perform our best. We would also like all our mentors for their unbound technical guidance and ideas that have helped us enrich and make this project better at each level. We feel to acknowledge our indebtedness and deep sense of gratitude to our mentors Dr. Pinki Nayak, Mr. Ram Paul, Dr. Deepak Sinwar and Mr. Amrit Nath Thulal whose valuable guidance and kind supervision given to us throughout the course which shaped the present work as its show. Also, we want to extend our sincerest gratitude to Mr. Nitish, the computer lab assistant for his efforts in helping the students to the best of his ability. I express my sincere thanks to the entire faculty of Amity School of Engineering and Technology for giving us all the facilities during our training period. Finally, yet importantly, we would like to thank almighty for blessing us to do and complete his project. Kritika Phulli [01610402716] Nidhi Kumari Chauhan [02110402716] Deepanshu Sharma [35210402716] Vishal Bhat [41910402716]
  • 4. III ABSTRACT Dpilot is a Cloud-Based AI powered secured file transfer and storage system to help the on-boarding their flight to have a safe and healthy journey. The main objective of our project titled ‘Dpilot’ is to provide a cloud-based data sharing and storing platform to ease the data sharing and storing process. Dpilot has three easy steps – register, upload and download. Dpilot works on MERN Stack development software i.e., MongoDB, ExpressJS, ReactJS, NodeJS having four main characteristic – quick access, flexible storage, file security, reliable tech support. Dpilot is also powered by a chatbot which helps in working and also make sure that no one gets stucks anywhere while performing the data transfer and helps to make your intermediate queries resolved in an effective manner. Dpilot also includes PHP, Azure Bot Service, and Microsoft QNA Maker. Dpilot offers a user-friendly environment so that user can share its data and also download the data more efficiently. Dpilot is on the process to make all bugs to be fixed and make it more reliable. Presently, Dpilot is only available for windows (PC) only but looking forward to make it available for mobiles too i.e., Android, iOS, Windows (Phone).
  • 5. IV LIST OF FIGURES Figure 1: Cloud Computing Deployment Method Figure 2 : MERN Stack Development Figure 3 : Microsoft QNA Maker Figure 4 : Building a Bot Figure 5 : E-R Diagram of User-Cloud Interaction Figure 6 : E-R Diagram of Contact Form Database Figure 7 : GANTT Chart Figure 8 : PERT Chart Figure 9 : Data Flow Diagram (DFD) of User’s Journey of Diplot Figure 10 : Modular Chart Figure 11: Selenium Logo Figure 12 : Snapshot of Selenium IDE Figure 13 : Snapshot of Command Prompt of Selenium LIST OF TABLES Table 1: List of Activities
  • 6. V TABLE OF CONTENTS CERTIFICATE I ACKNOWLEDGEMENT II ABSTRACT III LIST OF FIGURES IV LIST OF TABLES IV 1. Introduction to the project 1 2. Feasibility Study 4 3. Hardware/Software Requirements 7 4. Software Requirement Specifications (SRS) 9 5. List of Activities 12 6. E-R Diagram 13 7. GANTT Chart and PERT Chart 14 8. Data Flow Diagram (DFD) 15 9. Modular Chart 16 10. Test Techniques 17 11. Conclusion 20 12. Limitations 21 13. Future Scope 22 Appendix-I (Program Code) Appendix-II (Sample Outputs)
  • 7. 1 1. INTRODUCTION “Dpilot is the delivery of computing resources over the internet instead of your computer’s hard drive.” Dpilot is a cloud based data sharing and storage platform. Here, we can store our data in form of files and can be accessed through any computer using the cloud computing. Distinct users has their distinct and unique portals which is accessed using login credentials made by the users only. Dpilot is a combination of cloud computing and MERN stack development. 1.1 PRE –REQUISITE KNOWLEDGE 1.1.1 CLOUD COMPUTING As defined... “An emerging computer paradigm where data and services reside in massively scalable data centers in the cloud and can be accessed from any connected devices over the internet.” Cloud computing is Internet based development and use of computer technology. It typically involves the delivery of dynamically scalable and often virtualized resources as a service over the Internet. The term cloud is used as a symbol for the Internet. The basis of cloud computing is to create a set of virtual servers on the available vast resource pool and give it to the clients. Any web enabled device can be used to access the resources through the virtual servers. Based on the computing needs of the client, the infrastructure allotted to the client can be scaled up or down. One of the key concepts of cloud computing is that as and when the amount of data increases, the cloud computing services can be used to manage the load effectively and make the processing tasks easier. Typical cloud computing services provide common business applications online that are accessed from a web browser, while the software and data are stored on the server.
  • 8. 2 Types of Cloud Computing:- In practice, cloud service providers (CSP’s) tend to offer services that can be grouped into three categories: software as a service, platform as a service, and infrastructure as a service. Software as a Service (SaaS):- 1. Provides the same software to different customers via a network, usually the Internet. It is managed by third party venders. 2. Accessible via any computer without any downloads. 3. Software as a service features a complete application offered as a service on demand. The most widely known example of SaaS is salesforce.com. Platform as a Service (PaaS):- 1. Offer an Internet-based platform to developers who want to create services and application but don't want to build their own cloud. Hence, No need to buy hardware and software. Servers, storage and networking managed by third party venders. 2. Someone producing PaaS might produce a platform by integrating an OS, application software, and even a development environment that is then provided to a customer as a service. The customer interacts with the platform through the API, and the platform does what is necessary to manage and scale itself to provide a given level of service. Infrastructure as a Service (IaaS):- 1. Allows applications to be run on a cloud supplier’s hardware by allows you to install a virtual server on their IT infrastructure. 2. No need to purchase servers, or network equipment. 3. Servers, storage and networking managed by venders whereas applications and updates are managed by users. Infrastructure as a service delivers basic storage and computing capabilities as standardized services over the network. Servers, storage systems, switches, routers, and other systems are pooled and made available to users.
  • 9. 3 Fig. 1: Cloud Computing Deployment Method 1.1.2 MERN FULL STACK DEVELOPMENT MERN (MongoDB, Express, React, Node.js) is another popular full stack development. It is usually considered as an alternative to MEAN stack development. Below is the architecture of MERN: I. MongoDB - Database layer II. Express - Middleware for Nodejs III. React- front end (User Interface) IV. Node.js - web server logic The main difference between MERN and MEAN stack is Angular and React. Both Angular and React does the job for your requirement. Its personal choice which one to use. Before learning MERN stack development, we should have knowledge of HTML/CSS, JavaScript, React JS, Node JS. Fig. 2: MERN Stack Development
  • 10. 4 2. FEASIBILITY STUDY The most important step in any project is determining the viability of the idea. This is called Feasibility Study. Feasibility study is used to assess the strengths and weaknesses of a proposed project and present directions of activities which will improve a project and achieve desired results. The nature and components of feasibility studies depend primarily on the areas in which analysed projects are implemented. Feasibility literally means whether some idea will work or not. It knows beforehand whether there exists a sizeable market for the proposed product/service, what would be the investment requirements and where to get the funding from, whether and wherefrom the necessary technical know-how to convert the idea into a tangible product may be available, and so on. It is a process for making sound decisions and setting direction. A feasibility study is designed to provide an overview of the primary issues related to a business idea. The purpose is to identify any "make or break" issues that would prevent your business from being successful in the marketplace. In other words, a feasibility study determines whether the business idea makes sense. A feasibility study looks at the following major areas: i. Market Analysis. ii. Technical Analysis. iii. Financial Analysis. iv. Economic Analysis. v. Legal Analysis. 2.1 Market Analysis A market is the arena for interaction among buyers and sellers. From seller’s point of view, market analysis is primarily concerned with the aggregate demand of the proposed product/service in future and the market share expected to be captured. Success of the proposed project clearly hinges on the continuing support of the customers. The cloud services market in India is forecast to grow at over a CAGR (Compound Annual Growth Rate) of 22% during 2015-2020. Rising availability of cloud services at economical price models and the ease of implementation are the major growth drivers for cloud services in India. In addition, increased government spending on new e-governance projects based on cloud technology is likely to drive the market for cloud computing services in India over the coming years. Software-as-a-Service (SaaS) emerged as the leading market segment holding majority market share in 2014 in India. Application hosting and E-mail remained the leading services to utilize cloud technology extensively in India. Growing at over a
  • 11. 5 CAGR of 50%, private cloud dominated cloud computing ecosystem in India during 2010- 2014. Improved data security features and exclusive control remain the key factors contributing to growth of private cloud in India. However, private cloud adoption is largely restricted to large enterprises in present times. This is due to the fact that higher initial investment discourages small and medium enterprises to opt for private cloud deployment. According to the analysis, there is a very large scope for adaption of cloud computing in India. 2.2 Technical Analysis It is based on MERN Stack development, hence based on the latest technical platforms. Backend is based on the Node.js and IDE used is WEBSTORM which is user-friendly whereas frontend is based on the react on the same IDE. Both are the latest technologies, Hence, anyone who knows the basics of these can easily amend the app if needed. MongoDB is used for the data management which has its unique features – it does not have pre-defined schemas i.e., we have dynamic schemas. It uses JSON (JAVA SCRIPT OBJECT NOTATION). Also, it has unique object IDs which makes it more reliable and easy for the data manipulation. It is also powered by a chat bot namely CabinCrew which is made using MICROSOFT AZURE BOT SERVICE and MICROSOFT QNA MAKER which makes sure that user does not get stuck in between and also helps user to make the intermediate queries resolved in an effective manner. 2.3 Financial Analysis The objective of financial analysis is to ascertain whether the proposed project will be financially viable in the sense of being able to meet the burden of servicing debt and whether the proposed project will satisfy the return expectations of those who provide the capital. At present, we are offering Dpilot for free of cost with all the services but after a limited period it will cost a minimal amount to its users. But, we are not expecting much return as Dpilot available free of cost in the first year. 2.4 Economic Analysis The emergence of cloud computing brings many benefits which are shifting the economics of IT. Cloud technology standardises and pools IT resources and automates many of the maintenance tasks performed manually today. Cloud architectures facilitate elastic consumption, self-service, and pays-as-you-go pricing. Cloud also allows core IT infrastructure to be brought into large data centres that take advantage of significant economies of scale.
  • 12. 6 2.5 Legal Analysis Cloud computing is a way to conduct business. Although, there is no country whose current laws specifically deal with cloud computing, the legal climate in UK and Singapore appears to be favourable for the purpose of its regulation. There is no general prohibition under Swiss law to conduct business using cloud computing providers. As cloud computing implies the outsourcing of certain tasks in different locations or jurisdictions, certain limitations may be imposed or additional requirements may need to be satisfied. Such limitations will depend on several factors.
  • 13. 7 3. HARDWARE/SOFTWARE REQUIRMENTS 3.1 Hardware Requirements: Following configurations are required for development: 1. Processor Intel Pentium 4 or Higher 2. Operating System Microsoft Windows 7/8/10 3. RAM 512MB (1GB recommended) 3.2 Software Requirements: 1. File Sharing Screen: i. Robo Mongo- MongoDB (Version: 2.2.33) – Database Management Software ii. Express.js & Node.js (Version: 4.16.2) – Backend Application iii. React.js (Version: 16.4.1) – Frontend Application 2. Login Screen: i. HTML and CSS -- Frontend Development ii. PHP -- Backend Development 3. Landing Screen: i. HTML and CSS ii. Bootstrap 4. Bot: i. Microsoft QNA Maker ii. C# 5. Cloud Service: i. Amazon S3 (AWS) ii. Microsoft Azure 6. Supported Operating System: i. Windows 7/8/10(32 or 64 bit) ii. 64-bit distributions must be capable of running 32-bit applications 7. Web Browser: i. Google Chrome /Bing/ Microsoft Edge 8. Supported Development Environments: i. JetBrains Webstorm 2018 1.5 ii. Microsoft Visual Studio
  • 14. 8 4. SOFTWARE REQUIREMENT SPECIFICATIONS (SRS) 4.1MERN STACK DEVELOPMENT: 4.1.1 MongoDB: MongoDB is a free and open-source cross-platform document- oriented database program that provides persistence for your application data and is designed with both scalability and developer agility in mind. MongoDB is written in C++. Instead of storing data in rows and columns as one would with a relational database, MongoDB stores JSON documents in collections with dynamic schemas. MongoDB's document data model makes it easy to store and combine data of any structure, without giving up sophisticated validation rules, flexible data access, and rich indexing functionality. Our application will access MongoDB via the JavaScript/Node.js driver which we install as a Node.js module. 4.1.2 ExpressJS: Express is the web application framework that runs your back-end application (JavaScript) code. Express runs as a module within the Node.js environment. Express can handle the routing of requests to the right parts of your application (or to different apps running in the same environment). In this project, we have used Express to perform two functions: A. Send the front-end application code to the remote browser when the user browses to our app. B. Provide a REST API that the front-end can access using HTTP network calls, in order to access the database. 4.1.3 ReactJS: React JS is a JavaScript library developed by Facebook to build interactive/reactive user interfaces. Like Angular, React breaks the front-end application down into components. Each component can hold its own state and a parent can pass its state down to its child components and those components can pass changes back to the parent through the use of callback functions. Complex React applications usually require the use of additional libraries for state management, routing, and interaction with an API. 4.1.4 NodeJS: Node.js is a JavaScript runtime environment that runs your back-end application (via Express). Node.js is based on Google's V8 JavaScript engine which is used in the Chrome browsers.Third party modules, including the MongoDB driver, can be installed, using the npm tool. Node.js is an asynchronous, event-driven engine where the
  • 15. 9 application makes a request and then continues working on other useful tasks rather than stalling while it waits for a response. On completion of the requested task, the application is informed of the results via a callback. This enables large numbers of operations to be performed in parallel which is essential when scaling applications. 4.2 PHP: PHP is an acronym for PHP: Hypertext Processor. PHP is a server side scripting language that is embedded in HTML. It is used to manage dynamic content, databases, session tracking, even build entire e-commerce sites. PHP is a widely-used, free, and efficient alternative to competitors such as Microsoft's ASP.PHP can send and receive cookies .PHP can add, delete and modify data in your database. PHP can be used to control user-access. PHP can encrypt data. 4.3 Azure Bot Service: Azure Bot Service provides tools to build, test, deploy, and manage intelligent bots all in one place. Through the modular and extensible framework provided by the SDK, developers can leverage templates to create bots that provide speech, language understanding, question and answer, and more. A bot is an app that users interact with in a conversational way using text, graphics (cards), or speech. It may be a simple question and answer dialog, or a sophisticated bot that allows people to interact with services in an intelligent manner using pattern matching, state tracking and artificial intelligence techniques well-integrated with existing business services. 4.3.1 Microsoft QNA Maker: QNA Maker enables you to power a question and answer service from your semi-structured content like FAQ (Frequently Asked Questions) documents or URLs and product manuals. An easy-to-use graphical user interface enables you to create, manage, train and get your service up and running without any developer experience. 1. A complete no-code experience to create a FAQ bot. 2. No more network throttling. Pay for hosting the service and not for the number of transactions. 3. Scale as per your needs. Choose the appropriate SKUs of the individual components that suit your scenario. See how to choose capacity for your QnA Maker service.
  • 16. 10 4. Full data compliance. The data and runtime components are deployed in the user's Azure subscription and within their compliance boundary. 4.3.2 Building a Bot: Fig. 4: Building a Bot Fig. 3: Microsoft QNA Maker
  • 17. 11 5. LIST OF ACTIVITIES ACTIVITY KEY NAME OF ACTIVITY PRECEEDING ACTIVITY DURATION (DAYS) A. Exploring feasible project ideas - 1 B. Selecting the best suitable idea A 1 C. Understanding the concept B 2 D. Drafting a rough layout A,B 1 E. Understanding the new technologies MERN Stack, Bot and PHP C 4 F. Exploring the implementation of Bot C 1 G. Designing the Landing page D 1 H. Designing the front end of File Sharing Web App using ReactJS D 2 I. Designing the front end of Login/Signup Page using HTML/CSS and bootstrap D 2 J. Developing the Backend for File Sharing Web using NodeJS and Connecting Database through MongoDB E 5 K. Developing the Backend for Login/Signup Page using PHP E 3 L. Implementing Qna Bot using Microsoft Azure Bot E 1 M. Integration of Login/Signup Page with File Sharing Web pages J,K 3 N. Integrating the Bot with the Website M,L 2 O. Testing and Debugging the web app N 5 P. Publishing the Web App O 2
  • 18. 12 6. ENTITY RELATIONSHIP DIAGRAM Fig. 5: E-R Diagram for User-Cloud Interaction Fig. 6: E-R Digram for Contact Form Database Fig 5: E-R Diagram for User-Cloud Interaction
  • 19. 13 7. GANTT CHART AND PERT CHART Fig. 7: GANTT chart
  • 21. 15 8. DATA FLOW DIAGRAM Fig. 9: Data Flow Diagram
  • 22. 16 9. MODULAR CHART Fig. 10: Modular Chart
  • 23. 17 11. TEST TECHNIQUES 10.1 Introducing Selenium: Selenium is a robust set of tools that supports rapid development of test automation for web-based applications. Selenium provides a rich set of testing functions specifically geared to the needs of testing of a web application. Selenium operations are highly flexible, allowing many options for locating UI elements and comparing expected test results against actual application behavior. 10.1.1The Seven Basic Steps of Selenium Test: There are seven basic steps in creating a Selenium test script, which apply to any test case and any application under test (AUT). 1. Create a WebDriver instance. 2. Navigate to a Web page. 3. Locate an HTML element on the Web page. 4. Perform an action on an HTML element. 5. Anticipate the browser response to the action. 6. Run tests and record test results using a test framework. 7. Conclude the test. 10.1.2Selenium Architecture: Selenium has a client-server architecture, and includes both client and server components Selenium Client includes: 1. The WebDriver API, which you use to develop test scripts to interact with page and application elements. 2. The RemoteWebDriver class, which communicates with a remote Selenium server Selenium Server includes a server component, to receive requests from Selenium and Client's RemoteWebDriver class. 3. The WebDriver API, to run tests against web browsers on a server machine. Fig. 11: Selinuim Logo
  • 24. 18 4. Selenium Grid, implemented by Selenium Server in command-line options for grid features, including a central hub and nodes for various environments and desired browser capabilities. 10.2 Selenium IDE: It is an integrated development environment for Selenium scripts. It is implemented as a Chrome and Firefox extension, and allows you to record, edit, and debug tests. Fig. 12: Snapshot of Selenium IDE 10.3 Selenium Server: Selenium Server receives Selenese commands from test program, executes them, and reports back the results of running those tests. When a test program opens the browser Selenium Core is automatically injected into it allowing Selenium server to control it. Selenium core is a JavaScript program that executes Selenese command using browser's JavaScript execution engine. 10.4 Selenium-WebDriver: The WebDriver was introduced in Selenium 2.0 version it provides a simpler programming interface with well-designed object-oriented API. It directly calls to browser using browser’s native support for automation and features they support depend on browser you are using. If your browser and tests will all run on same machine and your tests only use WebDriver API, then you do not need to run Selenium-Server.
  • 25. 19 10.5 Using the code Step 1: Setup Selenium WebDriver in your machine To setup the driver create a folder in your drive say C:WebDriver copy respective driver EXE(s) to this folder. Now add this folder path to PATH environment variable in your machine. This is required as WebDriver API will search for the respective EXE to open web browser. Step 2: Run the application by providing arguments Now you have two option to run the application one is to run from Visual Studio go to Project>Properties>Debug tab provide command line arguments as shown below or you can go to command prompt, navigate to debug folder and provide the arguments. The screen shot below shows command line arguments to search for Selenium keyword in google on Firefox browser. Fig. 13: Snapshot of Command Prompt for Selenium
  • 26. 20 12. CONCLUSION Cloud Computing has the potential to be a disruptive force by affecting the deployment and use of technology. We, as a team, took an opportunity to use this technology for the purpose of data sharing and storage. Dpilot, presently as a desktop application, is a Cloud- Based AI powered secured file transfer and storage system which is built upon MERN stack development to help the on-boarding data to have a safe journey. Dpilot is flexible and also an user-friendly desktop app which is capable of transferring data in an efficient manner. Though, having disadvantages like unsecure, requires constant internet connection etc, Dpilot comes up with a greater use in this modern era. However, there are lot of research and investment in the area by the Information technology giants like Microsoft, Google, Cisco, IBM in this area and the day is not far when the cloud will widespread adopted and all the security and privacy issues will be handled. Cloud computing is a better way to run your business. Instead of running your apps yourself, they run on a shared data centre. When you use any app that runs in the cloud, you just log in, customize it, and start using it. That is the power of cloud computing. It is a new technology that helps to save money but the information can be attacked by hackers to be used it improperly. We also conclude that it is very easy to use and is adaptable and has benefits to customers of all sizes.
  • 27. 21 13. LIMITATIONS We have really worked hard on making Dpilot more successful and reliable but somewhere it still needs more improvement so that it can compete with other top applications and also, can give users an experience that they never felt before. Some areas where it needs to have more improvement: 1. It requires a constant internet connection. 2. It does not work properly with low-speed connections. 3. At present, it cannot be used on android and iOS. 4. Data on cloud is not likely to be secured as cloud provides less security and privacy. 5. Data stored on cloud can be lost. 6. Physical location of the cloud server where the data is stored cannot be known. 7. Files cannot be manipulated locally.
  • 28. 22 14. FUTURE SCOPE A cloud allows users to access application, information, and data of all sorts on an online level rather than by use of actual hardware or devices. A company offering reliable cloud technology allows for computing to be done in a much more shared way, as a cloud provides a service rather than a product. Users get and share their information in a way that can allow them to access and give access to the whole world or any groups of people within their cloud. i. As of now, Dpilot is a website available. We will provide mobile application which will support the platform like Android, IOS and Windows Mobile. ii. Easier hybrid cloud strategies. iii. Making it more secure and reliable. iv. Productivity tools and proactive policies. v. More focus on Internet of Things (IoT). vi. Managing the time and making it speedier. vii. Making working of Dpilot offline i.e., we can share data when there is no connectivity of internet. viii. Allowing the Dpilot to share the data using WIFI hotspot in the absence of internet. ix. Range: Making its range wider when running offline. x. The bot available (additional feature of Dpilot) is QNA bot. Making the bot more user friendly. xi. Adding the chat option for the users while sharing the data over the cloud. xii. Allowing all the formats of the files to be shared over the cloud. xiii. Time is a valuable thing, hence increasing the speed of data sharing between cloud and the user. xiv. Cloud computing is the future for the organizations. Hence, there is large scope for amendments in the cloud computing and leading to the enhancement of its application.