Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 56

A

PROJECT REPORT ON

ECOMMERCE WEBSITE
FOR
VARDHAMAN OM PAPER PRODUCT

SUBMITTED BY
CHIRAG BALDOTA

SUBMITTED TO
SAVITRIBAI PHULE PUNE UNIVERSITY, PUNE
IN PARTIAL FULFILLMENT OF DEGREE
MASTER OF COMPUTER APPLICATION (SEM-IV)

UNDER THE GUIDANCE OF


PROF. DR. DHARMENDRA SINGH

Through,

Zeal Education Society’s


Zeal Institute of Business Administration, Computer
Application & Research (ZIBACAR)

2021-22
Certificate
This is to certify that the Mini project report entitled,
“ECOMMERCE WEBSITE” for “VARDHAMAN OM PAPER
PRODUCT” being submitted herewith for the internal work of the
degree of MASTER OF COMPUTER APPLICATION (SEM-
IV)
to Savitribai Phule Pune University, Pune is the result of the original
project work completed by Chirag Manojkumar Baldota under my
supervision and guidance and to the best of my knowledge and belief, the
work embodies in this Project has not formed earlier the basis for the
award of any Degree of similar title or any other University or examining
body.

Date: 07-04-2022

Place: Pune

Dr. Dharmendra Singh Dr. B. J. Mohite Dr. Rajesh Kashyap


Project Guide Project Coordinator Director

Examiner 1 sign Examiner 2 sign


DECLARATION BY STUDENTS

To,
The Director,
ZIBACAR, Pune

I, undersigned hereby declare that this project titled, “Ecommerce


Website” written and submitted by me to SPPU, Pune, in partial
fulfillment of the requirement of the award of the degree of
MASTER OF COMPUTER APPLICATION (MCA-IV) under the
guidance of Prof. Dr. Rajesh Kashyap, is my original work.

I further declare that to the best of my knowledge and belief, this project
has not been submitted to this or any other University or Institution for
the award of any Degree.

Place: Pune

Date:07-04-2022 BALDOTA CHIRAG MANOJKUMAR


ACKNOWLEDGEMENT

I extend my sincere gratitude to Honorable Shri Sambhajirao


Katkar, President, ZES Pune, Dr. Ashwini Sovani, Head, ZES
Management Programmes, Dr. Rajesh Kashyap, Director of
ZIBACAR, Dr. Rishikesh Kakandikar for allowing me to carry out the
study and for his constant encouragement, valuable suggestions and
guidance during the research work.

I am also thankful to Mr. Kailash Sharma, IAS, Jalna Police Station,


for his healthy co-operation and inspiration.

I extend my special thanks to Prof. Dr. Rajesh Kashyap, Prof. Dr. B.


J. Mohite, Prof. Kirti Samrit, Prof. Dharmendra Singh, Prof.
Madhavi Shamkuwar for their kind co-operation and inspiration.

I extend my special gratitude to my dearest family members and friends


who encouraged and motivated me to complete the project report.

Place: Pune

Date: 07-04-2022 Baldota Chirag Manojkumar


Index
PAGE
CHAPTER DETAILS
NO
1 CHAPTER 1: INTRODUCTION 1-9
1.1 Client/Organization Profile 1
1.2 Need for System 1
1.3 Scope & Feasibility of Work 2
1.4 Operating Environment – H/w & S/w 3
1.5 Architecture of system 4-5
1.6 Detail Description of Technology Used 6-9
2 PROPOSED SYSTEM 10-12
2.1 Proposed System 10
2.2 Objectives of System 11
2.3 User Requirements 12
3 ANALYSIS & DESIGN 13-27
3.1 DFD 13-14
3.2 Table specifications (Database) 15-22
3.3 ERD 23
3.4 Object Diagram 24
3.5 Class Diagram 25
3.6 Use Case Diagrams 26
3.7 Web Site Map Diagram (if Website ) 27
4 USER MANUAL 28-41
4.1 User Interface Design (Screens etc.) 28-40
4.2 Limitations 41
4.3 Future enhancement 41
BIBLIOGRAPHY 42-45
ANNEXURE: SAMPLE PROGRAM CODE 42-45
Synopsis 46
Progress 49
Report
Ecommerce Website

CHAPTER 1:

Introduction :

1.1 Client/Organization profile:

 Organization/Client Name: Vardhaman Om Paper Product

 Location: Gate no-1010, opp nisarg hotel, mangdewadi , katraj pune-


411046, Maharastra, India

 Email: ompaperproduct@gmail.com

About Organization:

Om Paper Products is one of the leading manufacturers of Aluminium Foil


Containers, Printed Paper Cup, Plastic Disposable Trays etc. We direct all
our activities to cater the expectations of customers by providing them
excellent quality products as per their gratifications. Moreover, we follow
moral business policies and crystal pure transparency in all our transactions
to keep healthy relations with the customers.

For our accomplishment story, we are grateful to our owner, “Aditya


(Owner)”, whose continual backing and direction have been useful to us for
attaining exponential development in the current market.

1.2 Need for System:

Organization currently doing business without any publicity on online


