Ecommerce Application Project Documentation
Ecommerce Application Project Documentation
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)
Through,
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
To,
The Director,
ZIBACAR, Pune
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
Place: Pune
CHAPTER 1:
Introduction :
• 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.
1
Ecommerce Website
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:
• 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?
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:
• 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?
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.
required:
• RAM : 2 GB
• CPU Speed : 2.0 GHZ
• Hard Disk : 250 GB
3
Ecommerce Website
Software required:
4
Ecommerce Website
1.5Architectute Of System
5
Ecommerce Website
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.
Drag and Drop- The user can grab an object and drag it further dropping it to a new
location.
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 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.
The web pages created by using Bootstrap 4 can be easily made responsive.
Javascript
What is JavaScript ?
7
Ecommerce Website
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
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
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 platform-independent.
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.
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.
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.
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.
Following is the list of few of the great benefits of using Spring Framework −
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.
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.
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
Easy deployment
Simple scalability
Minimum configuration
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
Increases productivity
Goals
Spring security
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
applications and manage new server environment for the application.
13
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.
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.
Portability
CSRF protection
ORM Tool
14
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.
Hibernate framework is open source under the LGPL license and lightweight.
2) Fast Performance
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.
15
Ecommerce Website
Hibernate supports Query cache and provide statistics about query and database status.
16
Ecommerce Website
Chapter 2
Proposed System
• The proposed system help in building application to buy, sell product or good online
using internet connection.
• 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.
• 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
12
Ecommerce Website
CHAPTER 3:
ANALYSIS & DESIGN
3.1.1 DFD Diagram:
13
Ecommerce Website
Primary_key Address_id
14
Ecommerce Website
Primary_key Cust_id
15
Ecommerce Website
Primary_key Order_id
16
Ecommerce Website
Primary_key Id
Primary_key Review_id
17
Ecommerce Website
Primary_key Id
Brands:-
18
Ecommerce Website
Primary_key Id
19
Ecommerce Website
Primary_key categoryId
Primary_key Id
Foreign Key
Order_id
20
Ecommerce Website
Primary_key user_id
21
Ecommerce Website
22
Ecommerce Website
23
Ecommerce Website
24
Ecommerce Website
25
Ecommerce Website
Ecommerce Website
Login
Customer Admin
Home Users
Address Book
Brands
View Product
Brand
All Products
orders Add Brands
Search
Logout View Brands
product
Cart
Add product
Sales
Reports View product
Logout
26
Ecommerce Website
CHAPTER 4:
USER MANUAL
4.1 User Interface Design(Screens etc)
27
Ecommerce Website
28
Ecommerce Website
29
Ecommerce Website
30
Ecommerce Website
Fig 9: My Orders
31
Ecommerce Website
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
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.
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
36
Ecommerce Website
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);
AmazonS3Util.removeFolder(uploadDir);
AmazonS3Util.uploadFile(uploadDir, fileName,
multipartFile.getInputStream());
} else {
brandService.save(brand);
}
@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";
@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,
service.listByPage(pageNum, helper);
return "customers/customers";
@GetMapping("/customers/{id}/enabled/{status}")
service.updateCustomerEnabledStatus(id, enabled);
String message = "The Customer ID " + id + " has been " + status;
redirectAttributes.addFlashAttribute("message", message);
return defaultRedirectURL;
@GetMapping("/customers/detail/{id}")
42
Ecommerce Website
try {
model.addAttribute("customer", customer);
return "customers/customer_detail_modal";
ra.addFlashAttribute("message", ex.getMessage());
return defaultRedirectURL;
@GetMapping("/customers/edit/{id}")
try {
model.addAttribute("listCountries", countries);
model.addAttribute("customer", customer);
return "customers/customer_form";
43
Ecommerce Website
ra.addFlashAttribute("message", ex.getMessage());
return defaultRedirectURL;
@PostMapping("/customers/save")
service.save(customer);
return defaultRedirectURL;
@GetMapping("/customers/delete/{id}")
try {
service.delete(id);
ra.addFlashAttribute("message", ex.getMessage());
return defaultRedirectURL;
44