Sunil PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 32

E-commerce Website Development

B.VOC (E-COMMERCE AND DIGITAL

MARKETING )

4th semester

SUBMITTED BY: SUBMITTED TO:


Prof. RAMNIK TULI
SUNIL KUMAR (11132013405)
INTRODUCTION

Our E commerce project divides into two main parts; the first part is dynamic
creation of E-commerce web sites and managed them through our web site. Second
part is shopping transactions which allow to company owners who we create an E-
commerce web site to them to sell their products through our web site. This can be
done by showing their products to consumers and then consumers can perform all
shopping process.

FUNCTION MODEL OF E-COMMERCE WEBSITE:


Here we will discuss the all functions and how to manage it and allow vendor and
customer to sell and buy through it. When the customer enters the main page of our
site, he will see in the right side Page Log in form. If he has registered he can log in
his account and can manage his website. But if he has not registered before, he must
register first to be allowed to buy and sell through our web site.

Vendor Registration:
the vendor fill personal data which contains Full name, User name, password,
address, E-mail and another crucial data.

Customer Registration:
In the page of Customer Registration, the customer fill personal data which
contains Full name, User name, password, address, E-mail and another crucial
data.
Admin Registration:
In the page of Admin Registration, the admin fill personal data which contains
Full name, User name, password, address, E-mail and another crucial data.

Login:
User asked to enter username and password to login, our task to check if the
user logged in were admin, customer or vendor. If user name of logged user in
customers table so the logged user was customer if not we will check admin
table. If password not match we will redirect to error page to show error
message (Please Enter Right Password) and from that page user can use back
button to return to login form to be able to enter right password.

ABOUT SITE:

Guest Site:
Our website enables the Guest user to register themselves as user or advertiser.
Guest user can see the categorized classifieds/ads uploaded by advertiser and
also search particular classified.
User Site:
User can see the categorized classified/ads and also search particular classified.
User can send a query to advertiser for particular classified and get response for
that query.
User can save particular ads.
User can update personal detail
Advertiser Site:
Advertiser can purchase scheme to upload classifieds/ads.
To upload classified, advertiser has to select particular scheme that have
sufficient balance and has to define display format for that classified.
Advertiser can receive query from user for particular classifieds/ads and give
them response.
Advertiser can view scheme ledger that contain current status of scheme and
classifieds/ads upload in different scheme.
Advertiser can get remainder related scheme status i.e. scheme expiry and point
expiry.
Advertiser can update their personal detail
Advertiser can search particular classifieds/ads.

Admin Site:
Admin can manage the different databases.
Admin can also upload and mange classifieds behalf of advertiser.
Admin can approve scheme activation and ad activation request of the
advertiser.
Admin can view the details of user, advertiser and their scheme detail and
feedback detail.
Admin can search particular classifieds/ads.
TECHNOLOGIES USED

PHP

What is Php?
A vision of how information technology will evolve
• A platform that supports the vision
• A business model of software as a service

1. A Vision.
• Web sites will be joined by Web services
• New smart devices will join the PC
• User interfaces will become more adaptable and book
• Enabled by Web standards

2. A Platform.
• The PHP Framework
• Xammp
• PHP Server
• Database, Messaging, Integration, Commerce, Proxy, Security
• Goal: make it incredibility easy to expense powerful Web applications
and Web services

3. A business model.
• Software as a service
• Subscription-based services
• Application hosting
Interoperability: Web languages and protocols must be compatible with one
another independent of hardware and software.
Evolution: The Web must be able to accommodate future technologies.
Encourages simplicity, modularity and extensibility.

Decentralization: Facilitates Scalability and Robustness.

Web Services
• A programmable application component accessible via standard Web
protocols
• The center of the Php
• Exposes functionality over the Web

The Php Framework.

What is the Php Framework?


• A set of technologies for developing and using components to
create:
o Web Forms
o Web Services
o Windows Applications
• Supports the software lifecycle
o Development
o Debugging
o Deployment
o Maintenance
• Application Architectures
• The Different types of Applications may vary from single-tier
desktop applications (applications that follow the single-tier
architecture) to multi-tier applications (applications that follow the
two-, three, or n-tier architecture)

Why use a PHP framework?


There are several reasons for using PHP frameworks compared to coding from
scratch:

• Faster development - The time required for development is


much less because of built-in libraries and tools.