platform. The client need to develop website for their organization for selling
products.
The requirement about this website is mainly selling their product online.

- Seurity – User’s data will be secured with username and password

1
Ecommerce Website

1.3Scope & Feasibility of Work:

The System “Ecommerce website” will be a website where manufacturers who are
willing to sell product/goods online and similarly customer who wants to purchase
products online. Website will be available for 24/7. User will be able to run any kind
of business using website. Customers can purchase product very easily.

Feasibility of Work :

Feasibility is the determination of whether or not a project is worth doing the process
followed by making this determination is called a feasibility study. This of determine
if a project can and should be taken. Once it has been determined that a project is
feasible, the analyst can go ahead and prepare the project specification which
finalizes project requirements. Generally, feasibility studies are undertaken within
right time constraints and normally culminate in a written and oral feasibility report.

1. Technical feasibility:

The technical issue usually raised during the feasibility stage of the investigation
includes the following:

 Does the necessary technology exist to do what is suggested

 Do the proposed equipment’s have the technical capacity to hold the


data required to use the new system?
 Will the proposed system provide adequate response to inquiries,
regardless of the number or location of users?
 Can the system be upgraded if developed?

 Are there technical guarantees of accuracy, reliability, ease of access


and data security?

2. Operational feasibility:

Proposed projects are beneficial only if they can be turned out into information
systems, which will meet the organization’s operating requirements. Operational
feasibility aspects of the project are to be taken as an important part of the project
implementation.
2
Ecommerce Website

Some of the important issues raised are to test the operational feasibility of a project
includes the following:

 Is there sufficient support for the management from the users?

 Will the system be used and work properly if it is being developed and
implemented?
 Will there be any resistance from the user that will undermine the possible
application benefits?

This system is targeted to be in accordance with the above mentioned issues.


Beforehand, the management issues and user requirements have been taken into
consideration. So there is no question of resistance from the users that can
undermine the possible application benefits. The well planned design would ensure
the optimal utilization of the computer resources and would help in the improvement
of performance status.

3. Economic feasibility:

A system that can be developed technically and that will be used if installed must
still be a good investment for the organization. In the economic feasibility, the
development cost in creating the system is evaluated against the ultimate benefit
derived from the new systems. Financial benefits must equal or exceed the
costs. The system is economically feasible. It does not require any additional
hardware or software.

1.4 Operating Environment

– H/w & S/w Hardware

required:

 RAM : 2 GB
 CPU Speed : 2.0 GHZ
 Hard Disk : 250 GB
3
Ecommerce Website

Software required:

 User side Software:


 Windows
 Linux

 Technology: JAVA, SPRINGBOOT


 IDE : Spring Tool Suite
 Client Side Technologies: HTML, CSS, JavaScript , Bootstrap
 Server Side Technologies: Java
 Data Base Server: Sql

Operating System: Microsoft Windows/Linux

4
Ecommerce Website

1.5Architectute Of System

5
Ecommerce Website

1.6 Detailed Description of Technology Used:

Html5

Introduction: HTML stands for Hyper Text Markup Language. It is used to design
web pages using a markup language. HTML is an abbreviation of Hypertext and
Markup language. Hypertext defines the link between the web pages. The markup
language is used to define the text document within the tag which defines the
structure of web pages. HTML 5 is the fifth and current version of HTML. It has
improved the markup available for documents and has introduced application
programming interfaces(API) and Document Object Model(DOM).

Features:

It has introduced new multimedia features which support audio and video controls by
using <audio> and <video> tags.

There are new graphics elements including vector graphics and tags.

Enrich semantic content by including <header> <footer>, <article>, <section> and


<figure> are added.

Drag and Drop- The user can grab an object and drag it further dropping it to a new
location.

Geo-location services- It helps to locate the geographical location of a client.

Web storage facility which provides web application methods to store data on the web
browser.

Bootstrap4

Bootstrap 4 is the newest version of Bootstrap. Bootstrap can be defined as a free and
open-source framework that can be used to create responsive, mobile-first, front-end
web pages.

6
Ecommerce Website

Advantages of Bootstrap:

There are various different advantages of Bootstrap, a few of them are given below:

The first and foremost advantage of using Bootstrap is that it is very easy to use and
implement. If a person has some basic knowledge of HTML and CSS, that user can
easily use Bootstrap.

The fact that Bootstrap can adapt to the size of any phone, tablet, desktop and so on is
also very interesting feature.

Bootstrap 4 is also useful because it is compatible with all modern browsers which
include Google Chrome, Firefox, Internet Explorer 10+, Edge, Safari, and Opera.

It also produces less cross-browser bugs.

It is light weighted and consequently it can be widely used as a framework for


creating responsive sites.

Lastly, Bootstrap 4 is a very simple and yet very effective grid system.

Why should one use Bootstrap?

There are multiple reasons for that, such as:

It is a way more fast and simpler way to develop websites.

It can create platform-independent web pages.

It can also create responsive web pages.

The web pages created by using Bootstrap 4 can be easily made responsive.

Javascript

What is JavaScript ?

7
Ecommerce Website

