0% found this document useful (0 votes)
35 views58 pages

Online Book Store Project Report

Uploaded by

FTW • GhosT
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views58 pages

Online Book Store Project Report

Uploaded by

FTW • GhosT
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 58

E-COMMERCE WEBSITE

A PROJECT REPORT

Submitted by

Aditya Raj(211B024)

Abhinay Singh(211B011)

Achyut Kumar Singh(211B017)

Under the guidance of: Dr. Dinesh Kumar Verma

January 2024-May 2024

Submitted in partial fulfillment for the award of the degree

Of

BACHELOR OF TECHNOLOGY

IN
Computer Science & Engineering

Department of Computer Science & Engineering

JAYPEE UNIVERSITY OF ENGINEERING &


TECHNOLOGY,
AB ROAD, RAGHOGARH, DT. GUNA-473226 MP, INDIA

1
Declaration by the Student

I hereby declare that the work reported in the B. Tech. project entitled as E-
COMMERCE WEBSITE, in partial fulfillment for the award of degree of B.Tech
submitted at Jaypee University of Engineering and Technology, Guna, as per best of
my knowledge and belief there is no infringement of intellectual property right and
copyright. In case of any violation I will solely be responsible.

Aditya Raj(211b024)

Abhinay Singh(211b011)

Achyut Kumar Singh(211b017)

Department of Computer Science and Engineering


Jaypee University of Engineering and Technology
Guna, M.P., India

Date:

2
JAYPEE UNIVERSITY OF ENGINEERING & TECHNOLOGY

Grade ‘A+’ Accredited with by NAAC & Approved U/S 2(f) of the UGC Act,
1956A.B. Road, Raghogarh, Dist: Guna (M.P.) India, Pin-473226
Phone: 07544 267051, 267310-14, Fax: 07544 267011

Website:www.juet.ac.in

CERTIFICATE

This is to certify that the work titled “E-COMMERCE WEBSITE”


submitted by “Aditya Raj SINGH(211b024), Abhinay Singh(211b011),
Achyut Kumar Singh(211b017)” in partial fulfillment for the award of
degree of Bachelor of Technology in Computer Science and Engineering of
Jaypee University of Engineering & Technology, Guna has been carried out
under my supervision. As per best of my knowledge and belief there is no
infringement of intellectual property right and copyright. Also, this work has
not been submitted partially or wholly to any other University or Institute for
the award of this or any other degree or diploma. In case of any violation
concern students will solely be responsible.

Signature of Supervisor:
Name of Supervisor: Dr. Dinesh Kumar Verma
Designation:
Date:

3
ACKNOWLEDGEMENT

Any endeavor cannot lead to success unless and until a proper platform is provided
for the same. This is the reason why: we find ourselves fortunate to complete our
work on a minor project under the supervision of Dr. Dinesh Kumar Verma. Our
sincere gratitude to him for having faith in us and thus allowing us to carry out a
project on technology completely new to us, for which we had to research and learn
many new things, which will help us deal with advanced work in future. He helped
immensely by guiding us throughout the project in any possible ways he could. Last
but not the least, we would like to thank the Dept. Of Computer Science &
Engineering who created this opportunity.

Name of Student ……………………..


Signature of the student ……………………..
Date …………………….

4
TABLE OF CONTENTS

CHAPTER 1: INTRODUCTION

1.1 Background

1.2 Objective

1.3 Purpose, Scope and Applicability

1.3.1 Purpose

1.3.2 Scope

1.4 Achievements

1.5 Organization of Report

CHAPTER 2: SURVEY OF TECHNOLOGY

CHAPTER 3: REQUIREMENTS AND ANALYSIS

3.1 Problem Definition

3.2 Requirement Specification

3.3 Software and Hardware Requirements

3.3.1 Hardware Requirements

3.3.2 Software Requirements

3.4 Preliminary Product Description

3.5 Conceptual Models

3.6.1 Module Specifications

3.6.2 Screen Views

3.6.3 Data Flow Diagrams

CHAPTER 4: SYSTEM DESIGN

4.1 Basic Modules

5
4.2 Data Design

4.2.1 Schema Design

4.2.2 Data Integrity and Constraints

4.3 Procedural Design

4.3.1 Logic Diagrams

4.4 User Interface Design

4.5 Security Issues

CHAPTER 5: IMPLEMENTATION AND TESTING

5.1 Implementation Approaches

5.2 Coding Details and Code Efficiency

5.2.1 Coding

5.2.2 Code Efficiency

5.3 Testing Approach

5.3.1 Unit Testing

5.3.2 Integrated Testing

5.4 Modifications and Improvements

CHAPTER 6: RESULTS AND DISCUSSION

6.1 Test Reports

6.2 User Documentation

CHAPTER 7: CONCLUSION

7.1 Conclusion

7.2 Limitations of the System

7.3 Future scope of the Project

CHAPTER 8: BIBLIOGRAPHY

6
Introduction:

Online shopping is the process whereby consumers directly buy goods, services etc. from a
seller interactively in real-time without an intermediary service over the internet.

Online shopping is the process of buying goods and services from merchants who sell on the
Internet. Since the emergence of the World Wide Web, merchants have sought to sell their
books to people who surf the Internet. Shoppers can visit web stores from the comfort of their
homes and shop as they sit in front of the computer. Consumers buy a variety of items from
online stores. In fact, people can purchase just about anything from companies that provide
their books online. Books, clothing, household appliances, toys, hardware, software, and
health insurance are just some of the hundreds of books consumers can buy from an online
store.

Many people choose to conduct shopping online because of the convenience. For example,
when a person shops at a brick-and-mortar store, she has to drive to the store, find a parking
place, and walk throughout the store until she locates the books she needs. After finding the
items she wants to purchase, she may often need to stand in long lines at the cash register.

1.1 Background