• Better performance - Since frameworks are thoroughly tested


for quality and performance, using PHP frameworks helps
businesses meet their performance needs.

• Less code - The need to write original code is reduced when using
functions built-in to frameworks.

• Libraries for common operations - Many tasks that developers


need to perform when building applications can be repetitive e.g.
validation, data cleaning and CRUD operations. Frameworks allow
performing such common tasks using built-in functions.

• Following best practices - PHP frameworks usually follow best-


practices e.g. they organize code in a clean and maintainable way
and follow good naming conventions.

• More secure - Using PHP frameworks minimizes chances of


exploits such as cross-site scripting and SQL injection. Good PHP
frameworks have built-in defenses against such common threats.
• Enable teamwork - Using frameworks sets clear rules for projects,
enabling developers to pick them up quickly and work
collaboratively.

• Better maintainability - PHP frameworks help create a leaner and


more maintainable codebase. Also, the maintenance of the core
framework itself is taken care of by the developers of the
framework.

Based on popularity and ability to facilitate rapid application


development. Some of the best PHP frameworks are.

1. Laravel.
• It is easy to get started with Laravel Homestead, a pre-packaged
Vagrant box that provides a virtual development environment that
removes the need to install PHP, web server or any other server
software.

• Laravel is full of features that help configure and customize complex


applications - authentication, authorization, encryption, hashing,
password reset, data migration, routing, MVC architecture support
among many others.

• The Laravel Artisan Console command line tool speeds up


development by automating repetitive tasks and generating boilerplate
code.

• Laravel is highly expressive with excellent speed and security


features. It is also highly flexible and evolves with the latest web
development trends.
2. Symfony.
• Symfony is easy to install and configure on most platforms, making it
the perfect choice for developing enterprise level applications.

• Some of its key features include reusable PHP components, database


engine independence, stability, following most web best practices and
design patterns.

• Symfony is highly flexible and allows for integration with other


vendor libraries.

3. CodeIgniter.
• Flexibility - CodeIgniter encourages development using the MVC
architecture, but developers can code using other architecture paradigms
as well.
• Lightweight - CodeIgniter is a lightweight PHP framework that is easy to
install and set up compared to other frameworks.
• Security - CodeIgniter includes defenses against CSRF and XSS attacks
as well as context-sensitive escaping and a Content Security Policy.
• Performance - CodeIgniter supports multiple caching methods that help
speed up web applications.
• Easy to learn - CodeIgniter has an easy learning curve compared to other
frameworks and is very extensible. Due to its highly detailed
documentation, it is ideal for beginners.

4. CakePHP.
• Easy to install - Only a web server and a copy of the framework is needed
to get started.

• Inbuilt ORM - CakePHP has its own ORM, which is quite simple to use.
• Security - Security features include methods for encryption, password
hashing, SQL injection prevention, input validation, CSRF and XSS
protection, making it a good choice for building enterprise level
applications.
• Some other key features include a modern framework, validation, great
documentation and premium support.

5. Yii.

• Yii is easy to install and set-up. The documentation is also well written
and easy to follow.
• Its robust security features such as bcrypt password hashing, encryption,
authentication and authorization make it suitable for building highly
secure projects such as e-commerce, CMS, forums etc.
• Yii’s excellent performance, elegant caching support and code generator
tools make it an excellent choice for developers to create highly
optimized web apps.
• Its core developer team, experts and massive community of users help
make it easy to get support when needed.
• Yii is very extensible, making it easier for developers to customize every
part of the core code.

6. Zend.

• Zend contains very structured and reusable code, making it a great choice
to build complex enterprise-level applications.
• Some of its key features include MVC components, cloud API,
encryption and session management.
• It can integrate with third-party libraries and templates. Developers can
use only the components they need.
• Zend offers excellent performance, security and extensibility.
• Zend has extremely detailed documentation and a large community of
developers and users.
XAMMP
And

MYSQL
MySQL SERVER
MySQL is one of the most widely used Open-source Relational Database
Management Systems that uses a simple Client-Server Model to assist users in
managing Relational Databases, or data stored in rows and columns across
tables. It makes use of the well-known query language Structured Query
Language (SQL), which enables users to conduct all CRUD (Create, Read,
Update, and Delete) actions.

• It can run on a huge number of platforms like UNIX, Solaris,