JavaScript is a dynamic computer programming language. It is lightweight and most


commonly used as a part of web pages, whose implementations allow client-side
script to interact with the user and make dynamic pages. It is an interpreted
programming language with object-oriented capabilities.

JavaScript was first known as LiveScript, but Netscape changed its name to
JavaScript, possibly because of the excitement being generated by Java. JavaScript
made its first appearance in Netscape 2.0 in 1995 with the name LiveScript. The
general-purpose core of the language has been embedded in Netscape, Internet
Explorer, and other web browsers.

Advantages of JavaScript

The merits of using JavaScript are −

Less server interaction − You can validate user input before sending the page off to
the server. This saves server traffic, which means less load on your server.

Immediate feedback to the visitors − They don't have to wait for a page reload to see
if they have forgotten to enter something.

Increased interactivity − You can create interfaces that react when the user hovers
over them with a mouse or activates them via the keyboard.

Richer interfaces − You can use JavaScript to include such items as drag-and-drop
components and sliders to give a Rich Interface to your site visitors.

Jquery

jQuery is a fast, small, cross-platform and feature-rich JavaScript library. It is


designed to simplify the client-side scripting of HTML. It makes things like HTML
document traversal and manipulation, animation, event handling, and AJAX very
simple with an easy-to-use API that works on a lot of different type of browsers.

8
Ecommerce Website

The main purpose of jQuery is to provide an easy way to use JavaScript on your
website to make it more interactive and attractive. It is also used to add animation.

What is jQuery

jQuery is a small, light-weight and fast JavaScript library. It is cross-platform and


supports different types of browsers. It is also referred as ?write less do more?
because it takes a lot of common tasks that requires many lines of JavaScript code to
accomplish, and binds them into methods that can be called with a single line of code
whenever needed. It is also very useful to simplify a lot of the complicated things
from JavaScript, like AJAX calls and DOM manipulation.

jQuery is a small, fast and lightweight JavaScript library.

jQuery is platform-independent.

jQuery means "write less do more".

jQuery simplifies AJAX call and DOM manipulation.

Thymeleaf

The Thymeleaf is an open-source Java library that is licensed under the Apache License
2.0. It is a HTML5/XHTML/XML template engine. It is a server-side Java template
engine for both web (servlet-based) and non-web (offline) environments. It is perfect
for modern-day HTML5 JVM web development. It provides full integration with
Spring Framework.

It applies a set of transformations to template files in order to display data or text


produced by the application. It is appropriate for serving XHTML/HTML5 in web
applications.

The goal of Thymeleaf is to provide a stylish and well-formed way of creating


templates. It is based on XML tags and attributes. These XML tags define the
execution

9
Ecommerce Website

of predefined logic on the DOM (Document Object Model) instead of explicitly


writing that logic as code inside the template. It is a substitute for JSP.

The architecture of Thymeleaf allows the fast processing of templates that depends on
the caching of parsed files. It uses the least possible amount of I/O operations during
execution.

Why we use Thymeleaf?

JSP is more or less similar to HTML. But it is not completely compatible with HTML
like Thymeleaf. We can open and display a Thymeleaf template file normally in the
browser while the JSP file does not.

Thymeleaf supports variable expressions (${...}) like Spring EL and executes on