Online shopping allows you to browse through endless possibilities, and even offers
merchandise that's unavailable in stores. If you're searching for a niche product that may not
be distributed locally, you're sure to find what you're looking for on the internet. What's even
more useful is the ability to compare items, similar or not, online. You can search through
multiple stores at the same time, comparing material quality, sizes and pricing
simultaneously.

Say 'goodbye' to the days when you stood in line waiting, and waiting, and waiting some
more for a store clerk to finally check out your items. Online shopping transactions occur
instantly-saving you time to get your other errands done! Additionally, unlike a store, online
shopping has friendly customer service representatives available 24 hours a day, 7 days a

week to assist you with locating, purchasing and shipping your merchandise.

1.2Objective
My objective is to design such an application using which one can say 'goodbye' to the days
when you stood in line waiting, and waiting some more for a store clerk to finally check out

7
your items. Online shopping transactions occur instantly-saving you time to get your other
errands done! Additionally, unlike a store, online shopping has friendly customer service
representatives available 24 hours a day, 7 days a week to assist you with locating, purchasing
and shipping your merchandise.

My main aim is to design such a bookstore where customers can visit our site anytime of the
day from anywhere to view the available books, choose any of them and can order by paying
online or can opt for cash on delivery as well. The administrator will regularly add any new
books available to them for sale. The administrator will take books from the reputed
publishers and vendors only.

1.3 Purpose and Scope

1.3.1 Purpose

The Online Shopping system would have the following goals.

● Provide a web user interface to add, view, delete records in different areas.

● Provide a user interface to enter computer details.

● Provide a user interface to change details of all the computers and accessories.

● Provide a user interface for users to explore the store and choose items to buy.

1.3.2 Scope

The main scope and deliverables of the project would be to:

● Understand and prepare detailed requirement and specifications

● Prepare high level and detailed design specifications of the system

● Prepare Test Plan and Test cases

● Develop the system and coding

● Perform unit testing, integration and system testing

● Demonstrate a bug free application after suitable modification if needed.

8
1.4 Achievements

● By successfully implementing the project, substantial knowledge has been acquired on

the implementation of a database system using .net technologies. This knowledge will
be useful in the future in creating any type of desktop application or online database
systems.

9
2. SURVEY OF TECHNOLOGY

In a desktop application like Laboratory Management System, there is a scope for a large
number of platforms, languages and frameworks to choose from. Before selecting from this
large array of technologies, the following aspects, which are characteristic to windows based
application like this one, have been kept in mind:

● Data validation

● Performance

● Reliability

● Scalability

● Security

● Portability

● Performance

● Time constraint

● Cost constraint

The various technologies available for consideration are as follows:

Operating System: Windows 7

Client Side Scripting:

● HTML
● CSS
● JAVASCRIPT

Server Side Scripting: PHP

Database Tool: My SQL

Testing Server: Apache

Other Software Used:


10
● Adobe Dreamweaver
● Adobe Photoshop
● Wamp Server

11
HTML

HTML or HyperText Markup Language is the standard markup language used to create web
pages.

HTML is written in the form of HTML elements consisting of tags enclosed in angle brackets
(like <html>). HTML tags most commonly come in pairs like <h1> and </h1>, although some
tags represent empty elements and so are unpaired, for example <img>. The first tag in a pair
is the start tag, and the second tag is the end tag (they are also called opening tags and
closing tags).

The purpose of a web browser is to read HTML documents and compose them into visible or
audible web pages. The browser does not display the HTML tags, but uses the tags to
interpret the content of the page. HTML describes the structure of a website semantically
along with cues for presentation, making it a markup language rather than a programming
language.

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 written in languages such as
JavaScript which affect the behavior of HTML web pages.

CSS

CSS was first developed in 1997, as a way for Web developers to define the look and feel of
their Web pages. It was intended to allow developers to separate content from design so that
HTML could perform more of the function that it was originally based on the markup of
content, without worry about the design and layout.

CSS didn't gain in popularity until around 2000, when Web browsers began using more than
the basic font and color aspects of CSS.

Web Designers that don't use CSS for their design and development of Web sites are rapidly
becoming a thing of the past. And it is arguably as important to understand CSS as it is to
know HTML - and some would say it was more important to know CSS.

12
Style sheet refers to the document itself. Style sheets have been used for document design for
years. They are the technical specifications for a layout, whether print or online. Print
designers use style sheets to insure that their designs are printed exactly to specifications. A
style sheet for a Web page serves the same purpose, but with the added functionality of also
telling the viewing engine (the Web browser) how to render the document being viewed.

PHP:

PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source
general-purpose scripting language that is especially suited for web development and can be
embedded into HTML.