Windows, OS/2, etc.
• Most importantly, MySQL is made available to all as open-source
software, and anyone can use it free of cost by agreeing to its terms
and conditions.
• All MySQL Data Bases are very secure and are locked with
passwords that are encrypted using complex algorithms, and it’s
never easy to breach them.
• There are a good number of mechanisms available to connect with
MySQL servers, such as TCP/IP, UNIX Sockets, and named pipes.
• Being an open-source platform, MySQL has a huge developer
community, and they release patches and updates for MySQL
regularly.
• 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).
XAMMP
• It is easy to set up compared to other web servers such as WAMP.
• It’s Multi Cross-Platform, meaning it’ll run on both Windows and
Linux. You can start and terminate the full Web Server and Database
Stack with a single command.

• XAMPP is offered in two flavours: Complete and Standard.


• It has a control panel with Start and Stops buttons for specific
mechanisms, such as Apache, which is run through its Control Panel.
• OpenSSL, phpMyAdmin, MediaWiki, Joomla, WordPress, and a slew
of other modules are also included.
What is phpMyAdmin?

• PhpMyAdmin is a free and open-source MySQL and MariaDB


Administration Tool.
• It has become one of the most popular MySQL Administration tools,
especially for web hosting services, as a Portable Web Application
developed mostly in PHP.
• The founder of the software business Maguma, began working on a PHP-
based Online Front-end to MySQL in 1998.
• PhpMyAdmin had already established itself as one of the most popular
PHP applications and MySQL Administration tools
• PhpMyAdmin is a Graphical User Interface (GUI) program for
Managing MySQL Databases.

How to use XAMPP to Create a MySQL Database?

XAMPP MySQL Step 1: Opening XAMPP

Go to your system’s XAMPP folder or simply click the XAMPP Icon to open
it. The Control Panel is now visible, and you may use it to start or stop any
module.

XAMPP MySQL Step 2: Starting XAMPP

Select the “Start” option for the Apache and MySQL modules, respectively.
The user will see the following screen once it has started working:
XAMPP MySQL Step 3: Accessing Admin

Next, select the MySQL Module and click the “Admin” button. The user is
immediately redirected to the following address in a web browser:

http://localhost/phpmyadmin.

XAMPP MySQL Step 4: Creating a Database


A number of tabs appear, including Database, SQL, User Accounts, Export,
Import, Settings, and so on. Select the “Database” tab from the drop-down menu.
The Create option is visible there. Choose a suitable name for the Database input
field.
XAMPP MySQL Step 5: Naming Tables

It is critical to establish tables in order to store information in a logical and


orderly manner. We’ll create tables for the newly established database in this
stage. Click the ‘Structure‘ tab in the newly formed Database (in this case, the
Login page). The user will see a ‘Create Table‘ option near the end of the
tables list. Fill in the “Name” and “Number of Columns” fields, then click the
“Go” button.

XAMPP MySQL Step 6: Saving the Database

We must now initialize the columns according to their kind. Fill in the names for
each of your columns, as well as the type and the input field’s maximum length. In
the bottom right corner, click “Save.” The table has been constructed with the
initialized columns. Your Database can have as many tables as you like.
Fill in the names for each of your columns, as well as the type and the input field’s
maximum length. In the bottom right corner, click “Save.” The table has been
constructed with the initialized columns. Your Database can have as many tables
as you like.
HARDWARE AND SOFTWARE REQUIREMENTS

HARDWARE REQUIREMENTS FOR SERVER:

• Processor 500MHz (minimum)

• RAM 4GB

• Hard Disk 1000 GB

HARDWARE REQUIREMENTS FOR CLIENT:

• Processor 4 (minimum)

• RAM 2GB

• Hard disk 500 GB

SOFTWARE REQUIREMENTS:
• XAMMP

• MYSQL Server

• Browser like Internet Explorer, Mozilla, Opera, Crome etc.

OPERATING SYSTEM

• WINDOWS 8.1 or higher


SYSTEM ANALYSIS