model attributes, asterisk expressions (*{...}) execute on the form backing bean, hash
expressions (#{...}) are for internationalization, and link expressions (@{...}) rewrite
URLs.

Like JSP, Thymeleaf works well for Rich HTML emails.

Spring framework

Spring is the most popular application development framework for enterprise Java.
Millions of developers around the world use Spring Framework to create high
performing, easily testable, and reusable code.

Spring framework is an open source Java platform. It was initially written by Rod
Johnson and was first released under the Apache 2.0 license in June 2003.

Spring is lightweight when it comes to size and transparency. The basic version of
Spring framework is around 2MB.

The core features of the Spring Framework can be used in developing any Java
application, but there are extensions for building web applications on top of the Java

10
Ecommerce Website

EE platform. Spring framework targets to make J2EE development easier to use and
promotes good programming practices by enabling a POJO-based programming
model.

Benefits of Using the Spring Framework

Following is the list of few of the great benefits of using Spring Framework −

Spring enables developers to develop enterprise-class applications using POJOs. The


benefit of using only POJOs is that you do not need an EJB container product such as
an application server but you have the option of using only a robust servlet container
such as Tomcat or some commercial product.

Spring is organized in a modular fashion. Even though the number of packages and
classes are substantial, you have to worry only about the ones you need and ignore the
rest.

Spring does not reinvent the wheel, instead it truly makes use of some of the existing
technologies like several ORM frameworks, logging frameworks, JEE, Quartz and
JDK timers, and other view technologies.

Testing an application written with Spring is simple because environment-dependent


code is moved into this framework. Furthermore, by using JavaBeanstyle POJOs, it
becomes easier to use dependency injection for injecting test data.

Spring's web framework is a well-designed web MVC framework, which provides a


great alternative to web frameworks such as Struts or other over-engineered or less
popular web frameworks.

Spring provides a convenient API to translate technology-specific exceptions (thrown


by JDBC, Hibernate, or JDO, for example) into consistent, unchecked exceptions.

Lightweight IoC containers tend to be lightweight, especially when compared to EJB


containers, for example. This is beneficial for developing and deploying applications
on computers with limited memory and CPU resources.

11
Ecommerce Website

Spring provides a consistent transaction management interface that can scale down to
a local transaction (using a single database, for example) and scale up to global
transactions (using JTA, for example).

Spring boot

Spring Boot is an open source Java-based framework used to create a micro Service.
It is developed by Pivotal Team and is used to build stand-alone and production ready
spring applications. This chapter will give you an introduction to Spring Boot and
familiarizes you with its basic concepts.

What is Micro Service?

Micro Service is an architecture that allows the developers to develop and deploy
services independently. Each service running has its own process and this achieves
the lightweight model to support business applications.

Advantages

Micro services offers the following advantages to its developers −

Easy deployment

Simple scalability

Compatible with Containers

Minimum configuration

Lesser production time

What is Spring Boot?

12
Ecommerce Website

Spring Boot provides a good platform for Java developers to develop a stand-alone
and production-grade spring application that you can just run. You can get started
with minimum configurations without the need for an entire Spring configuration
setup.

Advantages

Spring Boot offers the following advantages to its developers −

Easy to understand and develop spring applications

Increases productivity

Reduces the development time

Goals

Spring Boot is designed with the following goals −

To avoid complex XML configuration in Spring

To develop a production ready Spring applications in an easier way

To reduce the development time and run the application

independently Offer an easier way of getting started with the

application

Spring security

Spring Security is a framework which provides various security features like:


authentication, authorization to create secure Java Enterprise Applications.

It is a sub-project of Spring framework which was started in 2003 by Ben Alex. Later
on, in 2004, It was released under the Apache License as Spring Security 2.0.0.

It overcomes all the problems that come during creating non spring security
13
Ecommerce Website

applications and manage new server environment for the application.

14
Ecommerce Website

This framework targets two major areas of application are authentication and
authorization. Authentication is the process of knowing and identifying the user that
wants to access.

Authorization is the process to allow authority to perform actions in the application.

We can apply authorization to authorize web request, methods and access to


individual domain.

Advantages

Spring Security has numerous advantages. Some of that are given below.

Comprehensive support for authentication and authorization.

Protection against common tasks

Servlet API integration

Integration with Spring MVC

Portability

CSRF protection

Java Configuration support

Spring data jpa with hibernate

Hibernate is a Java framework that simplifies the development of Java application to


interact with the database. It is an open source, lightweight, ORM (Object Relational
Mapping) tool. Hibernate implements the specifications of JPA (Java Persistence
API) for data persistence.

ORM Tool

15
Ecommerce Website

An ORM tool simplifies the data creation, data manipulation and data access. It is a
programming technique that maps the object to the data stored in the database.

What is JPA?

Java Persistence API (JPA) is a Java specification that provides certain functionality
and standard to ORM tools. The javax.persistence package contains the JPA classes
and interfaces.

Advantages of Hibernate Framework

Following are the advantages of hibernate framework:

1) Open Source and Lightweight

Hibernate framework is open source under the LGPL license and lightweight.

2) Fast Performance

The performance of hibernate framework is fast because cache is internally used in


hibernate framework. There are two types of cache in hibernate framework first level
cache and second level cache. First level cache is enabled by default.

3) Database Independent Query

HQL (Hibernate Query Language) is the object-oriented version of SQL. It generates


the database independent queries. So you don't need to write database specific queries.
Before Hibernate, if database is changed for the project, we need to change the SQL
query as well that leads to the maintenance problem.

4) Automatic Table Creation

Hibernate framework provides the facility to create the tables of the database
automatically. So there is no need to create tables in the database manually.

5) Simplifies Complex Join

16
Ecommerce Website

Fetching data from multiple tables is easy in hibernate framework.

6) Provides Query Statistics and Database Status

Hibernate supports Query cache and provide statistics about query and database status.

17
Ecommerce Website

Chapter 2
Proposed
System

2.1 Proposed System:

 The proposed system help in building application to buy, sell product or good
online using internet connection.

 Ecommerce is fast gaining ground as an accepted and used business paradigm.


 It provides searching facility by the product name so customers can easily search
the products accordingly.
 In proposed system every product description is given along the product.

 System will be error free, secure, reliable and fast management system.

 In this system we make user friendly environment to the user and provides the
continuous availability of the products.
 Website provide cash on delivery service.

2.2 Objectives of System:

 To provide every product for the customer in the minimum reasonable cost,
customer can purchase product every time.
 To manage details of products, category, brand, customer, shipping rates

 The purpose of System is to automate the existing manual system by the help of
computerized and full-fledged computer website, fulfilling their requirements, so
that their valuable data/information can be stored for a longer period.
 To storing the high amount of data in minimum time is less time consuming for the
organization.

 It is designed such a way that one can view all the updates of the products from any
place through online.

11
Ecommerce Website

