Professional Documents
Culture Documents
Pramod Combined
Pramod Combined
Pramod Combined
590018, KARNATAKA.
Submitted in the partial fulfillment of the requirements for the award of Degree
B.E., In Computer Science & Engineering
PROJECT ASSOCIATE
PRAMOD C P 4BD17CS083
PROJECT GUIDES
Dr. Nirmala C R Ph.D., Dr. Ashoka K Ph.D.,
Professor & Head, Associate Professor,
Department of CS&E, Department of CS&E,
B.I.E.T, Davangere B.I.E.T, Davanagere
CERTIFICATE
This is to certify that PRAMOD C P bearing USN 4BD17CS083 of Computer Science and
Engineering department has satisfactorily submitted the Phase-II Project Report entitled
“IMPLEMENTATION OF SECURE DATA STORAGE IN BLOCKCHAIN WITH NEAR-FIELD
COMMUNICATION AUTHENTICATION” in the partial fulfillment of the requirements for the award of
Degree of Bachelor of Engineering (B.E) in Computer Science & Engineering under the VTU during the
academic year 2020-2021.
Date:
Place: Davanagere
Bapuji Educational Association (Regd.)
Bapuji Institute of Engineering and Technology, Davangere-577004
Department of Computer Science and Engineering
VISION
To be a center of excellence in imparting state-of-the-art technology in the field of Computer Science
and Engineering education enabling the students to become professionally sound and ethically strong.
MISSION
M1 Adapting best teaching and learning techniques that cultivates Questioning and
Reasoning culture among the students.
M2 Creating collaborative learning environment that ignites the critical thinking in
students and leading to the innovation.
M3 Establishing Industry Institute relationship to bridge the skill gap and make them
industry ready and relevant.
M4 Mentoring students to be socially responsible by inculcating ethical and moral values.
PEO1 To apply the skills acquired in the field of computer science and engineering in
solving the societal and industrial problems with technology intervention.
PEO2 To continue their career in industry, academia and to pursue higher studies and
research.
PEO3 To become successful entrepreneurs, innovators and job creators to design and develop
software products and services to meet the societal, technical and business challenges.
PSO1 Analyze and develop solutions for problems that are complex in nature but applying the
knowledge acquired from the core subjects of this program.
PSO2 To develop secure, Scalable, Resilient and distributed applications for industry and
societal requirements.
PSO3 To learn and apply the concepts and construct of emerging technologies like Artificial
Intelligence, Machine learning, Deep learning, Big Data Analytics, IOT, Cloud
Computing etc. for any real time problems.
ACKNOWLEDGEMENT
Salutations to our beloved and highly esteemed institute, “BAPUJI INSTITUTE OF ENGINEERING
AND TECHNOLOGY” for having well qualified staff and labs furnished with necessary equipments.
I express my sincere thanks to our guide Dr. Ashoka K for giving me constant encouragement, support
and valuable guidance throughout the course of the project without whose stable guidance this project would
not have been achieved.
I express my sincere thanks to our coordinator Dr. Roopa G.M for giving me constant encouragement,
support and valuable guidance throughout the course of the project without whose stable guidance this project
would not have been achieved.
I express whole hearted gratitude to Dr. Nirmala C R who is our respectable H.O.D of Computer
Science & Engineering Department. I wish to acknowledge her help who made my task easy by providing with
her valuable help and encouragement.
I also express my whole hearted gratitude to our principal, Dr. H.B Aravind for his moral support and
encouragement.
I would like to extend my gratitude to all staff of Department of Computer Science and Engineering
for the help and support rendered to us. I have benefited a lot from the feedback, suggestions given by them. I
would like to extend my gratitude to all my family members and friends especially for their advice and moral
support.
PRAMOD C P 4BD17CS083
ABSTRACT
Blockchain secures a variety of IoT circumstance, when information or system validation information is
placed on a blockchain, personal data might be spilled through the affirmation of working system. This paper
observes a Zero-Knowledge proof for an awesome meter framework to illustrate the effectiveness of uncovered
information as an instance. This research work has pondered a way to enhance the obscurity of blockchain for
safety insurance. In addition to that, device Near-field communication (NFC) generation is used as a mobile
platform application. The fundamental idea of this research is to provide a secure service to a consumer through
mobile application using the near field communication card and Zero knowledge authentication system.
CONTENTS
Chapter 1: INTRODUCTION 01
1.1 Existing System
CONCLUSION
FUTURE WORK
BIBLIOGRAPHY
LIST OF FIGURES
CHAPTER 1
INTRODUCTION
The IoT is the abbreviation of the Internet of Things, which enables objects to share
and control data between objects because things are connected to the Internet. It is possible to
commit malicious attacks, such as data tampering, or privacy infringement, while sharing data
on objects over the Internet.
This project introduced a block chain to prevent security threats such as data
counterfeiting, which could occur using Mobile Financials. Zero-Knowledge proof, a block
chain anonymity enhancement technology and NFC, was introduced to prevent security threats
such as personal information infringement through block inquiry. It was proposed to use smart
contracts to prevent Mobile Financial wallet data forgery and personal information
infringement we suggest.
Block chains with anonymity include Monero, Dash, ZCASH and so on. An
anonymous block chain is a block chain that makes it impossible to trace an account and
transaction contents, such as an account, etc., in order to prevent personal information
infringement. They implemented an anonymous block chain using different security
technologies. Monroe applied a technology to prevent tracing of existing bit coins with digital
assets using Cryptonote protocol. It used a special encryption technique called Ring Signatures,
One-time keys. It is very difficult for a third party to confirm the contents of a transaction
because the key is mixed in a certain group and a private key is required to confirm the
transaction.
CHAPTER 2
LITERATURE SURVEY
2. Development of a Smart Power Meter for AMI Based on ZigBee Communication. Many
governments deploy ubiquitous IT project, which aims to combine the latest wireless network
and wide-band technologies etc. to accomplish a ubiquitous wireless communication network.
The ubiquitous wireless communication network can be utilized for the Advanced Metering
Infrastructure (AMI). Therefore, this project tries to use the new wireless communication
technologies to design and implement a ZigBee-based smart power meter. An outage recording
system is also designed and embedded into the smart meter. The microcontroller of Microchip
dsPIC30F series is used to develop the proposed smart power meter. A ZigBee system is then
deigned and integrated into the proposed power meter, and used to transmit the detailed power
consumption data and outage event data to rear-end processing system. The proposed smart
power meter cannot only be used for power consumption data collection but also for outage
event data recording. The proposed system has great potential to be used to build the area-
based AMI. Experimental results demonstrate the validity of the proposed system. Besides, the
application. ZigBee communication in power area may, expectedly, lead to make a definite
contribution to ubiquitous IT project.
3. Ethereum and the sec: why most distributed autonomous organizations are subject to the
registration requirements of the securities act of 1933 and a proposal for new regulation. In a
world full of new technology, the risk of fraud is constantly increasing. In the securities
industry, this risk existed long before the use of technology. Congress enacted the Securities
Act of 1933 to combat the risk of fraud and misrepresentation in the sale of securities. By
requiring full disclosure, investors have the opportunity to make informed decisions prior to
investing. However, Distributed Autonomous Organizations (“DAOs”), through the use of
blockchains and smart-contracts, engage in the sale of securities without fully disclosing the
risks or complying with the registration requirements of the Securities Act of 1933. Compliance
with the burdensome requirements of registration, however, would destroy this new technology
and method of conducting business. To avoid this set-back, Congress must amend the
registration requirements to provide an exemption for DAOs. This exemption, although
reducing current registration burdens, must still require DAOs to disclose certain information,
thereby ensuring investors are informed prior to investing. Furthermore, due to the unique
nature of the blockchain, smart contract, and DAOs, Congress must impose a fiduciary duty on
the creators of DAOs to ensure compliance with the disclosure requirements. Further, Congress
should consider the allowance of burden-shifting following the initial crowd sale.
4. The Use of Block Chain Technology in Different Application Domains. In this project, the
exciting possibilities that block chain technology offers in regards to decentralized trust-free
systems are investigated. More specifically this includes research of how block chain
technology can advantageously be utilized in different domains, from finance to more general
societal applications. On the basis of a small trust-based coffee shop, a proof of concept system
has been developed as a base point for an evaluation of the strengths and weaknesses of the
block chain technology. Clearly both are present, but they are much dependent on which cases
the technology is applied to. In the example of a coffee shop, the low maintenance, built in
security and ease of implementation are factors that speak for the utilization. On the other hand
the inconvenience of currency conversion and transaction time are drawbacks. On a more
general scale the security and trust-freeness of the technology is definitely features that allow
for it to be applied in a broad spectrum of applications. However, scalability, costs and
fluctuating currencies are hindrances. It is argued that block chain technology has the potential
to restore trust in the banking sector by introducing a level of transparency. The technology is
still young and suffers from teething troubles, but it is argued that as it matures it will have a
great impact in many areas of application.
5. Crypto-Assets Unencrypted with the recent surge in crypto-activity, a natural question arises
as to what exactly a “cryptocurrency” is and how to value and assess these digital assets. In
this project, we provide an overview of the history and technology underlying cryptocurrencies.
We also present information on the volume, size, and volatility of this emerging asset class,
which we compare to major fiat currencies and commodities. Finally, we provide a framework
for valuing crypto-assets, discuss the still-evolving regulatory environment for this asset class,
and discuss the mechanics of investing in cryptocurrencies.
Using the zero knowledge proof authentication protocol, the public key is stored in the block
chain without storing the original data in the block chain, and the original data is stored in the
server database. When the proof is completed through the zero knowledge proof process
together with the public key stored in the block chain, the data is called so that the data can be
prevented from being modulated. It also protects your privacy because you do not put your
original data directly in the block chain.
2.4 Objectives
To provide a secure service to a consumer through mobile application using the near
field communication card and Zero knowledge authentication system.
To use the Zero Knowledge Proof protocol as the important building block of an
application to achieve privacy for the users, and enhance security of the system.
To use NFC to add an extra layer of security in order to prevent data tampering.
CHAPTER 3
Usability
Simple is the key here. The system must be simple that people like to use it, but not so
complex that people avoid using it. The user must be familiar with the user interfaces and
should not have problems in migrating to a new system with a new environment. The menus,
buttons and dialog boxes should be named in a manner that they provide clear understanding
of the functionality. Several users are going to use the system simultaneously, so the usability
of the system should not get affected with respect to individual users.
Reliability
The system should be trustworthy and reliable in providing the functionalities. Once a
user has made some changes, the changes must be made visible by the system. The changes
made by the Programmer should be visible both to the Project leader as well as the Test
engineer.
Performance
The system is going to be used by many employees simultaneously. Since the system
will be hosted on a single web server with a single database server in the background,
performance becomes a major concern. The system should not succumb when many users
would be using it simultaneously. It should allow fast accessibility to all of its users. For
example, if two test engineers are simultaneously trying to report the presence of a bug, then
there should not be any inconsistency while doing so.
Scalability
The system should be scalable enough to add new functionalities at a later stage. There should
be a common channel, which can accommodate the new functionalities.
Maintainability
The system monitoring and maintenance should be simple and objective in its approach. There
should not be too many jobs running on different machines such that it gets difficult to monitor
whether the jobs are running without errors.
Portability
The system should be easily portable to another system. This is required when the web server,
which s hosting the system gets stuck due to some problems, which requires the system to be
taken to another system.
Reusability
The system should be divided into such modules that it could be used as a part of another
system without requiring much of work.
Flexibility
The system should be flexible enough to allow modifications at any point of time.
Ram : 4 GB
CHAPTER 4
STSYEM DESIGN
1. A data flow diagram (DFD) is graphic representation of the "flow" of data through an
information system. A data flow diagram can also be used for the visualization of data
processing (structured design). It is common practice for a designer to draw a context
level DFD first which shows the interaction between the system and outside entities.
DFD’s show the flow of data from external entities into the system, how the data moves
from one process to another, as well as its logical storage. There are only four symbols:
2. Squares representing external entities, which are sources and destinations of
information entering and leaving the system.
3. Rounded rectangles representing processes, in other methodologies, may be called
'Activities', 'Actions', 'Procedures', 'Subsystems' etc. which take data as input, do
processing to it, and output it.
4. Arrows representing the data flows, which can either, be electronic data or physical
items. It is impossible for data to flow from data store to data store except via a process,
and external entities are not allowed to access data stores directly.
5. The flat three-sided rectangle is representing data stores should both receive
information for storing and provide it for further processing.
A sequence diagram simply depicts interaction between objects in a sequential order i.e. the
order in which these interactions take place. We can also use the terms event diagrams or event
scenarios to refer to a sequence diagram. Sequence diagrams describe how and in what order
the objects in a system function.
In software engineering, a class diagram in the Unified Modeling Language (UML) is a type
of static structure diagram that describes the structure of a system by showing the
system's classes, their attributes, operations (or methods), and the relationships among objects.
When the vehicle owner taps the card to android toll application, first encrypted data is
converted into original data with key and reading NDEF data from an NFC tag with language
convention English.
Blockchain Technology:
A block chain, originally block chain, is a growing list of records, called blocks, which are
linked using cryptography. Each block contains a cryptographic hash of the previous
block, a timestamp, and transaction data (generally represented as a merkle tree root hash).
Modules
Admin Module
Admin has to login using id and password. After login admin can add users and display the
user details, admin can modify also. While adding user we admin is making hash code of that
user.
In this user module user has to login using user id, if authentication is correct it has to navigate
to the home page, after that user can store their personal details.
In this section when user is storing their personal details that time it will create metadata and it
will store in to database, based on that metadata only we can find the user personal details.
Creating Block-chain
In this module user personal data will be store in to cloud as encrypted format, when user want
to download that data it has to decrypt and it will display to the user.
CHAPTER 5
IMPLEMENTATION
The implementation phase involves more than just writing code. Code also needs to be tested
and debugged as well as compiled and built into a complete executable product. We usually
need to utilize configuration management in order to keep track of different version of code.
This is the stage of the project where the theoretical design is turned into a working system. If
the implementation is not carefully planned and controlled, it can cause chaos and confusions.
It is always a good idea to keep in mind that some characteristics that should be found in a
good implementation like Readability- our code is written in MVC Architecture ,JAVA to
achieve the objective of the project that is to introduce a novel scheme of mechanism design
for balancing the resource consumptions .
Careful planning
The Java programming language is a high-level language that can be characterized by all of the
following buzzwords:
Simple
Architecture neutral
Object oriented
Portable
Distributed
High performance
Interpreted
Multithreaded
Robust
Dynamic
Secure
With most programming languages, you either compile or interpret a program so that you can
run it on your computer. The Java programming language is unusual in that a program is both
compiled and interpreted. With the compiler, first you translate a program into an
intermediate language called Java byte codes —the platform-independent codes interpreted
by the interpreter on the Java platform. The interpreter parses and runs each Java byte code
instruction on the computer. Compilation happens just once; interpretation occurs each time
the program is executed.
You can think of Java byte codes as the machine code instructions for the Java Virtual Machine
(Java VM). Every Java interpreter, whether it’s a development tool or a Web browser that can
run applets, is an implementation of the Java VM. Java byte codes help make “write once, run
anywhere” possible. You can compile your program into byte codes on any platform that has
a Java compiler. The byte codes can then be run on any implementation of the Java VM. That
means that as long as a computer has a Java VM, the same program written in the Java
programming language can run on Windows 2000, a Solaris workstation, or on an iMac.
A platform is the hardware or software environment in which a program runs. We’ve already
mentioned some of the most popular platforms like Windows 2000, Linux, Solaris, and
MacOS. Most platforms can be described as a combination of the operating system and
hardware. The Java platform differs from most other platforms in that it’s a software-only
platform that runs on top of other hardware-based platforms.
You’ve already been introduced to the Java VM. It’s the base for the Java platform and is
ported onto various hardware-based platforms. The Java API is a large collection of ready-
made software components that provide many useful capabilities, such as graphical user
interface (GUI) widgets. The Java API is grouped into libraries of related classes and interfaces;
these libraries are known as packages. The next section, What Can Java Technology Do?
Highlights what functionality some of the packages in the Java API provide.
The following figure depicts a program that’s running on the Java platform. As the figure
shows, the Java API and the virtual machine insulate the program from the hardware.
Native code is code that after you compile it, the compiled code runs on a specific hardware
platform. As a platform-independent environment, the Java platform can be a bit slower than
native code. However, smart compilers, well-tuned interpreters, and just-in-time byte code
compilers can bring performance close to that of native code without threatening portability.
The most common types of programs written in the Java programming language are applets
and applications. If you’ve surfed the Web, you’re probably already familiar with applets. An
applet is a program that adheres to certain conventions that allow it to run with in a Java-
enabled browser. However, the Java programming language is not just for writing cute,
entertaining applets for the Web. The general-purpose, high-level Java programming language
is also a powerful software platform. Using the generous API, you can write many types of
programs.
An application is a standalone program that runs directly on the Java platform. A special kind
of application known as a server serves and supports clients on a network. Examples of servers
are Web servers, proxy servers, mail servers, and print servers. Another specialized program is
a Servlets. A Servlets can almost be thought of as an applet that runs on the server side. Java
Servlets are a popular choice for building interactive web applications, replacing the use of
CGI scripts. Servlets are similar to applets in that they are runtime extensions of applications.
Instead of working in browsers, though, Servlets run within Java Web servers, configuring or
tailoring the server.
How does the API support all these kinds of programs? It does so with packages of software
components that provides a wide range of functionality. Every full implementation of the Java
platform gives you the following features:
The Essentials: Objects, strings, threads, numbers, input and output, data structures,
system properties, date and time, and so on.
Networking: URLs, TCP (Transmission Control Protocol), UDP (User Data gram
Protocol) sockets, and IP (Internet Protocol) addresses.
Internationalization: Help for writing programs that can be localized for users
worldwide. Programs can automatically adapt to specific locales and be displayed in
the appropriate language.
Security: Both low level and high level, including electronic signatures, public and
private key management, access control, and certificates.
Software components: Known as JavaBeans TM, can plug into existing component
architectures.
The Java platform also has APIs for 2D and 3D graphics, accessibility, servers,
collaboration, telephony, speech, animation, and more. The following figure depicts
what is included in the Java 2 SDK.
5.4 ODBC
5.5 JDBC
In an effort to set an independent database standard API for Java; Sun Microsystems developed
Java Database Connectivity, or JDBC. JDBC offers a generic SQL database access mechanism
that provides a consistent interface to a variety of RDBMSs. This consistent interface is
achieved through the use of “plug-in” database connectivity modules, or drivers. If a database
vendor wishes to have JDBC support, he or she must provide the driver for each platform that
the database and Java run on.
The designers felt that their main goal was to define a SQL interface for Java. Although not
the lowest database interface level possible, it is at a low enough level for higher-level tools
and APIs to be created. Conversely, it is at a high enough level for application programmers to
use it confidently. Attaining this goal allows for future tool vendors to “generate” JDBC code
and to hide many of JDBC’s complexities from the end user.
SQL Conformance
SQL syntax varies as you move from database vendor to database vendor. In an effort to
support a wide variety of vendors, JDBC will allow any query statement to be passed through
it to the underlying database driver. This allows the connectivity module to handle non-
standard functionality in a manner that is suitable for its users.
The JDBC SQL API must “sit” on top of other common SQL level APIs. This goal allows
JDBC to use existing ODBC level drivers by the use of a software interface. This interface
would translate JDBC calls to ODBC and vice versa.
Provide a Java interface that is consistent with the rest of the Java system
Because of Java’s acceptance in the user community thus far, the designers feel that they should
not stray from the current design of the core Java system.
JFree Chart
JFreeChart is a free 100% Java chart library that makes it easy for developers to display
professional quality charts in their applications. JFree Chart's extensive feature set includes: A
consistent and well-documented API, supporting a wide range of chart types; A flexible design
that is easy to extend, and targets both server-side and client-side applications; Support for
many output types, including Swing components, image files (including PNG and JPEG), and
vector graphics file formats (including PDF, EPS and SVG); JFree Chart is "open source" or,
more specifically, free software. It is distributed under the terms of the GNU Lesser General
Public License (LGPL), which permits use in proprietary applications.
1. Map Visualizations
3. Dashboards
4. Property Editors
5.6 MySQL
MySQL is a relational database management system, which organizes data in the form of
tables. MySQL is one of many databases servers based on RDBMS model, which manages a
seer of data that attends three specific things-data structures, data integrity and data
manipulation. With MySQL cooperative server technology we can realize the benefits of open,
relational systems for all the applications. MySQL makes efficient use of all systems resources,
on all hardware architecture; to deliver unmatched performance, price performance and
scalability. Any DBMS to be called as RDBMS has to satisfy Dr. E.F.Codd’s rules.
FEATURES OF MYSQL
Client/server architecture.
Data independence.
Parallel processing support for speed up data entry and online transaction processing
used for applications.
These rules are used for valuating a product to be called as relational database management
systems. Out of 12 rules, a RDBMS product should satisfy at least 8 rules +rule called rule 0
that must be satisfied.
For any system that is to be advertised as, or claimed to be relational DBMS. That system
should manage database with in self, without using an external language.
All information in relational database is represented at logical level in only one way as values
in tables.
Each and every data in a relational database is guaranteed to be logically accessibility by using
to a combination of table name, primary key value and column name
Null values are supported for representing missing information and inapplicable information.
They must be handled in systematic way, independent of data types.
The database description is represented at the logical level in the same way as ordinary data so
that authorized users can apply the same relational language to its interrogation as they do to
the regular data.
A relational system may support several languages and various models of terminal use.
However there must be one language whose statement can express all of the following:
Any view that is theoretically that updatable if changes can be made to the tables that effect
the desired changes in the view.
The capability of handling a base relational or derived relational as a single operand applies
not only retrieval of data also to its insertion, updating, and deletion.
Application program and terminal activities remain logically unimpaired whenever any
changes are made in either storage representation or access method.
Application programs and terminal activities remain logically unimpaired whenever any
changes are made in either storage repres3entation or access methods.
Integrity constraints specific to particular database must be definable in the relational data
stored in the catalog, not in application program.
Whether or not a system support data base distribution, it must have a data sub-language that
can support distributed databases without changing the application program.
If a relational system has low level language, that low language cannot use to subversion or by
pass the integrity rules and constraints expressed in the higher level relational language.
5.7 SERVLETS
Servlets provide a Java(TM)-based solution used to address the problems currently associated
with doing server-side programming, including inextensible scripting solutions, platform-
specific APIs, and incomplete interfaces.
Servlets are objects that conform to a specific interface that can be plugged into a Java-based
server. Servlets are to the server-side what applets are to the client-side -- object byte codes
that can be dynamically loaded off the net. They differ from applets in that they are faceless
objects (without graphics or a GUI component). They serve as platform-independent,
dynamically loadable, plug gable helper byte code objects on the server side that can be used
to dynamically extend server-side functionality.
The central abstraction in the Servlet API is the Servlet interface. All Servlets
implement this interface, either directly or, more commonly, by extending a class
that implements it such as HttpServlet.
The Servlet interface declares, but does not implement, methods that manage the
servlet and its communications with clients. Servlet writers provide some or all of
these methods when developing a servlet.
Java Server Pages technology lets you put snippets of servlet code directly into a text-based
document. A JSP page is a text-based document that contains two types of text: static template
data, which can be expressed in any text-based format such as HTML, WML, and XML, and
JSP elements, which determine how the page constructs dynamic content.
Java Server Page™ (JSP): An extensible Web technology that uses template data, custom
elements, scripting languages, and server-side Java objects to return dynamic content to a
client. Typically the template data is HTML or XML elements, and in many cases the client is
a Web browser.According to JSP model1 we can develop the application as,
According to above model the presentation logic has to be implemented in JSP page and the
business logic has to be implemented as part of Java bean This model help us in separating the
presentation and business logic. For large-scale projects instead of using model1 it is better to
use model2 (MVC). Struts framework is based on model 2.
Java Server Pages (JSP) lets you separate the dynamic part of your pages from the static HTML.
You simply write the regular HTML in the normal manner, using whatever Web-page-building
tools you normally use. You then enclose the code for the dynamic parts in special tags, most
of which start with "<%" and end with "%>". For example, here is a section of a JSP page that
results in something like "Thanks for ordering Core Web Programming
For URL of
http://host/OrderConfirmation.jsp?title=Core+Web+Programming:
You normally give your file a .jsp extension, and typically install it in any place you could
place a normal Web page. Although what you write often looks more like a regular HTML file
than a servlet, behind the scenes, the JSP page just gets converted to a normal servlet, with the
static HTML simply being printed to the output stream associated with the servlet's service
method. This is normally done the first time the page is requested, and developers can simply
request the page themselves when first installing it if they want to be sure that the first real user
doesn't get a momentary delay when the JSP page is translated to a servlet and the servlet is
compiled and loaded. Note also that many Web servers let you define aliases that so that a URL
that appears to reference an HTML file really points to a servlet or JSP page.
5.11 SQLYOG
SQLyog is a GUI tool for MariaDB and MySQL developed by Webyog, Inc. SQLyog works
on the Windows platform starting from Windows XP/Windows 2003 to Windows 8/Server
2008 R2.
Query profiler
Data search
SQLyog is programmed and developed in C++ using Win32 API. No dependencies on runtimes
(.NET, Java etc.). It uses a local database to store internal data like grid settings. Consequently
these settings are persistent across sessions on a per-table basis.
MySQL Administrator
• It provides a better overview of the settings that are crucial for the performance, reliability,
and security of your MySQL servers.
Server Information
• Connected to MySQL Server Instance Information about the parameters used to connect to
the MySQL server.
• USERNAME: Username used for the current connection to the MySQL server.
This is either identical to the name listed in NETWORK NAME, or it is localhost. The former
indicates that you are connecting to a server that either runs on a remote machine, or that you
have specified a host name different from localhost when connecting. The latter indicates that
the MySQL server runs on the same machine where MySQL Administrator runs.
• NETWORK NAME: The name of the machine hosting the MySQL server.
• Client Information
• VERSION: The version of MySQL Administrator and the version number of the MySQL
client/server protocol.
• NETWORK NAME: The name of the host where MySQL Administrator runs.
5.12 Android
Android is a software stack for mobile devices that includes an operating system, middleware
and key applications. The Android-SDK provides the tools and APIs necessary to begin
developing applications on the Android platform using the Java programming language.
On July 2005, Google announced the redemption of Android Inc. The Android team created
an operating system, named Android, based on the core of the operating system Linux. The
target of this operating system was the mobile phones market, where SymbianOS and Windows
Mobile dominated. The main benefit of Android is a rich library to enhance and ease
communication and networking. Java is offered to software developers as the main selection
for programming, enriched with software libraries developed by Google.
The first presentation of the Android platform was on November 5, 2007, along with the
establishment of Open Handset Alliance.
Android is a software stack for mobile devices that includes an operating system, middleware
and key applications. Google Inc. purchased the initial developer of the software, Android Inc.,
in 2005. Android's mobile operating system is based on the Linux kernel. Google and other
members of the Open Handset Alliance collaborated on Android's development and release.
The Android Open Source Project is tasked with the maintenance and further development of
Android. The Android operating system is the world's best-selling Smartphone platform. The
first truly open and comprehensive platform for mobile devices, all of the software to run a
mobile phone but without the proprietary obstacles that have hindered mobile innovation.
Why Android
Development over many platform Linux, Mac OS, windows Excellent documentation
Android Architecture
Applications
Android will ship with a set of core applications including an email client, SMS program,
calendar, maps, browser, contacts, and others. All applications are written using the Java
programming language.
Application Framework
Developers have full access to the same framework APIs used by the core applications.
The application architecture is designed to simplify the reuse of components; any
application can publish its capabilities and any other application may then make use of
those capabilities (subject to security constraints enforced by the framework). This
same mechanism allows components to be replaced by the user.
Linux Kernel
Android relies on Linux version 2.6 for core system services such as security, memory
management, process management, network stack, and driver model. The kernel also acts as
an abstraction layer between the hardware and the rest of the software stack Android relies on
Linux version 2.6 for core system services such as security, memory management, process
management, network stack, and driver model. The kernel also acts as an abstraction layer
between the hardware and the rest of the software stack.
There are several new features and UI updates included in the 1.5 update:
Uploading videos to YouTube and pictures to Picasa directly from the phone.
Bluetooth A2DP support which in turn broke Bluetooth connectivity with many popular
cars and headsets.
New widgets and folders that can populate the Home screens.
Android Runtime
Android includes a set of core libraries that provides most of the functionality available in
the Core libraries of the Java programming language.
Every Android application runs in its own process, with its own instance of the Dalvik
Virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently.
The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized
for minimal memory footprint. The VM is register-based, and runs classes compiled by a
Java language compiler that have been transformed into the .decks format by the included
"dx" tool.
There are a host of advantages that Google’s Android will derive from being open source
software. Some of the advantages include:
i. The ability for anyone to customize the Google Android platform will open up the
applications playing field to small and new players who lack the financial muscle to
negotiate with wireless carriers like AT&T and Orange. The consumer will benefit from
having a wide range of mobile applications to choose from since the monopoly will be
broken by Google Android.
ii. Although this will depend on the carrier, one will be able to customize a mobile phone
using Google Android platform like never before, right down to the screen. Features like
weather details, opening screen, live RSS feeds and even the icons on the opening screen
will be able to be customized.
iii. In addition, as a result of many mobile phones carrying Google Android, companies will
come up with such innovative products like the location– aware services that will provide
users with any information they might be in need of. This information could include
knowing the location of a nearby convenience store or filling station. In addition the
entertainment functionalities will be taken a notch higher by Google Android being able
to offer online real time multiplayer games.
Admin
<%@page import="java.sql.*"%>
<%@page import="com.data.*"%>
<%!
boolean flag=true;
System.out.println("carddata======= "+user);
System.out.println("day======= "+pass);
flag = CommonDAO.Checkadmin(user,pass);
if(flag==true){
System.out.println("if"+flag);
sb.append(flag);}
else{
boolean flag=false;
System.out.println("else"+flag);
sb.append(flag);
}out.println(sb.toString());
%>
<%@page import="java.sql.*"%>
<%@page import="com.data.*"%>
<%!
boolean flag=false;
if(request.getParameter("userId") != null){
System.out.println("userId======= "+userId);
System.out.println("vehicleNo======= "+vehicleNo);
System.out.println("vehicleDetails======= "+vehicleDetails);
System.out.println("vehicleValue======= "+vehicleValue);
System.out.println("policyNo======= "+policyNo);
System.out.println("startDate======= "+startDate);
System.out.println("endDate======= "+endDate);
System.out.println("amount======= "+amount);
System.out.println("company======= "+company);
System.out.println("remark======= "+remark);
out.println(flag);}
else{
out.println("No Value");}
%>
<%@page import="java.sql.*"%>
<%@page import="com.data.*"%>
<%!
boolean flag=true;
<%
if(request.getParameter("userId") != null){
System.out.println("userid======= "+userid);
System.out.println("hashCode======= "+hashCode);
if(flag==true){
System.out.println("if"+flag);
sb.append(flag);}
boolean flag=false;
System.out.println("else"+flag);
sb.append(flag);
out.println(sb.toString());
%>
User Check
<%@page import="java.sql.*"%>
<%@page import="com.data.*"%>
<%!
boolean flag=true;
<%
if(request.getParameter("userId") != null){
System.out.println("userid======= "+userid);
System.out.println("hashCode======= "+hashCode);
if(flag==true){
System.out.println("if"+flag);
sb.append(flag); }
else{
boolean flag=false;
System.out.println("else"+flag);
sb.append(flag);}
out.println(sb.toString());
}%>
CHAPTER 6
TESTING
Software testing is a process used to help identify the correctness, completeness and quality of
developed computer software. Software testing is the process used to measure the quality of
developed software .Testing is the process of executing a program with the intent of finding
errors. Software testing is often referred to as verification & validation
SDLC: The software development life cycle (SDLC) is a conceptual model used in project
management that describes the stages involved in an information system development project,
from an initial feasibility study through maintenance of the completed application.
Requirement Analysis
Software design
Development or Coding
Testing
Maintenance
The requirements of a desired software product are extracted. Based the business scenario the
SRS (Software Requirement Specification) document is prepared in this phase.
6.3.2DESIGN
Plans are laid out concerning the physical construction, hardware, operating systems,
programming, communications, and security issues for the software. Design phase is concerned
with making sure the software system will meet the requirements of the product.
HLD – gives the architecture of the software product to be developed and is done by architects
and senior developers.
LLD – done by senior developers. It describes how each and every feature in the product should
work and how every component should work. Here, only the design will be there and not the
code.
6.3.3TESTING
Testing is evaluating the software to check for the user requirements. Here the software is
evaluated with intent of finding defects.
It will be executing one by one of the SDLC process. The design Starts after completing the
requirements analysis coding begins after design. It is a traditional model It is a sequential
design process, often used in SDLC, in which the progress is seen as flowing steadily
downwards ( like a waterfall ), through the different phases.
Developed from the sample after getting good feedback from the customer. This is the
Valuable mechanism for gaining better understanding of the customer needs
This mechanism will develop from already existing one. If The New requirement is matching
in already existing requirement, will develop from that.
This mechanism is update the application version by version. All the SDLC process will update
version by version.
6.4.5 V-MODELV
V model is a process where the development and testing phases can do parallely. For every
development phase there is a testing phase. Development phases are called as verification
whereas testing phases are called as validation.
Testing itself has many phases i.e. is called as STLC. STLC is part of SDLC
•Test Plan
•Test Development
•Test Execution
•Analyze Results
•Defect Tracking
• Summaries Report
It is a document which describes the testing environment, purpose, scope, objectives, test
strategy, schedules, mile stones, testing tool, roles and responsibilities, risks, training, staffing
and who is going to test the application, what type of tests should be performed and how it will
track the defects.
Preparing test cases, test data, Preparing test procedure, Preparing test scenario, Writing test
script
In this phase we execute the documents those are prepared in test development phase
Once executed documents will get results either pass or fail. we need to analyze the results
during this phase.
6.6.1WHITEBOXTESTING
White box testing as the name suggests gives the internal view of the software. This type of
testing is also known as structural testing or glass box testing as well, as the interest lies in what
lies inside the box.
It is also called as behavioral testing. It focuses on the functional requirements of the software.
Testing either functional or non-functional without reference to the internal structure of the
component or system is called black box testing.
Grey box testing is the combination n of black box and white box testing. Intention of this
testing is to find out defects related to bad design or bad implementation of the system.
This is done for 3 tier applications (developed for Internet / intranet /Extranet).Here we will be
having Browser, web server and DB server. The applications accessible in browser would be
developed in HTML, DHTML, XML, JavaScript etc. (We can monitor through these
applications)
Initialization testing is the first level of dynamic testing and is first the responsibility of
developers and then that of the test engineers. Unit testing is performed after the expected test
results are met or differences are explainable/acceptable.
All module which makes application are tested. Integration testing is to make sure that the
interaction of two or more components produces results that satisfy functional requirement.
6.7.3 SYSTEM TESTING To test the complete system in terms of functionality and non-
functionality. It is black box testing, performed by the Test Team, and at the start of the system
testing the complete system is configured in a controlled environment.
The outgoing links from all the pages from specific domain under test. Test all internal links.
Test links jumping on the same pages. Check for the default values of fields. Wrong inputs to
the fields in the forms.
Alpha testing is final testing before the software is released to the general public. This testing
is conducted at the developer site and in a controlled environment by the end user of the
software.
The beta test is conducted at one or more customer sites by the end user of the software. The
beta test is conducted at one or more customer sites by the end user of the software.
Initialization testing is the first level of dynamic testing and is first the responsibility of
developers and then that of the test engineers. Unit testing is performed after the expected test
results are met or differences are explainable/acceptable.
To test the complete system in terms of functionality and non-functionality. It is black box
testing, performed by the Test Team, and at the start of the system testing the complete system
is configured in a controlled environment.
It is a quality assurance (QA) process and a type of black-box testing that bases its test cases
on the specifications of the software component under test. Functions are tested by feeding
them input and examining the output, and internal program structure is rarely considered
(unlike white-box testing).
The outgoing links from all the pages from specific domain under test. Test all internal links.
Test links jumping on the same pages. Check for the default values of fields. Wrong inputs to
the fields in the forms.
CHAPTER 7
SNAPSHOTS
7.1.1 Admin Login
7.1.3View User
7.1.7 Home
1. J. Demuro, “Here Are the 10 Sectors That Blockchain Will Disrupt Forever,” TechRadar
Pro, 16 Jan. 2018; https://www.techradar.com/news /here-are-the-10-sectors-that -blockchain-
will-disrupt-forever.
2. B. Dickson, “Blockchain Tech Could Fight Voter Fraud—and These Countries Are Testing
It,” VentureBeat, 22 Oct. 2016; https://venturebeat .com/2016/10/22/blockchain
tech-could-fight-voter-fraud-and these-countries-are-testing-it.
3. J. Hall, “Can Blockchain Technology Solve Voting Issues?” Bitcoin Magazine, 7 Mar. 2018;
https://www.nasdaq.com/article/can-blockchain technology-solve-voting-issuescm931347.
6. B. Miller, “Blockchain Voting Startup Raises $2.2M,” Government Technology, 8 Jan. 2018;
http://www.govtech.com/biz/Blockchain-Voting-Startup-Raises-22M.html.
10. M.D. Castillo, “Russia Is Leading the Push for Blockchain Democracy,” CoinDesk, 2018;
https://www.coindesk.com/russias-capital.