A system analysis is a separation of a substance into parts for study and their
implementation and detailed examination. Before designing any system it is
important that the nature of the business and the way it currently operates are
clearly understood. The detailed examination provides the specific data
required during designing in order to ensure that all the client's requirements
are fulfilled. The investigation or the study conducted during the analysis
phase is largely based on the feasibility study. Rather it would not be wrong to
say that the analysis and feasibility phases overlap. High-level analysis begins
during the feasibility study. Though analysis is represented as one phase of the
system development life cycle (SDLC), this is not true. Analysis begins with
system initialization and continues until its maintenance. Even after successful
implementation of the system, analysis may play its role for periodic
maintenance and up gradation of the system.
One of the expense causes of project failures is inadequate understanding,
and one of the expense causes of inadequate understanding of the
requirements is the poor planning of system analysis.
Analysis requires us to recall the objectives of the project and consider
following three questions:
✓ What type of information is required?
✓ What are the constraints on the investigation?
✓ What are the potential problems that may make the task more
difficult?
IMPORTANCE OF COMPUTERIZED ONLINE EXPENSE
MANAGEMENT SYSTEM

There are several attributes in which the computer based information works.
Broadly the working of computer system is divided into two expense groups:

 Transaction System
 Decision Support System

Transaction System:

A transaction is a record of some well-defined single and usually small


occurrence in a system. Transactions are input into the computer to update the
database files. It checks the entering data for its accuracy. This means that
numeric data appears in numeric field and character data in character field.
Once all the checks are made, transaction is used to update the database.
Transaction can be inputted in on-line mode or batch mode. In on-line mode,
transactions are entered and updated into the database almost instantaneously. In
batch mode, transactions are collected into batches, which may be held for a
while and inputted later.

Decision Support System:

It assists the user to make analytical decision. It shows the various data in
organized way called analysis. This analysis helps in making decisions.

Computer system works out best with record maintenance. It will tell you which
Expense would get how much pending/reports statements.
….
It will also help to search the information about a particular person by simply
entering his telephone number. User can store information as per requirement,
which can be used for comparison with other reports.

PRINCIPLES OF SYSTEM ANALYSIS

Principles:

1. Understand the problem before you begin to create the analysis model.
2. Develop prototypes that enable a user to understand how human machine interaction
will occur.
3. Record the origin of and the reason for every requirement.
4. Use multiple views of requirements like building data, function and behavioral
models.
5. Work to eliminate ambiguity.
SYSTEM DESIGN

The design of an information system produces the details that clearly describe-
how a system will need the requirement, identified during the system analysis.
System specialist often refers to this. stage or logical design, in contrast to
process of developing program software, which is referred to as physical design.
The system design describes the data to be input, calculated or stored, individual
data items and calculations procedures are written in detail designer’s select file
structure and storage devices. Designers are responsible for providing
programmers with complete and clearly outlined software specifications.
Design is essentially the bridge between requirement specification and the final
solution for satisfying the requirement DESIGN PHASE.
The design document that we will develop during this phase is the blueprint of
the software. It describes how the solution to the problem is to be BOOK. Since
solution to complex problems isn’t usually found in the first try, iterations are
most likely required. This is true for software design as well. For this reason,
any design strategy, design method, or design language must be flexible and
must easily accommodate changes due to iterations in the design. Any technique
or design needs to support and guide the partitioning process in such a way that
the resulting sub-problems are as independent as possible from each other and
can be combined easily for the solution to the overall problem. Sub-problem
independence and easy combination of their solutions reduces the complexity of
the problem.
This is the objective of the partitioning process. Partitioning or decomposition
during design involves three types of decisions: -

Define the boundaries along which to break;


Determine into how expense pieces to break; and
Identify the proper level of detail when design should stop and implementation
should start.

Basic design principles that enable the software engineer to navigate the design process
suggest a set of principles for software design, which have been adapted and extended in the
following list:

Free from thesuffer from "tunnel vision." A good designer should consider alternative
approaches, judging each based on the requirements of the problem, the resources available
to do the job.
The design should be traceable to the analysis model. Because a single element of the design
model often traces to multiple requirements, it is necessary to have a means for tracking how
requirements have been satisfied by the design model.

The design should not repeat the same thing. Systems are constructed using a set of design
patterns, expense of which have likely been encountered before. These patterns should
always be chosen as an alternative to reinvention. Time is short and resources are limited!
Design time should be invested in representing truly new ideas and integrating those patterns
that already exist.
The design should "minimize the intellectual distance" between the software and the problem
as it exists in the real world. That is, the structure of the software design should (whenever
possible) mimic the structure of the problem domain.
The design should exhibit uniformity and integration. A design is uniform if it appears that
one person developed the entire thing. Rules of style and format should be defined for a
design team before design work begins. A design is integrated if care is taken in defining
interfaces between design components.