2.3 User Requirements:

 Requirement for Admin:


 Registration
 Login
 Add/Manage User
 Add/Manage Product
 Add/Manage category
 Manage Customers
 Add/Manage Shipping Rates
 View Orders
 Requirement for Customer:
 Registration
 Login
 View Product
 Search facility
 Review Product
 Order Product
 Change password

12
Ecommerce Website

CHAPTER 3:
ANALYSIS & DESIGN
3.1.1 DFD Diagram:

3.1.2 FIRST LEVEL DFD

13
Ecommerce Website

3.2 Table specifications (Database) :


Data Dictionary:
Table Name: Address

Table Name Address

Table Description It stores Address details.

Primary_key Address_id

Foreign Key custoId, countryId

Field Name Data type Description

First_name Varchar(45) Store first name

Last_name Varchar(45) Store last name

Phone_number Varchar(45) Store phone number

Address_line_1 Varchar(45) Store address line

Address_line_2 Varchar(45) Store address line

city Varchar(45) Store city code

state Varchar(45) Store state details

Postal code Varchar(45) Store postal code

14
Ecommerce Website

Table Name: Customers

Table Name Customers

Table Description It stores customers details.

Primary_key Cust_id

Foreign Key Country_id

Field Name Data type Description

Email Varchar(45) Store email id of customer

Password Varchar(45) Store password of customer

First_name Varchar(45) Store first name of customer

Last_name Varchar(45) Store last name of customer

Phone_number Varchar(45) Store phone number of


customer

Address line 1 Varchar(45) Store address of customer

Address line 2 Varchar(45) Store address of customer

city Varchar(45) Store city of customer

State Varchar(45) Store state of customer

Postal_code Varchar(45) Store postal code of customer

15
Ecommerce Website

Table Name: Orders

Table Name Orders

Table Description It stores order details.

Primary_key Order_id

Foreign Key custId

Field Name Data type Description

Order_time int(10) Store bill id.

Payment_method varchar(255) Store bill date.

Product_cost Float Bill amount.

Shipping_cost Float Store shipping cost

Tax Float Store tax

Total Float Store total

First Name Varchar(45) Store firstname

Last Name Varchar(45) Store lastname

Phone_number Varchar(15) Store phonenumber

Address_line_1 Varchar(45) Store address

City Varchar(45) Store city

16
Ecommerce Website

Table Name: Shipping Rates

Table Name Shipping Rates

Table Description It stores shipping detail

Primary_key Id

Foreign Key Country_id

Field Name Data type Description

State Int Store bill id.

Rate Int Store bill date.

days Varchar(45) Bill amount.

Table Name: Review

Table Name Review

Table Description It stores Review details.

Primary_key Review_id

Foreign Key ProID, custID

Field Name Data type Description

Comment Varchar(300) Store comments

headline Varchar(128) Store headline

Rating Varchar(200) Store rating

Review time DateTime(6) Store review time

17
Ecommerce Website

Table Name: Order Details

Table Name Order_Details

Table Description Order details

Primary_key Id

Foreign Key Order_id, product_id

Field Name Data type Description

Quantity int(10) Store Quantity id.

Unit_Price Float(20) Store Unit Price.

Subtotal int(10) Store Subtotal.

Product_cost float(20) Store Product cost

Shipping_cost float(20) Store Shipping cost

Brands:-

Table Name Data Type Description.

Id Int(10) Store brand id

Name Varchar(45) Store brand name

Logo Varchar(45) Store brand logo

18
Ecommerce Website

Table Name: Product

Table Name Product

Table Description It stores product details.

Primary_key Id

Foreign Key Brand_id, category_id

Field Name Data type Description

Name Int Store bill id.

Alias Varchar(256) Store bill date.

Short_description Varchar(256) Bill amount.

Full_description Varchar(512) Store description of product

Main_page Varchar(255) Store main page of product

Created_time datetime(6) Store created time

Updated_time Datetime(6) Store updates time

Enabled Boolean Status enabled or not

In_stocks Boolean Store stock

cost Float Store cost of product

price Float Store price of product

19
Ecommerce Website

Table Name: Category

Table Name Category

Table Description It stores Category details.

Primary_key categoryId

Foreign Key parentId, all_parent_ids

Field Name Data type Description


Name String(15) Name of the Category

Alias int(10) Alias of Category

Image Varchar(128) Image of category

Enabled Varchar(64) Enabled

Table Name: Order_Track

Table Name Order_Track

Table Description It stores Order Track.

Primary_key Id

Foreign Key
Order_id

Field Name Data type Description


Order_id int(10) Stores Id of order

Status Varchar(10) Stores Status of order

Updated_time Varchar(10) Stores Updated time

20
Ecommerce Website

Table Name: Users

Table Name Users

Table Description It stores Users details

Primary_key user_id

Field Name Data type Description

Email Varchar(128) Stores email

Enabled Boolean Status shows user is enabled or


not

First_name Varchar(45) Stores first name.

Last_name Varchar(45) Stores last name

password Varchar(45) Store password

photos Varchar(45) Store photos

21
Ecommerce Website

3.3 ERD Diagram:

22
Ecommerce Website

3.5 Class Diagram:

23
Ecommerce Website

3.6 Use Case Diagrams:

24
Ecommerce Website

3.7 sequence diagram:

25
Ecommerce Website

3.8 Website map diagram:

Ecommerce Website

Login

Customer Admin

Home Users

Search Products Categories

Address Book
Brands

View Product
Brand
All Products
orders Add Brands
Search
Logout View Brands

product
Cart
Add product
Sales
View product

Logout

26
Ecommerce Website

CHAPTER 4:
USER MANUAL
4.1 User Interface Design(Screens etc)

Fig 1 : Admin Login Page:

Fig 2: Create New Category:

27
Ecommerce Website

Fig 3: create new Brand:

Fig 4: Manage Brands

28
Ecommerce Website

Fig 5: Manage Categories:

Fig 6: Manage Customers

29
Ecommerce Website

Fig 7: Manage Reviews

Fig 8: Manage Shipping Rates

30
Ecommerce Website

Fig 9: My Orders

Fig 10: Sales Report

31
Ecommerce Website

Fig 11: Site Setting

32
Ecommerce Website

Test Cases
Test Test Test Case Test Case Test Steps Pre- Post- Expected Actual
Scenari Scenario ID Description conditi conditio Result Result
o ID Descripti ons ns
on
TS_CRS Verify the TC_CRS_Lo Enter a valid 1. Enter valid Enter User Dashboard, Dashboar
_01 login gin_01_1 username and username valid should 1)Add d,
functional password 2. Enter URL be able Image 1)Add
ity of password and to see 2)Add Image
Admin Test Dashboa Menu 2)Add
Data rd 3)Add Menu
pages
TC_CRS_Lo Enter invalid 1.Enter invalid Enter User Dashboard Dashboar
gin_01_2 Username or username and valid should d
password valid URL be able
password and to see
2.Enter valid Test Dashboa
username and Data rd
invalid
password
TS_CRS Verify the TC_CRS_Lo Enter a valid 1. Enter valid Enter User 1.View wp 1.View
_02 login gin_02_1 username and username valid should dashboard wp
functional password 2. Enter URL be able 2. Logout dashboard
ity of password and to see button at 2. Logout
website Test Dashboa right top button at
Data rd side of page right top
side of
page
TC_CRS_Lo Enter invalid 1.Enter invalid Enter User Reset Reset
gin_02_2 Username or username and valid should password password
password valid URL be able
password and to see
2.Enter valid Test home
username and Data page
invalid
password

TS_CRS Verify the TC_CRS_Lo Enter a valid 1. Enter Valid Enter User 1.view 1.view
_03 product gin_03_1 product name name valid should product on product
functional and price 2. Enter valid URL be able home page on home
ity of price and to see page
website product home
data page

Enter a valid 1.Enter invalid Enter User Homepage Homepag


product name product name valid should e
and price and valid price URL be able
2.Enter valid and to see
price product home
data page

TS_CRS Verify the TS_CRS 1.Enter First 1.First letter Enter User 1.First 1.First
_04 functional Add _04_1 name should be valid should name name
ities of capital userna be able should be should be
Add users 2. Only First me and to see displayed displayed
name should passwo Add
be added rd of page
Admin view

33
Ecommerce Website

Test Test Test Case Test Case Test Steps Pre- Post- Expected Actual
Scenari Scenario ID Description conditi conditio Result Result
o ID Descripti ons ns
on
TS_CRS 1. Enter Other 1.First letter Enter User 1.Other 1.Other
Add _04_2 name should be valid should name name
capital userna be able should be should be
2. Only Other me and to see displayed displayed
names name passwo Add
should be rd of page
added Admin view
TS_CRS 1.Enter users 1. User Enter User 1.member 1.member
Add _04_3 Number number valid should number number
should be less userna be able should be should be
than 5 digits me and to see displayed displayed
passwo Add
rd of page
Admin view
TS_CRS 1.Enter 1. Passwords Enter User 1.Password 1.
Add _04_4 Password should be valid should should be Password
more than 7 userna be able in should be
characters. me and to see encrypted in
2. Password passwo Add form encrypted
should contain rd of page form
at least one Admin view
digit and
special
character
TS_CRS 1.Select status 1. Select Enter User 1.Status 1.Status
Add _04_5 Status should valid should should should
contain all the userna be able select only select
status. me and to see one option only one
2. Status passwo Add option
should not be rd of page
empty Admin view
TS_CRS Verify the TC_CRS_Vi Search button 1.Search product User Entered Entered
_05 functional ew_05_1 should be button should list should name in name in
ity of enabled be enabled should be able search tab search tab
View 2. User should be to see should be should be
products be able to type display the list available available
ed of added
products
TC_CRS_Vi Edit popup 1.Edit button product Edit pop All fields of All fields
ew_05_2 should be should be list up edit pop up of edit
displayed enabled must should must be in pop up
2. Edit popup display be editable must be in
displayed edit displaye mode editable
3. All fields option d mode
must be in
editable mode
TC_CRS_Vi Delete button 1.Delete User Display Delete pop Delete
ew_05_3 should be button should list pop up up must pop up
displayed be enabled must should display must
2. Delete display be product and display
popup should delete displaye delete product
be displayed option d button and delete
3.product should be button
must be enabled should be
published enabled

