1.1 Motivation: 1.2 Problem Statement
1.1 Motivation: 1.2 Problem Statement
INTRODUCTION
Embassy portal is a website where we can contact embassies of various countries. The
advantages of this site are that simply by filling out on universal form, individual can view
the details of the documentation, which are required for visa processing.
Registered user can apply for different visas following the procedures mentioned in the site.
Even the registered users can check whether the company that has offered the user a working
visa a registered company or not, Once the user has filled the visa application and paid the
visa fee, the user can check status of the visa application
1.1 MOTIVATION
The Development of a web application which has the capability of using the
concepts of augmented reality to submerge the virtual information of users
surroundings by detecting and tracking users infromation.
Embassy portal is a website where we can contact embassies of various countries. The
advantages of this site are that simply by filling out on universal form, individual can view
the details of the documentation, which are required for visa processing.
PHP Hosts:
Free webhosting services with PHP exist, but a function like sending e-mail is
probably disabled. Stanford (fortunately) provides limited PHP support sufficient enough for
the scope of this course
PHP is free, nonproprietary and more than 6 million web sites use PHP. It is
the second most popular scripting language and its use is growing faster than any other
scripting language. Based on search engine popularity PHPs growth per year is 4694%
compared to ASP growth of 278%.
2) Improved security
PHP language syntax is borrowed from C with elements of Perl, C++ and Java.
PHP is also integrates easily with MySQL which is a free non-proprietary database.
MySQL can be used to create large powerful databases and because it is free is often
favored by non-profit organizations.
Introduction to PHP4:
PHP is a server side HTML embedded scripting language that allows you to
make web sites dynamic, connect to databases, process forms and adds many other features to
your web site.
Before you create web pages with PHP you need to the following items:
4) If you plan to work with MySQL you ISP will need to offer this feature (MySQL is free,
but MySQL hosting usually is not) you can test your database locally
Since MS IIs server comes with Windows OS, we will be using this server, you can use any
server but each server requires its own setup and configuration. Also if you put more than one
server on your computer make sure they are not running simultaneously. On a good day
server installation and PHP installation takes about 15 minutes. On a bad day it can take quite
a bit longer.
Steps:
1) Install MS IIs as directed find the folder Inetpub\wwwroot and place a simple html file
into the folder with a message for testing. Make sure its on. Control panel>Administrative
tools>Personal web server. You may wish to make a shortcut to the file on your desktop.
<Html>
<Head>
<Title>Test</title>
<Body>
</body>
</html>
http://localhost/test.html
c:\Inetpub\wwwroot\test.html
http:// 192.168.1.103/test.html
3) Test whether or not PHP is working creates a small file and save it inside the www root
folder inside Inetpub.
<? Php
Phpinfo ();
?>
If PHP is working you will see a screen with PHP version 4.3 and all of its
features if you dont, check that the server is on, uninstall and install PHP again.
4) Finally you need to configure the php.ini file stored in your c:\WINNT folder go to this
folder and select show all files>view as a list (not your WINNT folder may be on a drive
other than C :\). Double click on the php.ini file or load the file into notepad. This file
configures php and its settings. You should read it at least once to know what is in there but
to start you need to modify 3 settings on your computer. Use Notepad find feature to locate
these lines of code.
If you dont do this when you create forms you will get undefined variable errors
c) Register_globals = On
(or = 1) you will read this is a security risk, which is true if you used your machine for
a server on the Internet but if you are only using if for testing dont worry. You need to do
this so you dont get undefined variables with forms).
Another possible problem that could arise on some machines is that you must
turn the file permission for www.root file on. Right click on the folder>properties> make sure
the file sharing is turned on.
On some machines at SAIT the IIS files are on the machine inside I386 folder.
Also make sure if Apache is on the machine it is turned off.
The following are some advantages of using someone elses Web environment:
Its easier than setting up your own: You just copy your Web pages onto the other
partys computer, and thats it. You dont need to install any software or hardware or
resolve any computer problems. Someone else handles that for you.
Less technical skill is required: You need to understand only Web languages, such
as HTML and PHP. You dont need to know about Internet connections, Web
servers, computer administration, and other technical things. Some people are very
interested in these things, but some are not.
Control: You get to make all the decisions. You can set up the Web environment the
way that works best for you.
Access: You can access the computer whenever you want to work on your Web site.
Stability: You know the Web site will be there as long as you need it. You wont
wake up one morning to discover that your Web hosting company has gone out of
business and you have two days to move your site.
Security: Because you control the Web environment, you are the only person who
needs to access the computer. You can keep it under lock and key. When you use a
Web hosting company, other people have access to the computer, and one of them
may be a bad guy whos after your secrets.
PHP has many features designed specifically for use in Web sites, including the
following:
Interact with HTML forms: PHP can display an HTML form and process the
information that the user types in.
Communicate with databases: PHP can interact with databases to store information
from the user or retrieve information that is displayed to the user.
Generate secure Web pages: PHP allows the developer to create secure Web pages
that require users to enter a valid username and password before seeing the Web page
content.
PHP features make these and many other Web page tasks easy. PHP is only
server-side, meaning it cant interact directly with the users computer. That means PHP cant
initiate actions based on the status of the users computer, such as mouse actions or screen
size. Therefore, PHP alone cant produce some popular effects, such as navigation menus that
drop down or change color. On the other hand, JavaScript, a client-side scripting language,
cant access the server, limiting its possibilities. For example, you cant use JavaScript to
store data on the server or retrieve data from the server. But wait! You dont have to choose.
You can use JavaScript and PHP together to produce Web pages that neither can produce
alone. See Chapter 11 for details on using JavaScript and PHP together.
5.2. HTML:
The purpose of a web browser is to read HTML documents and compose them
into visual or audible web pages. The browser does not display the HTML tags, but uses the
tags to interpret the content of the page.
HTML elements form the building blocks of all websites. HTML allows
images and objects to be embedded and can be used to create interactive forms. It provides a
means to create structured documents by denoting structural semantics for text such as
headings, paragraphs, lists, links, quotes and other items. It can embed scripts in languages
such as JavaScript which affect the behavior of HTML WebPages.
Web browsers can also refer to Cascading Style Sheets (CSS) to define the
appearance and layout of text and other material. The W3C, maintainer of both the HTML
and the CSS standards, encourages the use of CSS over explicitly presentational HTML
markup.
MARKUP:
Example:
<Html>
<Head>
<Title>Hello HTML</title>
</head>
<Body>
</body>
</html>
5.3. MYSQL:
The MySQL development project has made its source code available under the
terms of the GNU General Public License, as well as under a variety of proprietary
agreements. MySQL was owned and sponsored by a single for-profit firm, the Swedish
company MySQL AB, now owned by Oracle Corporation.
USE:
MySQL is written in C and C++. Its SQL parser is written in yacc, and a
home-brewed lexical analyzer named sql_lex.cc.
The HTSQL - URL based query method also ships with a MySQL adapter,
allowing direct interaction between a MySQL database and any web client via structured
URLs. The MySQL server and official libraries are mostly implemented in ANSI C/ANSI
C++.
Fig: MYSQL
DEPLOYMENT:
MySQL can be built and installed manually from source code, but this can be
tedious so it is more commonly installed from a binary package unless special customizations
are required. On most Linux distributions the package management system can download and
install MySQL with minimal effort, though further configuration is often required to adjust
security and optimization settings.
The master server synchronizes continually with its slaves so in the event of
failure a slave can be promoted to become the new master, minimizing downtime. Further
improvements in performance can be achieved by caching the results from database queries
in memory using memcached, or breaking down a database into smaller chunks called shards
which can be spread across a number of distributed server clusters.
COMMAND LINE:
MySQL ships with a suite of command-line tools for tasks such as querying the
database, backing up data, inspecting status, performing common tasks such as creating a
database, and many more. A variety of third-party command-line tools is also available,
including Maatkit, which is written in Perl.
FORKS OF MYSQL:
Drizzle a fork targeted at the web-infrastructure and cloud computing markets. The
developers of the product describe it as a "smaller, slimmer and (hopefully) faster version of
MySQL". As such is planned to have many common MySQL features stripped out, including
stored procedures, query cache, prepared statements, views, and triggers.
MariaDB a community-developed branch of the MySQL database, the impetus being the
community maintenance of its free status under GPL as opposed to any uncertainty of
MySQL license status under its current ownership by Oracle. The intent also being to
maintain high fidelity with MySQL, ensuring a "drop-in" replacement capability with library
binary equivalency and exacting matching with MySQL APIs and commands. It includes the
XtraDB storage engine as a replacement for InnoDB.
Percona Server a fork that includes the XtraDB storage engine. It is an enhanced version of
MySQL that is fully compatible, and deviates as little as possible from it, while still providing
beneficial new features, better performance, and improved instrumentation for analysis of
performance and usage.
Our Delta is best characterized as a source of binaries compiled with various patches,
including patches from MariaDB, Percona, and Google.
MySQL
[1]
MySQL is a relational database management system (RDBMS) that runs as a server
providing multi-user access to a number of databases. MySQL is a popular choice of database
for use in web applications and is an open source product. The process of setting up a
MySQL database varies from host to host, however we will end up with a database name, a
user name and a password. Before using our database, we must create a table. A table is a
section of the database for storing related information. In a table we will set up the different
fields which will be used in that table. Creating a table in phpMyAdmin is simple, we just
type the name, select the number of fields and click the go button. we will then be taken to a
setup screen where you must create the fields for the database.Another way of creating
databases and tables in phpMyAdmin is by executing simple SQL statements.We have used
this method in order to create our database and tables.
Apache
The Apache HTTP Server is a web server software notable for playing a key role in the initial
growth of the World Wide Web. In 2009 it became the first web server software to surpass
the 100 million web site milestone. Apache is developed and maintained by an open
community of developers under the auspices of the Apache Software Foundation. Since April
1996 Apache has been the most popular HTTP server software in use. As of November 2010
Apache served over 59.36% of all websites and over 66.56% of the first one million busiest
websites.
XAMPP
XAMPP is a small and light Apache distribution containing the most common web
development technologies in a single package. Its contents, small size, and portability make it
the ideal tool for students developing and testing applications in PHP and MySQL. XAMPP
is available as a free download in two specific packages: full and lite. While the full package
download provides a wide array of development tools, XAMPP Lite contains the necessary
technologies that meet the Ontario Skills Competition standards.The light version is a small
package containing Apache HTTP Server, PHP, MySQL, phpMyAdmin, Openssl, and
SQLite.
CHAPTER 3
An SRS minimizes the time and effort required by developers to achieve desired goals and
also minimizes the development cost. A good SRS defines how an application will interact
with system hardware, other programs and human users in a wide variety of real-world
situations.
Characteristics of SRS:
Correct - An SRS is correct if, and only if, every requirement stated therein is one
that the software shall meet. Traceability makes this procedure easier and less prone
to error.
Unambiguous - An SRS is unambiguous if, and only if, every requirement stated
therein has only one interpretation. As a minimum, this requires that each
characteristic of the final product be described using a single unique term.
Verifiable It is verifiable if there exists some finite cost-effective process with
which a person or machine check whether software product meets requirements.
Consistent - Consistency refers to internal consistency. If an SRS does not agree with
some higher-level document, such as a system requirements specification, then it is
not correct. An SRS is internally consistent if, and only if, no subset of individual
requirements described in it conflict.
Modifiable SRS is said to be modifiable if its structure and style are such that any
changes to the requirements can be made easily, completely and consistently while
retaining the structure and style.
Traceable SRS is said to be traceable if the origin of each of its requirements is
clear and it facilitates the referencing of each requirement in future enhancement.
Ranked for importance or stability SRS is ranked for importance or stability if
each requirement in it has an identifier to indicate either the importance or stability of
that particular requirement.
NON FUNCTIONAL REQUIREMENTS
Performance Requirements:
Application must respond within 5 seconds excluding GPS enabling time. The user must use
the required option to get the information of the various locations.The application will prompt
the user for upgrading and downloading new features updated by the developer
SYSTEM REQUIREMENTS
Hardware
Software
CHAPTER 4
SYSTEM DESIGN
System design is the solution to the creation of a new system. This phase is composed of
several systems. This phase focuses on the detailed implementation of the feasible system. It
emphasis on translating design specifications to performance specification is system design.
System design has two phases of development logical and physical design.
During logical design phase the analyst describes inputs (sources), outputs (destinations),
databases (data stores) and procedures (data flows) all in a format that meats the uses
requirements. The analyst also specifies the user needs and at a level that virtually determines
the information flow into and out of the system and the data resources. Here the logical
design is done through data flow diagrams and database design.
The physical design is followed by physical design or coding. Physical design produces the
working system by defining the design specifications, which tell the programmers exactly
what the candidate system must do.
The programmers write the necessary programs that accept input from the user, perform necessary
processing on accepted data through call and produce the required report on a hard copy or display it
on the screen.
SYSTEM ARCHITECTURE
Architectural Design:
3-Tier architecture is also called layered architecture. Some people called it n-tier
architecture. Layer architectures are essentially objects and work in object oriented
environment. 3-tier architecture is a very well-known architecture in the world of software
development, it doesn't matter whether you are developing web based application or desktop
based, it is the best architecture to use.
Presentation Layer:
Presentation layer consists of pages like .java or desktop based form where data is presented
to users or getting input from users.
Business logic layer contains all of the business logic. Its responsibility is to validate the
business rules of the component and communicating with the Data Access Layer. Business
Logic Layer is the class in which we write functions that get data from Presentation Layer
and send that data to database through Data Access Layer.
Data Access Layer is also the class that contains methods to enable business logic layer to
connect the data and perform desired actions. These desired actions can be selecting,
inserting, updating and deleting the data. DAL accepts the data from BAL and sends it to the
database or DAL gets the data from the database and sends it to the business layer. In short,
its responsibility is to communicate with the backend structure.
DFD Level 0
EMBASSY
User PORTAL Send reply User
Send Request
0
DFD Level 1
Create
Registartion
User Send request 0.1 Processed request
reply Send reply to user
0.2
Embassy
portal
visa info
0.4
visa processing
0.3
visa management
User info
Visa
processing
0.4.2
Admin Send request Embassy
portal
0.4.1
course details
Visa Fees
0.4.3
visa details
Certificate info
Certificate
Attestation
0.4.4
user details
ER Diagram
Password user name mobile visa type address
certificate
Applies fo
User
CHAPTER 5
IMPLEMENTATION AND CODING
CHAPTER 6
SCREENSHOTS
CHAPTER 7
CONCLUSION
Embassy portal is a website where we can contact embassies of various countries. The
advantages of this site are that simply by filling out on universal form, individual can view the
details of the documentation, which are required for visa processing.
Registered user can apply for different visas following the procedures mentioned in the site.
Even the registered users can check whether the company that has offered the user a
working visa a registered company or not, Once the user has filled the visa application and
paid the visa fee, the user can check status of the visa application