The design activity begins when the requirements document for the software to be developed
is available. This may be the SRS for the complete system, as is the case if the waterfall
model is being followed or the requirements for the next "iteration" if the iterative
enhancement is being followed or the requirements for the prototype if the prototyping is
being followed. While the requirements specification activity is entirely in the problem
domain, design is the first step in moving from the problem domain toward the solution
domain. Design is essentially the bridge between requirements specification and the final
solution for satisfying the requirements

The goal of design process is to produce a model or representation of a system on the basis of
which a system can be designed. The design process for software can be divided into 2
different phases.

• System Design
• Detailed Design

SYSTEM DESIGN

At the first level focuses on deciding which module are needed for this system, the
specification of these modules, and how the modules should be interconnected so that
combination of these provides the desired output. That is what is called System Design.
Modules are designed that they have least interactions between them so that changes in one
module can take place with a negligible effect on other.
DETAILED DESIGN

The internal logic and working of each module described in system design is decided in this
phase. And the modules logic is described in a high level language. Data structure and
algorithmic design of each and every module is also defined in this phase.

MODULES DESCRIPTION

1. ADMIN

This module is very important from security point of view. Administrator has the power to
add edit the information, store the feedback prepare the crystal reports of the student results.

2. MEMBER

This module is for the BOOK. The username and password assigned by the admin to the BOOK.
user can login with their username and password and can have access to home page, post the
feedback, and see their results.

Because the detailed design is an extension of system design, the system design controls the
major structural characteristics of the system. The system design has a major impact on the
testability and modifiability of a system, and it impacts its efficiency. Much of the design
effort for designing software is spent creating the system design.

A design can be object-oriented or function-oriented. In function-oriented design, the design


consists of module definitions, with each module supporting a functional abstraction. In
object-oriented design, the modules in the design represent data abstraction (these
abstractions are discussed in more detail later). In the function-oriented methods for design
and describe one particular methodology the structured design methodology in some detail.
In a function- oriented design approach, a system is viewed as a transformation function,
transforming the inputs to the desired outputs. The purpose of the design phase is to specify
the components for this transformation function, so that each component is also a
transformation function.
Hence, the basic output of the system design phase, when a function oriented design
approach is being followed, is the definition of all the major data structures in the system, all
the major modules of the system, and how the modules interact with each other. Once the
designer is satisfied with the design he has produced, the design is to be precisely specified in
the form of a document. To specify the design, specification languages are used. Producing
the design specification is the ultimate objective of the design phase. The purpose of this
design document is quite different from that of the design notation. Whereas a design
represented using the design notation is largely to be used by the designer, a design
specification has to be so precise and complete that it can be used as a basis of further
development by other programmers. Generally, design specification uses textual structures,
with design notation helping in understanding.

TOOLS / PLATFORM, HARDWARE AND SOFTWARE REQUIREMENT


SPECIFICATION

❖ The project is based on The three tier architecture where the application is divided into
three logical constituents-
➢ User Services – Provide services such as user interface. (PHP application in this
case).
➢ Business services – Implement business rules
➢ Data Services – Provide handling and validation of data. (MySQL-SERVER in
this case)
❖ Minimum Hardware requirements
Pentium IV Processor
60 GB hard Disk
512 MB RAM
Optional

Hardware (LAN, Switches, Routers etc)


Networking ((LAN & WAN, Different Components of networking)
❖ Minimum Software requirements

Net is used for front end application (Php or Html and CSS)
TRAVEL

Website

E-commerce website development


ONLINE SHOPPING APPLICATION Anyone can view Online Shopping

portal and available products, but every user must login by his/her Username and password in

order to purchase or order products. Unregistered members can register by navigating to

registration page. Only Admin will have access to modify roles, by default developer can

only be an ‘Admin’. Once user register site, his default role will be ‘User’.

HOMEPAGE: The Home Screen will consist of screen were one can browse

through the products which we have on our website.


OUR SERVECIS: This page consists of our services. This page appears same for both
visitors and users

ABOUT US: some information about us .


Contact Us Page: Visitors and Registered users can contact website owners or
administrators from here.

Reviews: some of our client's reviews


OUR PAKAGES: visitors can check our latest packages anytime from here.

Book your ticket: people can book your trip or ticket form here.
THANKYOU

You might also like