34
Ecommerce Website

Test Test Test Case Test Case Test Steps Pre- Post- Expected Actual
Scenari Scenario ID Description conditi conditio Result Result
o ID Descripti ons ns
on
TS_CRS Verify the TC_CRS_ad Edit popup 1.Edit button pages Edit pop All fields of All fields
_07 functional d_pages_07_ should be should be list up edit pop up of edit
ity of add 1 displayed enabled must should must be in pop up
pages 2. Edit popup display be editable must be in
displayed edit displaye mode editable
3. All fields option d mode
must be in
editable mode
TC_CRS_ass Details button 1.Print button page User Print button Print
ign_case_07 should be should be must be must be must be button
_2 enabled present assigne able to present must be
2. page details d see the Report present
must be pages must be Report
present generated must be
3.description of sales generated
detail must be of sales
present
TS_CRS Verify the TS_CRS_ 1.Enter Name 1.name Enter User 1.Name of 1.Name of
_08 functional new_case of customer address and valid should users order users
ities of _08_1 billing details userna be able should be order
new order should be me and to see display should be
added passwo add new display
rd of product
user page
TS_CRS_ 1.Enter Phone 1. Phone Enter User 1.Phone 1.Phone
new_case No number valid should Number Number
_08_2 should be less userna be able should be should be
than 11 digits me and to see displayed displayed
passwo add new
rd of order
new
TS_CRS_ 1.Enter billing 1.Occupation Enter User 1.Occupati 1.Occupat
new_case address should accept valid should on should ion should
_08_3 only letters userna be able be be
me and to see displayed displayed
passwo add new
rd of order
NCO
TS_CRS_ 1.Enter mail 1.Mail id Enter User 1.Address 1.Address
new_case id should contain valid should should be should be
_08_4 @ into it userna be able displayed displayed
me and to see
passwo add new
rd of order
NCO
TS_CRS_ 1.Select 1. Select Enter User 1.Gender 1.Gender
new_case Gender Gender should valid should should be should be
_08_5 contain all the userna be able displayed displayed
options. me and to see
passwo add new
rd of order
NCO
TS_CRS_ 1.Enter 1.Address Enter User 1.Address 1.Address
new_case shipping should contain valid should should be should be
_08_6 address city, house userna be able displayed displayed
number, me and to see
landmark, passwo add new
region, district rd of case
NCO page
view
TS_CRS_ 1.Enter 1. Payment Enter User 1.Payment 1.Payment
new_case payment type Type should valid should Type Type
_08_7 contain COD userna be able should be should be
and credit card me and to see displayed displayed
passwo add new
rd of order
NCO

35
Ecommerce Website

4.2 Limitations
1. Some business process may never be available to ecommerce:- Some items such as
foods, high cost items such as jwellery may be impossible to be available on the internet.

2. Legal issues:- these issues arises when the customer data is fall in the hands
of strangers.

3. Negotiation is not possible on online platform.

4,3 Future Enhancement


 Product recommendation using machine learning algorithm .

 Smart chat bot to improve customer service.

4,4 Bibliography
Website
 www.google.com
 https://spring.io/learn
 www.javapoint.com

Books
1. Spring microservices in Action
Author - john cornel
Publisher – Manning, July 6 2017

2 Learning Spring boot


Author – greg turnquest
Publisher – packt, November 3, 2017

36
Ecommerce Website

ANNEXURE: SAMPLE PROGRAM CODE


BrandController.java –
package com.shopme.admin.brand;
import java.io.IOException;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import com.shopme.admin.AmazonS3Util;
import com.shopme.admin.category.CategoryService;
import com.shopme.admin.paging.PagingAndSortingHelper;
import com.shopme.admin.paging.PagingAndSortingParam;
import com.shopme.common.entity.Brand;
import com.shopme.common.entity.Category;

37
Ecommerce Website