Instead of lots of commands to output HTML (as seen in C or Perl), PHP pages contain
HTML with embedded code that does "something" (in this case, output "Hi, I'm a PHP
script!"). The PHP code is enclosed in special start and end processing instructions <?php and
?> that allow you to jump into and out of "PHP mode."

What distinguishes PHP from something like client-side JavaScript is that the code is
executed on the server, generating HTML which is then sent to the client. The client would
receive the results of running that script, but would not know what the underlying code was.
You can even configure your web server to process all your HTML files with PHP, and then
there's really no way that users can tell what you have up your sleeve.

The best things in using PHP are that it is extremely simple for a newcomer, but offers many
advanced features for a professional programmer. Don't be afraid reading the long list of
PHP's features. You can jump in, in a short time, and start writing simple scripts in a few
hours.

MYSQL:

MySQL, the most popular Open Source SQL database management system, is developed,
distributed, and supported by Oracle Corporation.

The MySQL Web site (http://www.mysql.com/) provides the latest information about MySQL
software.

● MySQL is a database management system.

13
A database is a structured collection of data. It may be anything from a simple
shopping list to a picture gallery or the vast amounts of information in a corporate
network. To add, access, and process data stored in a computer database, you need a
database management system such as MySQL Server. Since computers are very good
at handling large amounts of data, database management systems play a central role in
computing, as standalone utilities, or as parts of other applications.

● MySQL databases are relational.

A relational database stores data in separate tables rather than putting all the data in
one big storeroom. The database structures are organized into physical files optimized
for speed. The logical model, with objects such as databases, tables, views, rows, and
columns, offers a flexible programming environment. You set up rules governing the
relationships between different data fields, such as one-to-one, one-to-many, unique,
required or optional, and “pointers” between different tables. The database enforces
these rules, so that with a well-designed database, your application never sees
inconsistent, duplicate, orphan, out-of-date, or missing data.

The SQL part of “MySQL” stands for “Structured Query Language”. SQL is the most
common standardized language used to access databases. Depending on your
programming environment, you might enter SQL directly (for example, to generate
reports), embed SQL statements into code written in another language, or use a
language-specific API that hides the SQL syntax.

SQL is defined by the ANSI/ISO SQL Standard. The SQL standard has been evolving
since 1986 and several versions exist. In this manual, “SQL-92” refers to the standard
released in 1992, “SQL:1999” refers to the standard released in 1999, and
“SQL:2003” refers to the current version of the standard. We use the phrase “the SQL
standard” to mean the current version of the SQL Standard at any time.

● MySQL software is Open Source.

Open Source means that it is possible for anyone to use and modify the software.
Anybody can download the MySQL software from the Internet and use it without
paying anything. If you wish, you may study the source code and change it to suit your
needs. The MySQL software uses the GPL (GNU General Public License),
14
http://www.fsf.org/licenses/, to define what you may and may not do with the software
in different situations. If you feel uncomfortable with the GPL or need to embed
MySQL code into a commercial application, you can buy a commercially licensed
version from us. See the MySQL Licensing Overview for more information
(http://www.mysql.com/company/legal/licensing/).

15
3. REQUIREMENTS AND ANALYSIS

3.1 Problem Definition

Problem Definition and Need for the New System

● Online Book Store is a specific requirement of the client that integrates the buying and

selling services specifically to their customers.

● Reports can be generated at any time within a few seconds, so that manual labor is not

required, and also analysis can be performed much more frequently which helps in
taking decisions.

● The details regarding all users, books can also be maintained as their information is

very helpful and sometimes becomes a critical requirement.

● Allows user to get registered from their places and transact for the required product.

● To overcome these problems we develop “Online Book Store”.

SYSTEM REQUIREMENTS SPECIFICATIONS

System requirements are expressed in a software requirement document. The Software


requirement specification (SRS) is the official statement of what is required of the system
developers. This requirement document includes the requirements definition and the
requirement specification. The software requirement document is not a design document. It
should set out what the system should do without specifying how it should be done. The
requirement set out in this document is complete and consistent.

The software specification document satisfies the following:-

● It specifies the external system behaviors.

● It specifies constraints on the implementation.

● It is easy to change.

● It serves as a reference tool for system maintainers.


16
● It records forethought about the life cycle of the system.

● It characterizes acceptable responses to undesired events.

17
User Class and Characteristics:

● General public

● Customers

● Administrator

● General public can use the system to see the books, their prices and quantity available.

● Non-registered users cannot buy the books.

● Customers are using it for viewing and buying books.

● Customer can also write feedbacks for books and services

● Administrators can add, edit & delete books and provide services to the customer.

● Administrator can see the daily sales. Can also see the feedback given by the

customer.

● Administrator maintaining the deliveries.

Functional Requirements:

● The System must provide following functionalities—

● Keeping records of registration of customers.

● Keeping the records of books.

● Keeping the daily sales.

● Storing the feedback given by the customer.

● Keeping details about the product it is delivered or not. etc.

18
● Storing the items selected by the customer in the temporary storage.

Non Functional Requirements:

Following Non-functional requirements will be there in the online shopping portal.

● Secure access of confidential data (customer’s details).

● 24 X 7 availability.

● Better component design to get better performance at peak time.

Flexible service based architecture will be highly desirable for future extension Non
functional requirements define system properties and constraints It arise through user needs,
because of budget constraints or organizational policies, or due to the external factors such as
safety regulations, privacy registration and so on.

Various other Non-functional requirements are:

1. Security

2. Reliability

3. Maintainability

4. Portability

5. Extensibility

6. Reusability

7. Application Affinity/Compatibility

8. Resource Utilization

External Interface Requirements:

User Interface:
19
Users of the system will be provided with the Graphical user interface, there is no command
line interface for any functions of the product.

Hardware Interface:

Hardware requirements for running this project are as follows:

Processor: - Pentium I or above.

RAM: - 128 MB or above.

HD: - 20 GB or above.

Software Interface:-

Software required to make working of product is:-

Front end- HTML/PHP

Back end- My SQL

20
3.5 Conceptual Models

DATA FLOW DIAGRAM

What is it?

The Data Flow Diagram shows the flow of data or information. It can be partitioned into
single processes or functions. Data Flow Diagrams can be grouped together or decomposed
into multiple processes. There can be physical DFD's that represent the physical files and
transactions, or they can be business DFD's (logical, or conceptual).

When is it used?

The DFD is an excellent communication tool for analysts to model processes and functional
requirements. One of the primary tools of the structured analysis efforts of the 1970's it was
developed and enhanced by the likes of Yourdon, McMenamin, Palmer, Gane and Sarson. It
is still considered one of the best modeling techniques for eliciting and representing the
processing requirements of a system.

Used effectively, it is a useful and easy to understand modeling tool. It has broad application
and usability across most software development projects. It is easily integrated with data
modeling, workflow modeling tools, and textual specs. Together with these, it provides
analysts and developers with solid models and specs. Alone, however, it has limited usability.
It is simple and easy to understand by users and can be easily extended and refined with
further specification into a physical version for the design and development teams.

The different versions are Context Diagrams (Level 0), Partitioned Diagrams (single process
only -- one level), functionally decomposed, leveled sets of Data Flow Diagrams.

Data Store

It is a repository of information. In the physical model, this represents a file, table, etc. In the
logical model, a data store is an object or entity.

DataFlows
DFDs show the flow of data from external entities into the system, showing how the data

21
moved from one process to another, as well as its logical storage. There are only four
symbols:

❑ Squares representing external entities, which are sources or destinations of data.

❑ Rounded rectangles representing processes, which take data as input, do something to


it, and output it.
❑ Arrows representing the data flows, which can either be electronic data or physical
items.
❑ Open-ended rectangles representing data stores, including electronic stores such as
databases or XML files and physical stores such as filing cabinets or stacks of paper.

There are several common modeling rules for creating DFDs:

❑ All processes must have at least one data flow in and one data flow out.

❑ All processes should modify the incoming data, producing new forms of outgoing
data.
❑ Each data store must be involved with at least one data flow.

❑ Each external entity must be involved with at least one data flow.

❑ A data flow must be attached to at least one process.

DFDs are nothing more than a network of related system functions and indicate from where
information is received and to where it is sent. It is the starting point in the system that
decomposes the requirement specifications down to the lowest level detail.

The four symbols in DFD, each of which has its meaning. They are given below:

❑ External entities are outside the system but they either supply input data in the system
or use the system output. These are represented by squares of rectangles. External
entities that supply data into a system are sometimes called Sources. External entities
that use system data are sometimes called sinks.
❑ Dataflow models the passages of data in the system and are represented by line by
joining system components. An arrow indicates the direction of the flow and the line
is labeled by the name of the dataflow.

22
❑ Processes show that the systems do. Each process has one or more data inputs and one
or data outputs. Circles in DFD represent them. Each high level process may consist of
more than one lower level process. Process will be expanded in sequent level DFD. A
circle or a bubble represents a process that transforms incoming data flow into
outgoing dataflow.

The high level processes in a system are:

❑ Receivable process.

❑ Verifiable process.

❑ Disposal process.

❑ File or data store is a repository of data. They contain data that is retained in the
system. Processes can enter data into a data store or retrieve data from the data store.
An open rectangle is a data store, data at rest.

23
0-Level DFD:

Books & other Order receipt &


details
Admin
confirmation
User
Online Book
Order & reports
Store Personal Details &
Select product

CONTEXT DIAGRAM

Admin

Data
Status

1.0

Admin
Process

Reviews
Store
Access process

Book Product
Order

DFD for Admin Process

24
Registration
Enter data Process User Details
User Register
2.0
status

View Profile

Edit data Profile Update


User Updates
2.1

DFD For User Registration and Profile Update

25
Login Select
User Book info
Product Book

3.0

order Details

Selected
Add to Cart Product Cart

3.1

confirms Checkout Cart Details


User
Confirmation
3.2
& receipt

Place Order

Order

DFD for shopping and checkout process

26
Entity-Relationship Model

Simply stated the ER model is a conceptual data model that views the real world as entities
and relationships. A basic component of the model is the Entity-Relationship diagram which
is used to visually represent data objects. Since Chen wrote his paper the model has been
extended and today it is commonly used for databases.

Basic Constructs of E-R Modeling

The ER model views the real world as a construct of entities and association between entities.

Entities

Entities are the principal data object about which information is to be collected. Entities are
classified as independent or dependent (in some methodologies, the terms used are strong and
weak, respectively). An independent entity is one that does not rely on another for
identification. A dependent entity is one that relies on another for identification. .

Relationships

A Relationship represents an association between two or more entities. Relationships are


classified in terms of degree, connectivity, cardinality, and existence.

Attributes

Attributes describe the entity of which they are associated. A particular instance of an
attribute is a value. The domain of an attribute is the collection of all possible values an
attribute can have. The domain of Name is a character string.

Classifying Relationships

Relationships are classified by their degree, connectivity, cardinality, direction, type, and
existence. Not all modeling methodologies use all these classifications.

27
Degree of a Relationship

The degree of a relationship is the number of entities associated with the relationship. The n-
ary relationship is the general form for degree n. Special cases are the binary, and ternary,
where the degree is 2 and 3 respectively.

Connectivity and Cardinality

The connectivity of a relationship describes the mapping of associated entity instances in the
relationship. The values of connectivity are "one" or "many". The cardinality of a relationship
is the actual number of related occurrences for each of the two entities. The basic types of
connectivity for relations are: one-to-one, one-to-many, and many-to-many.

Direction

The direction of a relationship indicates the originating entity of a binary relationship. The
entity from which a relationship originates is the parent entity; the entity where the
relationship terminates is the child entity.

The direction of a relationship is determined by its connectivity type .An identifying


relationship is one in which one of the child entities is also a dependent entity. A non-
identifying relationship is one in which both entities are independent.

Existence

Existence denotes whether the existence of an entity instance is dependent upon the existence
of another, related, entity instance. The existence of an entity in a relationship is defined as
either mandatory or optional.

Generalization Hierarchies

A generalization hierarchy is a form of abstraction that specifies that two or more entities that
share common attributes can be generalized into a higher level entity type called a supertype
or generic entity. The lower-level of entities become the subtype, or categories, to the
supertype. Subtypes are dependent entities.

28
ER Notation

The symbols used for the basic ER constructs are:

❑ Entities are represented by labeled rectangles. The label is the name of the entity.

❑ Relationships are represented by a solid line connecting two entities. The name of the
relationship is written above the line. Relationship names should be verbs.
❑ Attributes, when included, are listed inside the entity rectangle. Attributes which are
identifiers are underlined. Attribute names should be singular nouns.
❑ Cardinality of many is represented by a line ending in a crow's foot. If the crow's foot
is omitted, the cardinality is one.
❑ Existence is represented by placing a circle or a perpendicular bar on the line.
Mandatory existence is shown by the bar (looks like a 1) next to the entity for an
instance is required. Optional existence is shown by placing a circle next to the entity
that is optional.
❑ Existence is represented by placing a circle or a perpendicular bar on the line.
Mandatory existence is shown by the bar (looks like a 1) next to the entity for an
instance is required. Optional existence is shown by placing a circle next to the entity
that is optional.

29
pin country
U_id
state

passwor
d city

name user

email

address
phone

Choose items

B_nam usern
e B_subca m Book_i
t d
b_id B_desc Cart_id
Bk_name

Adds to
Book Cart

qty
B_publishe
r
price amoun
Edition
t
ISBN Write query
page
confirms

query
Cart_id
orderID

email contact
order

con_id usern
Order_
m
date

amoun
t

30
ER
Diagram
1. SYSTEM DESIGN

Introduction:

System design is the solution of a “how to approach the creation of the new system. It is
composed of several steps. It facilitates the understanding
1 and provides the procedural details
necessary for implementation of the system recommended in the feasibility study. Emphasis is
given on translating the performance requirements into design specification. Design goes
through logical and physical stages of development.

Logical design reviews the present physical system; prepares input and output specification;
1
makes editing; security and control specification; details the implementation plan, and
prepares logical design walk through. The physical design maps out the details of the physical
system; plans the system implementation plan and specifies hardware and software. System
design translates the system requirement
M into the ways
1 of the system as recommended in the
feasibility study. Thus the system design is the translation from user-oriented document to a
programmer or a database personal oriented document. System design is a highly creative
process that can be greatly facilitated by the following:-

1 1
● Strong Problem Definition
● Pictorial description of the Existing System
● Set of Requirements of the new system

1 M

Modules Description:

1. Registration: Customers can register their account here to continue shopping.


2. Admin: Admin can add books, check orders and make sure the orders are delivered on
time and can confirm payments by the customers.
3. Shopping Cart: Customers after login can browse through the different books and
choose one or more products and can add them to cart.
4. Payment: Cash on Delivery facility is available.

31
3.2 INPUT DESIGN

Very careful attention had to be given to input design, which is a major part of the overall
system design. In order to make the data entry as easy, logical and error free as possible,
specific standards had been followed. Validation checks, provided in the system, prevented
the user from entering incorrect, erroneous data. This made sure that only valid data had been
available for data processing. If valid data was entered, then meaningful error messages had
been prompted to enter correct data. The interactive screen formats facilitate the entry of valid
data.

3.2.1 VALIDATIONS:

Some fields have only a number, as an I/P. For this key ASCII is checked. If they entered
characters, it would display the message to enter numbers only. Exchange rates field will be
validated for number and dot symbols.

3.2.2 INPUT DESIGN OBJECTIVES:

The numbers of clear objectives of input design are,


● To produce a cost effective method of input
● To achieve the highest possible level of accuracy
● To ensure that the input is acceptable to and understand by the user staff

3.3 OUTPUT DESIGN:

Output, as you probably know, generally refers to the results and information that are
generated by the system. For many end-users, output is the main reason for developing the
system and the basis on which they will evaluate the usefulness of the application. Most end
users will not actually operate the information system or enter data through workstations, but
they will use the output from the system.
When designing output, systems analysts must accomplish the following.

▪ Determine what information to present

32
▪ Decide whether to display, print, or “speak” the information and select the output

medium.

▪ Arrange the presentation of information in an acceptable format.

▪ Decide how to distribute the output to intended recipients.

That alignment of information on a display or printed document is termed as layout.


Accomplishing the general activities listed above will require specific decisions, such as
whether to use preprinted forms when preparing reports and documents, how many lines to
plan on a printed page, or whether to use graphics and color.
The output design is specified on layout performs, sheets that describe the location
characteristics, and format of the column headings and pagination. As we indicated at the
beginning of this discussion, these elements are analogous to an architect’s blueprint that
shows the location of each component.

33
3.4 DATABASE DESIGN

The general theme behind a database is to handle information as an integrated whole. A


database is a collection of interrelated data stored with minimum redundancy to serve single
users quickly and efficiently. The general objective is to make information necessary, quick,
inexpensive and flexible for the user.

Database Tables

user Table

Field Name Data Type Size Allow Null Constrain

u_id int 4 No PK

u_fnm varchar 35 No

u_unm varchar 25 No

u_pwd varchar 20 No

u_gender varchar 7 No

u_email varchar 35 No

u_contact varchar 12 No

u_city varchar 20 No

Category Table

Field Name Data Type Size Allow Null Constrain

cat_id int 4 No PK

cat_nm varchar 30 No

Subcat Table

34
Field Name Data Type Size Allow Null Constrain

subcat_id int 4 No PK

Parent_id Int 4 No

Subcat_nm varchar 35 No

Contact Table

Field Name Data Type Size Allow Null Constrain

con_id int 4 No PK

Con_nm varchar 40 No

Con_email varchar 40 No

Con_query Longtext 0 No

Book Table

Field Name Data Type Size Allow Null Constrain

b_id int 4 No PK

b_nm varchar 60 No

b_subcat varchar 25 No

b_desc longtext 0 No

b_publisher varchar 40 No

b_edition varchar 20 No

b_isbn varchar 10 No

b_page int 5 No

b_price int 5 No

35
b_img longtext 0 No

b_pdf longtext 0 No

Cart Table

Field Name Data Type Size Allow Null Constrain

cart_id int 4 No PK

user_nm varchar 20 No

Book_id varchar 10 No PK

Book_name varchar 25 No

qty int 4 No

Amount Float No

Checkout Table

Field Name Data Type Size Allow Null Constrain

order_id int 4 No PK

Cart_id varchar 60 No

Order_date datetime No

Total_Amount Float 0 No

36
5. IMPLEMENTATION AND TESTING

5.1 Implementation approaches

The Software Design Description Document has been used as input in the
implementation process. The actual implementation has been done using PHP. PHP has been
used to interact with the backend database. In this implementation, My SQL Server has been
used as the backend RDBMS. PHP processes the inputs or commands given by the user and
translates them in the commands understandable to the backend database. The output
produced by the backend database is also handled by PHP which then displays on the
Browser screen.

Coding and Screenshots

Index Page

37
Login Page

Book List Page

38
Registration Page

View Cart Page

39
Coding of index.php Page

<?php session_start();?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
include("includes/head.inc.php");
?>
</head>
<body>
<!-- start header -->
<div id="SearchBar">

<?php

include("includes/searchTop.inc.php");
?>
</div>
<div id="belowHeader"> </div>
<div>
<div id="logo">
<?php
include("includes/logo.inc.php");
?>
</div>
</div>
<div id="belowHeader"> </div>
<div id="header">
<div id="menu">
<?php
include("includes/menu.inc.php");
?>
</div>
</div>
<!-- end header -->
<!-- start page -->
<div id="page">
<!-- start content -->

40
<div id="content">
<div class="post"> <!-- class post -->
<h1 class="title">Welcome to Book
Store
</h1>
<div class="entry">
<br>
<table width="95%"
border="0" align="center" cellpadding="0" cellspacing="0" id="tabCat">
<tr>
<td align="center"><img
src="imageCat/Literature.jpg" alt="" width="144" height="193" /></td>
<td align="center"><img
src="imageCat/Architecture.jpg" alt="" width="145" height="195" /></td>
<td align="center"><img
src="imageCat/Art N Culture.jpeg" alt="" width="145" height="192" /></td>
</tr>
<tr>
<td align="center">Literature &amp;
Fiction </td>
<td align="center">Architecture</td>
<td align="center">Art &amp; Culture
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td align="center"><img
src="imageCat/sports.jpg" alt="" width="145" height="194" /></td>
<td align="center"><img
src="imageCat/computer.jpg" alt="" width="145" height="194" /></td>
<td align="center"><img
src="imageCat/Management.jpeg" alt="" width="145" height="195" /></td>
</tr>
<tr>
<td align="center">Sports</td>
<td align="center">Computers</td>
<td align="center">Management</td>
</tr>

41
<tr>
<td align="center">&nbsp;</td>
<td align="center">&nbsp;</td>
<td align="center">&nbsp;</td>
</tr>
<tr>
<td align="center"><img
src="imageCat/Entrance Exam.jpg" alt="" width="145" height="192" /></td>
<td align="center"><img
src="imageCat/Law Books.jpg" alt="" width="145" height="195" /></td>
<td align="center"><img
src="imageCat/children.jpg" alt="" width="145" height="194" /></td>
</tr>
<tr>
<td align="center">Entrance Exam </td>
<td align="center">Law Books</td>
<td align="center">Comics</td>
</tr>
</table>
<p>&nbsp;</p>
</div>

</div>
</div>
<!-- end content -->

<!-- start sidebar -->


<div id="sidebar">
<?php

include("includes/sidebar.inc.php");
?>
</div>
<!-- end sidebar -->
<div style="clear: both;">&nbsp;</div>
</div>
<!-- end page -->

<!-- start footer -->


<div id="footer">
<?php

42
include("includes/footer.inc.php");
?>
</div>
<!-- end footer -->
</body>
</html>

Process_Login.php

<?php session_start();

if(!empty($_POST))
{
$msg="";

if(empty($_POST['usernm']))
{
$msg[]="No such User";
}

if(empty($_POST['pwd']))
{
$msg[]="Password Incorrect........";
}

if(!empty($msg))
{
echo '<b>Error:-</b><br>';

foreach($msg as $k)
{
echo '<li>'.$k;
}
}
else
{

43
$link=mysql_connect("localhost","root","")or die("Can't
Connect...");

mysql_select_db("shop",$link) or die("Can't Connect to


Database...");

$unm=$_POST['usernm'];

$q="select * from user where u_unm='$unm'";

$res=mysql_query($q,$link) or die("wrong query");

$row=mysql_fetch_assoc($res);

if(!empty($row))
{
if($_POST['pwd']==$row['u_pwd'])
{
$_SESSION=array();
$_SESSION['unm']=$row['u_unm'];
$_SESSION['uid']=$row['u_pwd'];
$_SESSION['status']=true;

if($_SESSION['unm']!="admin")
{
header("location:index.php");
}
else
{
header("location:admin/index.php");
}
}

else
{
echo 'Incorrect Password....';
}
}
else
{
echo 'Invalid User';

44
}
}

}
else
{
header("location:index.php");
}

?>

Process Register.php

<?php

if(!empty($_POST))
{
$msg="";

if(empty($_POST['fnm']) || empty($_POST['unm']) ||
empty($_POST['gender']) || empty($_POST['pwd']) || empty($_POST['cpwd']) ||
empty($_POST['mail'])||empty($_POST['city']))
{
$msg.="<li>Please full fill all requirement";
}

if($_POST['pwd']!=$_POST['cpwd'])
{
$msg.="<li>Please Enter your Password Again.....";
}

if(!ereg("^[a-z0-9_]+[a-z0-9_.]*@[a-z0-9_-]+[a-z0-9_.-]*\.[a-z]
{2,5}$",$_POST['mail']))
{
$msg.="<li>Please Enter Your Valid Email Address...";
}

if(strlen($_POST['pwd'])>10)
{

45
$msg.="<li>Please Enter Your Password in limited
Format....";
}

if(is_numeric($_POST['fnm']))
{
$msg.="<li>Name must be in String Format...";
}

if($msg!="")
{
header("location:register.php?error=".$msg);
}
else
{
$fnm=$_POST['fnm'];
$unm=$_POST['unm'];
$pwd=$_POST['pwd'];
$gender=$_POST['gender'];
$email=$_POST['mail'];
$contact=$_POST['contact'];
$city=$_POST['city'];

$link=mysql_connect("localhost","root","")or die("Can't
Connect...");

mysql_select_db("shop",$link) or die("Can't Connect to


Database...");

$query="insert into
user(u_fnm,u_unm,u_pwd,u_gender,u_email,u_contact,u_city)

values('$fnm','$unm','$pwd','$gender','$email','$contact','$city')";

mysql_query($query,$link) or die("Can't Execute


Query...");
header("location:register.php?ok=1");
}
}

46
else
{
header("location:index.php");
}
?>

Process Add_Book.php

<?php

if(!empty($_POST))
{
$msg=array();
if(empty($_POST['name']) || empty($_POST['description']) ||
empty($_POST['publisher'])|| empty($_POST['edition']) ||
empty($_POST['isbn']) || empty($_POST['pages']) || empty($_POST['price']))
{
$msg[]="Please full fill all requirement";
}
if(!(is_numeric($_POST['price'])))
{
$msg[]="Price must be in Numeric Format...";
}
if(!(is_numeric($_POST['pages'])))
{
$msg[]="Page must be in Numeric Format...";
}

if(empty($_FILES['img']['name']))
$msg[] = "Please provide a file";

if($_FILES['img']['error']>0)
$msg[] = "Error uploading file";

if(!(strtoupper(substr($_FILES['img']['name'],-4))==".JPG" ||
strtoupper(substr($_FILES['img']['name'],-5))==".JPEG"||
strtoupper(substr($_FILES['img']['name'],-4))==".GIF"))
$msg[] = "wrong file type";

if(file_exists("../upload_image/".$_FILES['img']['name']))

47
$msg[] = "File already uploaded. Please do not updated
with same name";

if(empty($_FILES['ebook']['name']))
$msg[] = "Please provide a document file";

if($_FILES['ebook']['error']>0)
$msg[] = "Error uploading document file";

if(!(strtoupper(substr($_FILES['ebook']['name'],-4))==".PDF" ||
strtoupper(substr($_FILES['ebook']['name'],-4))==".PPT" ||
strtoupper(substr($_FILES['ebook']['name'],-5))==".PPTX" ||
strtoupper(substr($_FILES['ebook']['name'],-4))==".DOC"||
strtoupper(substr($_FILES['ebook']['name'],-4))==".TXT"||
strtoupper(substr($_FILES['ebook']['name'],-5))==".DOCX"))
$msg[] = "wrong document file type";

if(file_exists("../upload_ebook/".$_FILES['ebook']['name']))
$msg[] = "Document File already uploaded. Please do not
updated with same name";

if(!empty($msg))
{
echo '<b>Error:-</b><br>';

foreach($msg as $k)
{
echo '<li>'.$k;
}
}
else
{

move_uploaded_file($_FILES['img']['tmp_name'],"../upload_image/".
$_FILES['img']['name']);
$b_img = "upload_image/".$_FILES['img']['name'];
move_uploaded_file($_FILES['ebook']['tmp_name'],"../upload_ebook/".
$_FILES['ebook']['name']);
$b_pdf = "upload_ebook/".$_FILES['ebook']['name'];

$b_nm=$_POST['name'];
48
$b_cat=$_POST['cat'];
$b_desc=$_POST['description'];
$b_edition=$_POST['edition'];
$b_publisher=$_POST['publisher'];
$b_isbn=$_POST['isbn'];
$b_pages=$_POST['pages'];
$b_price=$_POST['price'];

$link=mysql_connect("localhost","root","")or die("Can't
Connect...");

mysql_select_db("shop",$link) or die("Can't Connect to


Database...");

$query="insert into
book(b_nm,b_subcat,b_desc,b_edition,b_publisher,b_isbn,b_page,b_price,b_img
,b_pdf)

values('$b_nm','$b_cat','$b_desc','$b_edition','$b_publisher','$b_isbn',
$b_pages,$b_price,'$b_img','$b_pdf')";

mysql_query($query,$link) or die($query."Can't Connect to


Query...");
header("location:addbook.php");

}
}
else
{
header("location:index.php");
}
?>

Process Cart.php

<?php session_start();

if(isset($_GET['nm']) and isset($_GET['noc']) and


isset($_GET['rate']))
{

49
function newcart()
{
$bnm=$_GET['nm'];
$noc=$_GET['noc'];
$price=$_GET['rate'];
$uname=$_SESSION['unm'];
$amt=$noc*$price;

$link=mysql_connect("localhost","root","")or die("Can't
Connect...");
mysql_select_db("shop",$link) or die("Can't Connect to
Database...");
$cartid=rand(100,9999);
$sql="select * from cart where cartid=$cartid";
$result=mysql_query($sql,$link);
$n=mysql_num_rows($result);
if($n>1)
{
newcart();
}
else
{
$_SESSION['cart']=$cartid;
$query="insert into
cart(cartid,userid,bname,price,qty,amount) values
('$cartid','$uname','$bnm','$price','$noc','$amt')";

mysql_query($query,$link);

//echo "Record Saved";


header("location:viewcart.php");
}
}

function updatecart()
{
$bnm=$_GET['nm'];
$noc=$_GET['noc'];
$price=$_GET['rate'];
$uname=$_SESSION['unm'];
$amt=$noc*$price;
50
$cartid=$_SESSION['cart'];
$link=mysql_connect("localhost","root","")or die("Can't
Connect...");
mysql_select_db("shop",$link) or die("Can't Connect to
Database...");
$query="insert into
cart(cartid,userid,bname,price,qty,amount) values
('$cartid','$uname','$bnm','$price','$noc','$amt')";

mysql_query($query,$link);
header("location:viewcart.php");
}

if(!isset($_SESSION['cart']) || $_SESSION['cart']=="")
{
//create new cart id and insert the book details
//echo "New Cart Running";
newcart();

}
else
{
//insert book details with cart id from session
updatecart();
}

}
else if(isset($_GET['id']))
{
//del a item
$id = $_GET['id'];
//unset($_SESSION['cart'][$id]);
$link=mysql_connect("localhost","root","")or die("Can't
Connect...");
mysql_select_db("shop",$link) or die("Can't Connect to
Database...");
$sql="delete from cart where bno=$id";
mysql_query($sql,$link);
header("location: viewcart.php");
}

?>
51
Process order.php

<?php session_start();

if(!empty($_POST))
{

$link=mysql_connect("localhost","root","")or die("Can't
Connect...");
mysql_select_db("shop",$link) or die("Can't Connect to
Database...");
$odate=date("m/d/y");
$cartid=$_SESSION['cart'];
$total=$_SESSION['total'];
$name=$_POST['fname'];
$address=$_POST['address'];
$discount="0";
$status="In Progress";

$sql="insert into
orderDetails(oDate,cartid,total,discount,fname,address,status) values
('$odate','$cartid','$total','$discount','$name','$address','$status')";
mysql_query($sql,$link) or die("Can Not Insert".mysql_error());

echo "Thank you for your order ";


echo '<a href="index.php">Go Back to Home Page</a>';
}
?>

52
5.2 Code efficiency

Code efficiency has been achieved through proper validation using various methods in PHP
coding. First, no data can be added, viewed, edited and deleted to the database without login
or session. For this we have implanted session tracking techniques through PHP. Codlings
have been used to validate various forms to ensure correct data should enter in the
database.

5.3Testing Approach

TESTING PROCEDURES

● Unit Testing: A Unit corresponds to a form/class in the package. Unit testing

focuses on verification of the corresponding form or class. In this level we have tested
all our forms/classes individually. This testing includes testing of control paths,
interfaces, local data structures, logical decisions, boundary conditions, and error
handling. From this testing we were able to save, retrieve, update, delete and the
search records on a table.

● Integration Testing: Integration testing is used to verify the combination of the software
modules. In this level, we have tested by combining all unit tested forms into a
subsystem. Here we found that the subsystems are performing well.

● System Testing: System testing is used to verify whether the developed system meets the
requirements.

● Acceptance Testing: Acceptance is the part of the project by which the customer accepts
the product. The system under consideration is tested for user acceptance by constantly
keeping in touch with the system users at time of developing and making changes whenever
required.

We hope that after the acceptance testing the system will perform the best result for the
organization. When modification will be made, we will use regression testing during the
maintenance of the system.

53
The Software System delivered to the customer may undergo changes. Changes may be due
to addition of new functional modules or performance enhancement .For this purpose proper
maintenance of the system is must.

5.3.1 Unit Testing

Test case Ref No TCT-001

Functionality : Log in to the System

Expected : The user should not login to member’s area


outcome . and some error message follow

Step Data Used Actual Outcome


No.
1. Click on the login button An alert message came to enter
without entering username username
or password
2. Click on the login button An alert message came to enter
after entering some password
username leaving password
field blank
3. Click on the login button An alert message came to enter
after entering some username
password but leaving
username field blank
4. Click on the login button A message displayed on Login
after entering some page about this
wrong username but
correct
password

54
Test case Ref No TCT-002

Functionality : Enter valid Data for customer registration

Expected : The user should not get register any record without
outcome filling all necessary fields and some error message
follow
The user should not get registered again with same
patient id

Step Data Used Actual Outcome


No.
1. Click on the save button An alert message came to each
without entering valid details details and focused on
the respective fields
2. Click on the submit button A message displayed
after entering a about
duplicate patient id existence of such patient

6. RESULTS AND DISCUSSION

6.1 Test Reports

Test Case No Date Pass / Fail


TCT-001 11/5/2014 Pass
TCT-002 02/6/2014 Pass
TCT-003 25/6/2014 Pass

55
7. DOCUMENTATION

❖ For Management

Online Shopping System is primarily designed for providing information from the data
after processing them. This system is designed for supplying information to the strategic
level of management from the operational control. It includes almost all the functional
areas needed like keeping Employee Records, Student Records and Fees Records.

❖ For User

With this electronic data processing system, the operators will able to maintain the
following task:

● Information regarding Patients.

● Records of Test Report with their details.

● Regular Transaction Details

❖ For data processing department

⮚ In maintenance, the data processing department needs to create backups of

the database file from time to time.

⮚ The main menu of the system provides different menus for different

purposes.

56
FUTURE APPLICATION

Software development is a never –ending process and continues the life of the software as per the
changing needs of the user from time to time. The project no doubt has been developed keeping in
mind easy modification and enhancement that may be required from time to time.

However, there are many scopes to modify this software. Because due to shortage of time, we here
become unable to include many things. We are trying to cover all their existing system for sales return
records of the items but due to shortage of time we become unable to include many things. Due to lack
of time I here include none of them and a future scope one can develop these returns which are so
much essential. Only with a little more effort is it possible to design the formats for those returns.
Moreover, an on-line system will be more helpful to the organization. . With almost the same data
with only a little modification an on-line system can be designed to fulfill their demands. All these can

be considered to be future scope for this project.

57
CONCLUSION

After implementing the application it will contain the advantages that were incomparable to
the present contemporary systems used by the company. The most admirable feature found
was its simplicity in terms of application to the user but its highly beneficial outputs can’t be
ignored. The users will be highly benefited after using the system.

It is hoped that this project will help the future developers to modify and implement the
system. After modifying some techniques of the programs, it will give us the best
performance as our requirements. The project will be very useful for the users.

58

You might also like