ONLINE PET SHOP WEB APPLICATION
ABSTRACT:
A pet shop is a retail business which sells animals and pet care resources to the
public. A variety of animal supplies and pet accessories are also sold in pet shops.
The products sold includes food, treats, toys, collars, leashes, cat litter, cages and
aquariums. Nowadays petting has become a new trend. Lots of individuals
discover trouble with how to deal with their pets when they leave town for a couple
of days. Veterinary clinic and pet shop management system is available for that
purpose. This online pet shop system project is designed for Pet care centers with
the advancement in digital technologies, every field is adapting to it. This Project
of pet shop Management System is a web application. This system is designed to
simplify the tasks in the pet shop. This system gives ease to maintain information
about pets and visitors as well. Also, records of immunization of these pets are
easily saved and can be changed if needed. This system is very easy to understand
and very easy to use and also provides a web-based interface to a pet shop owner
to manages his petshop activities. This web application provides users an option
for storing and managing the basic information about pets and pet products in the
shop. In this project we using html,css,javascript as front end and php with mysql
as back end.
Existing System:
A pet shop is a retail business which sells animals and pet care resources to the
public. A variety of animal supplies and pet accessories are also sold in pet shops.
The products sold includes food, treats, toys, collars, leashes, cat litter, cages and
aquariums. In this existing system is being done manually records management,
appointment scheduling and other transactions are based on pen, paper and folder
methods, in line with those problems, efficiency of outputs are also affected.
With the citation of the problems encountered in the manual setup of business, the
developers decided to create an information system that will replace the manual
method of records management.
Proposed System:
In this Proposed system we develop web application to overcome the existing
system. This System is to design and develop an online application to counter and
eliminate problems encountered in the current manual operation of the business.
To provide an online catalog to display the products and accessories available in
the pet shop and provide an efficient way of storing, archiving and updating of
records. This system is very easy to understand and very easy to use and also
provides a web-based interface to a pet shop owner to manages his petshop
activities. The purpose of this system is to transact and deals with a nice and easier
way by simply gathering information from the customer.
Modules:
⮚ Admin
⮚ User
Admin:
● Login Module
● Manage Products
● Manage Category
● Manage Orders
User:
● Register Module
● Login Module
● Products Module
● Shopping Cart
● Payment Module
Admin:
Login Module:
Here admin has to login by using their unique user name and password. The
Admin is the main user who will monitor the activity of each customer and
Products.
Manage Products:
In this module admin can store the product name, id and price details in a
centralized database. Admin can add or remove the data of products. Each product
identified with product id.
Manage Category:
In this module admin can store product category details like dog foods, cat foods,
nutritional supplements, pet combo, pet accessories in a centralized database.
Admin can add or remove the data of products category.
Manage Orders:
In this module admin can manage the order details like product name, quantity,
delivery address and payments.
User:
Register Module:
In this module user can add the Personal details. Like name, email,
Mob. User and the authorized person to access this module. Other
user doesn’t get rights to access this module for security purpose.
Login Module:
Here user has to login by using their unique user name and password user is the
only authorized person to access user module for security purpose. So other user
doesn’t get rights to access this module.
Products Module:
In this module user can view the products like product name, price and combo
offers based on category. Users are the only authorized person to access this
module. Other person doesn’t get rights to access this module for security purpose.
Shopping Cart:
Here user can select the Products and add to cart items. User can also delete the
cart items.
Payment Module:
Here user has to select their payment method whether the payment is online or
offline.
SYSTEM SPECIFICATION
HARDWARE SPECIFICATION
• System : Pentium IV 2.4 GHz.
• Hard Disk : 500 GB.
• Monitor : 15 VGA Colour.
• Ram : 4 GB.
SOFTWARE SPECIFICATION:
• Operating System : Windows 8.1
• Front End : HTML CSS
• Back End : PHP with MySQL version 7
• Server : XAMPP server
SOFTWARE SPECIFICATION
LANGUAGE SPECIFICATION
XAMPP :
XAMPP is a free and open source cross-platform web server solution stack
package developed by Apache Friends, consisting mainly of the Apache HTTP
Server, Maria DB database, and interpreters for scripts written in the PHP and Perl
programming languages.XAMPP stands for Cross-Platform (X), Apache (A),
Maria DB (M), PHP and Perl (P). It is a simple, lightweight Apache distribution
that makes it extremely easy for developers to create a local web server for testing
and deployment purposes.
Everything needed to set up a web server – server application (Apache),
database (Maria DB), and scripting language (PHP) – is included in an extractable
file. XAMPP is also cross-platform, which means it works equally well on Linux,
Mac and Windows.
XAMPP's designers intended it for use only as a development tool, to allow
website designers and programmers to test their work on their own computers
without any access to the Internet.
PHP
INTRODUCTION OF PHP
PHP started out as a small open source project that evolved as more and more
people found out how useful it was. Rasmus Lerdorf unleashed the first version of
PHP way back in 1994.
PHP is a recursive acronym for "PHP: Hypertext Preprocessor".
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.
It is integrated with a number of popular databases, including MySQL,
PostgreSQL, Oracle, Sybase, Informix, and Microsoft SQL Server.
PHP is pleasingly zippy in its execution, especially when compiled as an
Apache module on the Unix side. The MySQL server, once started, executes
even very complex queries with huge result sets in record-setting time.
PHP supports a large number of major protocols such as POP3, IMAP, and
LDAP. PHP4 added support for Java and distributed object architectures
(COM and CORBA), making n-tier development a possibility for the first
time.
PHP is forgiving: PHP language tries to be as forgiving as possible.
PHP Syntax is same as C language
What is a PHP File?
PHP files can contain text, HTML, CSS, JavaScript, and PHP code.
PHP code are executed on the server, and the result is returned to the
browser as plain HTML.
PHP files have extension ".php".
What Can PHP Do?
PHP can generate dynamic page content and it can create, open, read,
write, delete, and close files on the server and it can collect form data.
PHP can send and receive cookie and it can add, delete, modify data in
your database and it can be used to control user-access and encrypt data.
Why PHP?
PHP runs on various platforms (Windows, Linux, Unix, Mac OS X, etc.).
PHP is compatible with almost all servers used today (Apache, IIS, etc.).
PHP supports a wide range of databases.
PHP is free.
PHP is easy to learn and runs efficiently on the server side.
What is Database?
A database is a separate application that stores a collection of data. Each database
has one or more distinct APIs for creating, accessing, managing, searching and
replicating the data it holds.Other kinds of data stores can be used, such as files on
the file system or large hash tables in memory but data fetching and writing would
not be so fast and easy with those types of systemsSo nowadays, we use relational
database management systems (RDBMS) to store and manage huge volume of
data. This is called relational database because all the data is stored into different
tables and relations are established using primary keys or other keys known as
foreign keys.
MySQL Database
MySQL is released under an open-source license. So you have nothing to
pay to use it. MySQL is a very powerful program in its own right. It handles
a large subset of the functionality of the most expensive and powerful
database packages.
MySQL uses a standard form of the well-known SQL data language.
MySQL works on many operating systems and with many languages
including PHP, PERL, C, C++, JAVA, etc. MySQL works very quickly and
works well even with large data sets.
MySQL is very friendly to PHP, the most appreciated language for web
development. MySQL supports large databases, up to 50 million rows or
more in a table.
The default file size limit for a table is 4GB, but you can increase this (if
your operating system can handle it) to a theoretical limit of 8 million
terabytes (TB).MySQL is customizable.
The open-source GPL license allows programmers to modify the MySQL
software to fit their own specific environments
TABLE CREATION
Name of the table
Names of fields
Definitions for each field
Field Attribute NOT NULL is being used because we do not want this field
to be NULL.
So if user will try to create a record with NULL value, then MySQL will
raise an error.
Field Attribute AUTO_INCREMENT tells MySQL to go ahead and add
the next available number to the id field.
Keyword PRIMARY KEY is used to define a column as primary key. You
can use multiple columns separated by comma to define a primary key.
ADMINISTRATIVE MYSQL COMMAND
USE DATABASE NAME: This will be used to select a particular database
in MySQL work area.
SHOW DATABASES: Lists the databases that are accessible by the
MySQL DBMS.
SHOW TABLES: Shows the tables in the database once a database has
been selected with the use command.
SHOW COLUMNS FROM Table name: Shows the attributes, types of
attributes, key information, whether NULL is permitted, defaults, and other
information for a table.
SHOW INDEX FROM Table name: Presents the details of all indexes on
the table, including the PRIMARY KEY
CREATING TABLES USING PHP SCRIPT:
Create new table in any existing database you would need to use PHP
function mysql_query().
DROPPING TABLES USING PHP SCRIPT:
Drop an existing table in any database, you would need to use PHP function
mysql_query().
INSERTING DATA USING PHP SCRIPT:
CREATE
Create table statement is used to create a table in MySQL.
SELECT
The SELECT statement is used to select data from one or more tables.
UPDATE
The UPDATE statement is used to update existing records in a table:
DELETE
The DELETE statement is used to delete records from a table.
DATABASE DESIGN:
The data in the system has to be stored and retrieved from database.
Designing the database is part of system design. Data elements and data
structures to be stored have been identified at analysis stage.
They are structured and put together to design the data storage and
retrieval system. A database is a collection of interrelated data stored with
minimum redundancy to serve many users quickly and efficiently.
The general objective is to make database access easy, quick, inexpensive
and flexible for the user. Relationships are established between the data items and
unnecessary data items are removed.
Normalization is done to get an internal consistency of data and to have
minimum redundancy and maximum stability. This ensures minimizing data
storage required, minimizing chances of data inconsistencies and optimizing for
updates.
include the managed common language runtime environment (CLR), type
safety, inheritance, and so on.
INPUT DESIGN
The Input design is the main feature of the system. Input design determines
the format and validations criteria for data entering the system. Inputs originate
with end-users; human factors play a significant role in input design. The input
design is designed to control the input, to avoid delay, errors in data, to avoid extra
steps, to keep the process simple. The design of input focuses on controlling the
amount of input required, controlling the errors, avoiding delay, avoiding extra
steps and keeping the process simple. The input is designed in such a way so that it
provides security and ease of use with retaining the privacy.
The following are the general principles, which are considered in designing inputs
are
Enter only variable data
Do not input data that can be calculated
List of values
Sequence entry
4.5 OUTPUT DESIGN
Designing the output is more important than working up with few layout
charts and reports. The outputs are designed based on the issue encountered. It
will also take care of who will receive the output, what for it is produced how
much details are needed, when it is needed and by what method.
The outputs designed in this system are easy to use and useful for their
jobs. The outputs are simple to read interpret. The outputs obtained from this
system are designed by using a few guidelines, which are given below. The
information should be clear and accurate, yet concise and restricted to relevant
data. Reports should have titles, the data and descriptive heading for columns of
data, numbered pages and so on
SYSTEM TESTING
System testing is the process of exercising software with the intent of finding
and ultimately correcting errors. This fundamental philosophy does not change for
web applications, because Web-based systems and application reside on a network
and interoperate with many different operating system, browsers, hardware
platforms, and communication protocols; the search for errors represents a
significant challenge for web application.
The distributed nature of client/server environments, the performance issues
associated with transaction processing, the potential presence of a number of
different hardware platforms, the complexities of network communication, the
need to serve multiple clients from a centralized database and the requirements
imposed on the server all combine to make testing of client\server architectures.
Testing issues
Client GUI considerations
Target environment and platform diversity considerations
Distributed database considerations
Distributed processing considerations
TYPES OF TESTING
1. Unit Testing
2. Integration Testing
3. Validation Testing
4. User acceptance Testing
5. System Testing
Unit Testing
All modules were tested and individually as soon as they were completed
were checked for their correct functionality. Unit testing is carried out by verify
and recover errors within the boundary of the smallest unit or a module. In this
testing step, each module was found to be working satisfactory per the expected
output of the module. In the package development, each module is tested
separately after it has been completed and checked with valid data.
Integration Testing
The entire project was split into small programs; each of these single programs
gives a frame as an output. These programs were tested individually; at last all
these programs where combined together by creating another program where all
these constructions were used. It gives a lot of problem by not functioning in an
integrated manner.
The user interface testing is important since the user has to declare that the
arrangements made in the frames are convenient and it is satisfied. When the
frames are the test, the end user gave suggestion. Since they were much exposed to
do the work manually.
Validation Testing
At the culmination of the black box testing software is completely assembled
as a package. Interfacing errors have been uncovered and corrected and a final
series of test i.e., validation succeeds when the software functions in a manner that
can be reasonably accepted by the customer
User Acceptance Testing
User acceptance testing of the system is the key factor the success of any
system. The system under consideration is tested for user acceptance by constantly
keeping in touch with prospective system at the time of development and making
change whenever required. This is done with regard to the input screen design and
output screen design.
System Testing
This is to verify that all the system elements have been properly integrated
and perform allocated functions. Testing is executing a program to test the logic
changes made in it and with intention of finding errors. Tests are also conducted to
find discrepancies between system and its original objective, current specification
and documents.
SYSTEM IMPLEMENTATION
Implementation is the stage in the project where the theoretical design is
turned into a working system. The most crucial stage is achieving a successful new
system & giving the user confidence in that the new system will work efficiently &
effectively in the implementation state.
The stage consists of
Testing the developed program with simple data.
Detection‟s and correction of error.
Creating whether the system meets user requirements.
Testing whether the system.
Making necessary changes as desired by the user.
Training user personnel.
Implementation Procedures
The implementation phase is less creative than system design. A system
project may be dropped at any time prior to implementation, although it becomes
more difficult when it goes to the design phase.
The final report to the implementation phase includes procedural flowcharts,
record layouts, report layouts, and a workable plan for implementing the candidate
system design into an operational one. Conversion is one aspect of
implementation.
System Maintenance
Maintenance is actually the implementation of the review plan. As
important as it is, many programmers and analysts are to perform or identify
themselves with the maintenance effort. There are psychological, personality and
professional reasons for this. Analysts and programmers spend far more time
maintaining programs than they do writing them. Maintenance accounts for 50-80
percent of total system development.
Maintenance is expensive. One way to reduce the maintenance costs are
through maintenance management and software modification audits.
Maintenance is not as rewarding as exciting as developing systems. It is
perceived as requiring neither skill not experience.
Users are not fully cognizant of the maintenance problem or its high cost.
Few tools and techniques are available for maintenance.
A good test plan is lacking.
Standards, procedures, and guidelines are poorly defined and enforced
Programs are often maintained without care for structure and
documentation.
There are minimal standards for maintenance.
Programmers expect that they will not be in their current commitment by
time their programs go into the maintenance cycle.
DFD Diagram:
Data Flow Diagram Data flow is the one of the best way of documenting the
entire functionality of the system.For the system ,which will have data flows in and
have some processing inside and then some data flow out from the system can be
documented or represented effectively by means of data flow out from the system
can be documented or represented effectively by means of data flow diagrams. The
data flow diagram are a diagrammatic representation of the system,which has
input,process and output.Once any system is represented using a data flow diagram
we can identify the following things easily: Various entities interacting with the
system are identified Flow of data from one entity to another is identified The
various processes involved in between the interaction of two or more entities in the
system are clearly pointed out The various data stores which hold the data in
between the process,are clearly identified Some Data Flow Diagram charting
forms:
External source or receiver
A source or sink is a person or part of organization ,which enters or receives
information from the system,but is considered to be outlining the contest of data
flow model.
Transform process
A process represents transformation where incoming data flowsare changed into
outgoing data flow
Data Store
A data store is repository of data that is to be stored for use by one or more process
may be as simple as buffer or queue or sophisticated as relational database. They
should have clear names.If a process merely uses the contest of store and does not
alter it,the arrowhead goes only form the store to the process. If a process alters the
details in the store then double-headed arrow is used.
Data flow
A data flow is a route, which enable packets of data to travel from one point to
another.Data may flow,with arrowhead pointing in the direction of the flow
Level 0:
Customers Pet shop Admin
Get results
Level1:
ER Diagram
SYSTEM SECURITY
Any system that is developed should be secured and protected against
possible hazards. The software takes care to see that in the event of interruption
due to power failure or voltage fluctuate the data in the file all not erased.
Passwords can be set such that the user should enter it before the software can
be seen. It is the most commonly used means for authenticating the Identify of
people. Password all set such that it is hard to guess and easy to remember.
In our project the security is implemented by providing secure login for
accessing the application. Administrator only has the permission to add a new
web access user. In addition to this, the administrator controls all other windows
system properties and other control panel applets. Thus the system is secured
from intruder and other unauthorized web accessing.
MAINTENANCE
Maintainability is the ease with which software can be understood and
corrected, adapted and enhanced. The goal is to improve the ease with which
changes can be accommodated and reduce the amount of effort expanded on
maintenance.
Software maintenance is one of the phases in the software development
process, and follows deployment of the software into the field. The so maintenance
phase involves changes to the software in order to correct defects and deficiencies
found during field usage as well as the addition of new functionality to improve the
software's usability and applicability.
BIBLIOGRAPHY
BOOKS
1.Amazon.com, “Amazon Web Services (AWS),” Second Edition.
2.R. Curtmola, J. A. Garay, S. Kamara, and R. Ostrovsky, ―Searchable symmetric
encryption: improved definitions and efficient constructions, in Proc. of ACM CCS, 2006.
3.D. Boneh, G. D. Crescenzo, R. Ostrovsky, and G. Persiano, ―Public key encryption
with keyword search,‖ in Proc. of EUROCRYPT, 2008.
4.J. Katz, A. Sahai, and B. Waters, ―Predicate Encryption Supporting Disjunctions,
Polynomial Equations, and Inner Products,‖ Proc. 27th Ann. Int‟l Conf. theory and applications
of cryptographic techniques (eurocrypt), 2010.