@Controller
public class BrandController {
private String defaultRedirectURL =
"redirect:/brands/page/1?sortField=name&sortDir=asc";
@Autowired private BrandService brandService;
@Autowired private CategoryService categoryService;

@GetMapping("/brands")
public String listFirstPage() {
return defaultRedirectURL;
}

@GetMapping("/brands/page/{pageNum}")
public String listByPage(
@PagingAndSortingParam(listName = "listBrands", moduleURL =
"/brands") PagingAndSortingHelper helper,
@PathVariable(name = "pageNum") int pageNum
){
brandService.listByPage(pageNum, helper);
return "brands/brands";
}

@GetMapping("/brands/new")
public String newBrand(Model model) {
List<Category> listCategories =
categoryService.listCategoriesUsedInForm();

model.addAttribute("listCategories", listCategories);
model.addAttribute("brand", new Brand());
model.addAttribute("pageTitle", "Create New Brand");

38
Ecommerce Website

return "brands/brand_form";
}

@PostMapping("/brands/save")
public String saveBrand(Brand brand, @RequestParam("fileImage") MultipartFile
multipartFile,
RedirectAttributes ra) throws IOException {
if (!multipartFile.isEmpty()) {
String fileName =
StringUtils.cleanPath(multipartFile.getOriginalFilename());
brand.setLogo(fileName);

Brand savedBrand = brandService.save(brand);


String uploadDir = "brand-logos/" + savedBrand.getId();

AmazonS3Util.removeFolder(uploadDir);
AmazonS3Util.uploadFile(uploadDir, fileName,
multipartFile.getInputStream());
} else {
brandService.save(brand);
}

ra.addFlashAttribute("message", "The brand has been saved successfully.");


return defaultRedirectURL;
}

@GetMapping("/brands/edit/{id}")
public String editBrand(@PathVariable(name = "id") Integer id, Model model,
RedirectAttributes ra) {
try {
Brand brand = brandService.get(id);

39
Ecommerce Website

List<Category> listCategories =
categoryService.listCategoriesUsedInForm();

model.addAttribute("brand", brand);
model.addAttribute("listCategories", listCategories);
model.addAttribute("pageTitle", "Edit Brand (ID: " + id + ")");

return "brands/brand_form";
} catch (BrandNotFoundException ex) {
ra.addFlashAttribute("message", ex.getMessage());
return defaultRedirectURL;
}
}

@GetMapping("/brands/delete/{id}")
public String deleteBrand(@PathVariable(name = "id") Integer id,
Model model,
RedirectAttributes redirectAttributes) {
try {
brandService.delete(id);
String brandDir = "brand-logos/" + id;
AmazonS3Util.removeFolder(brandDir);

redirectAttributes.addFlashAttribute("message",
"The brand ID " + id + " has been deleted
successfully");
} catch (BrandNotFoundException ex) {
redirectAttributes.addFlashAttribute("message", ex.getMessage());
}

return defaultRedirectURL;

40
Ecommerce Website

}
}

Customer.controller
package com.shopme.admin.customer;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import com.shopme.admin.paging.PagingAndSortingHelper;
import com.shopme.admin.paging.PagingAndSortingParam;
import com.shopme.common.entity.Country;
import com.shopme.common.entity.Customer;
import com.shopme.common.exception.CustomerNotFoundException;

@Controller
public class CustomerController {
private String defaultRedirectURL = "redirect:/customers/page/1?
sortField=firstName&sortDir=asc";

@Autowired private CustomerService service;

@GetMapping("/customers")
public String listFirstPage(Model model) {

41
Ecommerce Website

return defaultRedirectURL;
}

@GetMapping("/customers/page/{pageNum}")
public String listByPage(

@PagingAndSortingParam(listName = "listCustomers",
moduleURL = "/customers") PagingAndSortingHelper helper,

@PathVariable(name = "pageNum") int pageNum) {

service.listByPage(pageNum, helper);

return "customers/customers";

@GetMapping("/customers/{id}/enabled/{status}")

public String updateCustomerEnabledStatus(@PathVariable("id") Integer id,

@PathVariable("status") boolean enabled, RedirectAttributes


redirectAttributes) {

service.updateCustomerEnabledStatus(id, enabled);

String status = enabled ? "enabled" : "disabled";

String message = "The Customer ID " + id + " has been " + status;

redirectAttributes.addFlashAttribute("message", message);

return defaultRedirectURL;

@GetMapping("/customers/detail/{id}")

42
Ecommerce Website

public String viewCustomer(@PathVariable("id") Integer id, Model model,


RedirectAttributes ra) {

try {

Customer customer = service.get(id);

model.addAttribute("customer", customer);

return "customers/customer_detail_modal";

} catch (CustomerNotFoundException ex) {

ra.addFlashAttribute("message", ex.getMessage());

return defaultRedirectURL;

@GetMapping("/customers/edit/{id}")

public String editCustomer(@PathVariable("id") Integer id, Model model,


RedirectAttributes ra) {

try {

Customer customer = service.get(id);

List<Country> countries = service.listAllCountries();

model.addAttribute("listCountries", countries);

model.addAttribute("customer", customer);

model.addAttribute("pageTitle", String.format("Edit Customer (ID:


%d)", id));

return "customers/customer_form";

} catch (CustomerNotFoundException ex) {

43
Ecommerce Website

ra.addFlashAttribute("message", ex.getMessage());

return defaultRedirectURL;

@PostMapping("/customers/save")

public String saveCustomer(Customer customer, RedirectAttributes ra) {

service.save(customer);

ra.addFlashAttribute("message", "The customer ID " + customer.getId() + "


has been updated successfully.");

return defaultRedirectURL;

@GetMapping("/customers/delete/{id}")

public String deleteCustomer(@PathVariable Integer id, RedirectAttributes ra)

{ try {

service.delete(id);

ra.addFlashAttribute("message", "The customer ID " + id + " has


been deleted successfully.");

} catch (CustomerNotFoundException ex) {

ra.addFlashAttribute("message", ex.getMessage());

return defaultRedirectURL;

44

You might also like