You are on page 1of 32

www.anushabazar.

in

Abstract

The business-to-consumer aspect of electronic commerce (e-commerce) is the most


visible business use of the World Wide Web. The primary goal of an e-commerce site is to
sell goods and services online.

This project deals with developing an e-commerce website for online shopping. It
provides the user with a catalog of different products available for purchase in the store. In
order to facilitate online purchase a shopping cart is provided to the user. The system is
implemented using a 3-tier approach, with a backend database, a middle tier of java and a
web browser as the front end client.

In order to develop an e-commerce website, a number of Technologies must be


studied and understood. These include multi-tiered architecture, server and client side
scripting techniques, implementation technologies such as web technologies, Java
Scripting, programming language (such as JAVA), Frame works (such as spring,
Hibernate).This is a project with the objective to develop a basic website where a consumer
is provided with a shopping cart application
www.anushabazar.in

Table of contents:

1. Introduction

1.1 High Level Requirements

1.2 Overview of System Architecture

2. Requirements Analysis
3. Selecting The Technology Stack
o Platform, Frameworks
o Application Server, Database
o IDE, Build Tool, Version Control System (VCS)
o Continuous Integration, Code Quality Checking
4. Release Planning
o Plan Iterations & Use Cases
o Estimations & Release Schedules
5. Setting up the Development Environment
6. Building Administration/Shopping Cart WebApps
o Iteration – 1
7. Deploying to Production
o Clustering and Load balancing
o Setting up Monitoring Tools
www.anushabazar.in

1. Introduction

Introduction of Anusha Bazar:


Introduction E-commerce is fast gaining ground as an accepted and
used business paradigm. More and more business houses are implementing web sites
providing functionality for performing commercial transactions over the web. It is
reasonable to say that the process of shopping on the web is becoming commonplace. The
objective of this project is to develop a general purpose e-commerce store where any
product (such as Groceries, fruits, vegetables, personal care products, and Health care
products) can be bought from the comfort of home through the Internet. An online store is
a virtual store on the Internet where customers can browse the catalog and select products
of interest. The selected items may be collected in a shopping cart. At checkout time, the
items in the shopping cart will be presented as an order. At that time, more information
will be needed to complete the transaction. Usually, the customer will be asked to fill or
select a billing address, a shipping address, a shipping option, and payment information
such as credit card number. An e-mail notification is sent to the customer as soon as the
order is placed.
www.anushabazar.in

1.1High Level Requirements:

The following are the high level requirements of Anusha Bazar:

 A public facing Shopping Cart website with features:

 Customers can browse through products by category or by searching


 Customers can place orders using CreditCard or Cash On Delivery
 Customers can login and view order history
 Customers will receive confirmation emails or message when order is
placed or order status changed

 An Administration website which has the following features:

 Ability to manage Categories and Products


 Ability to create one or more users for Administration website
 Ability to restrict access to certain features based on roles
 Ability to view customer orders and update the status
 A costumer provided with an Order Button from Anusha Bazar.
 This order button will helps the customer to place an order. It works by
using the internet or Wi-Fi connectivity.
 Whenever the customer press that button, it send a notification
regarding that request to our Anusha Bazar customer care service.
 Then they take the order from the customer.
 This is the future implementation of our Anusha Bazar.
www.anushabazar.in

1.2 Overview of System Architecture:

Flow Chart:

Fig1: Flow Chart.


www.anushabazar.in

Class Diagram:

Fig2: Class Diagram.


www.anushabazar.in

Use Case Diagram:

Fig 3: Use case Diagram.


www.anushabazar.in

REQUIREMENTS ANALYSIS :
For building our anusha bazzar.in Application we will develop two
web applications, one for shoppingcart and another one for
administration. let us explore the requirements of both shoppingcart and
administration websites in detail.

HOMEPAGE:

 This page shows list of categories and few products in each category.
 From this screen customers can click on any Category name to see
all the products in that particular category or can add a product to
cart.
 The homepage is often the highest traffic page on an anusha
bazzar application.

CATEGORY PAGE:
 This page displays all the products in the selected category with
pagination.
 Each product will be displayed along with a Add To Cart button.

SEARCH RESULTS PAGE:


 In the header section we will provide a search box where customers
can search for products.
 The search results will be displayed with pagination

 Each product will be displayed along with a Add To Cart button.

LOGIN/REGISTRATION PAGE:
 Customers should be able to login/register with our system so that
they can view their profile and order history.
www.anushabazar.in

CART:
 In header section there will be Cart Icon showing the no. of items
currently added to cart.
 When Cart icon is clicked we need to show the cart page with all the

Items details.
 Customers should be able to update product quantities or remove
products and the cart totals should be updated automatically.

BILLING&DELIVERY PAGE:
 This page will be displayed once the customer clicked Checkout
button in Cart page.
 If the customer is already registered with our system he should login
otherwise a registration form will be displayed.
 Customer should register by providing Email and Password.

 After successfully login, customer should provide Delivery Address,

Payment details like CreditCard number, CVV, Expiry Date etc.

ORDER CONFIRMATION PAGE:


 Once the customer provided all the valid details and clicked on
Submit button an Order should be placed and should display the
Order Confirmation page with details including the Products, Delivery
Address etc.
 An order confirmation email should be sent to customer with
estimated delivery time.

MY ACCOUNT PAGE:
 Customer should be able to login into the system and see his profile
details, order history, outstanding order details.
www.anushabazar.in

ADMINISTRATION SITE REQUIREMENTS:


SECURITY:
 We should provide Roles and Permission based security for our
Administration website.

PRIVILEGE MANAGEMENT:
 Ability to configure and manage all the privileges within the system.
 Each privilege represent the ability to perform an action.
 For ex: MANAGE_CATEGORIES represents the ability to create new
Categories, update existing categories.

ROLE MANAGEMENT:
 Ability to create various roles with one or more assigned privileges.
 ROLE_SUPER_ADMIN – Users with this role can do anything within
the system.
 ROLE_ADMIN – Users with this role can create other users (except
other SUPER_ADMIN or ADMIN), and can do Category
Management, Product Management etc.
 ROLE_CMS_ADMIN: Users with this role can manage Categories,
Products etc.

CATEGORY MANAGEMENT:
A category represent a logical grouping of related products.
Category management includes:

 Create new categories


 Update existing categories
 Disable/enable categories

Purchase Order Management :


www.anushabazar.in

Features available in most anusha bazzar application

 Ability for customers to change release dates, quantity, item


numbers
 Show payment receipts and amounts
 Ability to print copy of invoices

Features probably not available in any anusha


bazzar application

 Ability to set up blanket order: customers approved P.O. for set


dollar
amount and/or set products and quantities multiple orders
 Ability to monitor value/balance on open P.O.s, see order history
against P.O.s, alert customer when P.O. balance is low
 Ability to pay outstanding invoices online (via credit card/EFT)
 Ability for the customer to view credit limit (view/request/history)
 Ability to monitor customer credit cutoff (orders won’t ship once this
reached)
 Show running credit limit total and flags for nearing credit limit
 Show both kinds of credits (applied to order, applied to credit
balance)
 Support online credit application, potentially even as part of
registration
 Ability to notify sales of all future orders
 Provide reports on future orders
 Future orders must be logged into Ecometry but flagged so it doesn’t
hit customer’s credit limit
Features that partially exist in some e-commerce
applications
 Ability to set future "order/ship date"; edit dates, frequency, etc.
 Credit and accounts payable management
www.anushabazar.in

PRODUCTS PAGE:
 This page displays detailed information of the product along with one
or more images of the product and shows Add To Cart button.

Product Catalog
Features available in most e-commerce
applications
 Ability to request catalog from site (form)
 Generate confirmation email to customer
Features probably not available in any e-
commerce application
 Provide Quick Look (on mouseover) for products atcategory, product
listings, product thumbnail level
 Ability to shop/filter by safety/compliance standards
 Ability to merchandize best sellers at category level
 Ability to merchandize featured products at category level
 Ability to merchandize new products at category level
 Ability to display non-stock items (order qty, lead time, pricing)
 Ability to flag products as New, Clearance, Best Seller, Sale (across
the site)
 Submitted form data emailed to office services team (customer IA
record created in Ecometry)
 Generate catalog order in Ecometry

Site Settings :
We need to have some site level configurations like Currency and Locale.
Locale & Currency:

We should be able to use different locale and currencies for our e-


commerce system. So the implementation should consider the I18N and
www.anushabazar.in

dynamic currency change using live currency converter or using some


conversion ratio.

By looking at the above mentioned features you might be thinking these


are all very basic features of any e-commerce system and lot of features
like Promotions/Offers Management, Fulfilment Systems, Inventory
management etc are not being considered. YES, you are right. We are not
considering many aspects of a typical e-commerce system because WE
DON’T NEED THEM FOR OUR APPLICATION.

As I mentioned in the project requirement, we are enabling customers to


place orders through online and the items will be delivered manually by the
person who makes those quilling toys and the administrator will mark that
order as fulfilled. If our application become famous and we are being
flooded with orders then we can think of automating these manual tasks as
well. As simple as that .
www.anushabazar.in

3. Selecting the Technology Stack for ANUSHA BAZAR

Selecting the right technology stack is very crucial and plays an important role in
project success. Many of the architects try to make complex designs by trying to use all
kinds of latest and greatest stuff. On the other hand some architects try to be in their
comfort zone by limiting their technology stack to the technologies with which they are
comfortable. Both approaches are dangerous. One should understand the business needs
and pick the technologies that are necessary for project.

Java Platform & Frameworks:


We will be using Java 8 for ANUSHA BAZAR so that we can leverage the good
features introduced in Java8 like Streams, DateTime API etc.
Frameworks: This is where people go religious about their favorite frameworks. We
should consider various factors while choosing the tech stack for any project.

 Needs of the project requirements


 Maturity and stability of the technologies
 Team skills
 Community/Commercial support

For ANUSHA BAZAR project we need:

 Request-Response oriented MVC web framework for ANUSHA BAZAR site. I


prefer stateless architecture for public facing web apps.
 Component oriented MVC web framework for Administration site. I prefer UI
Component Oriented framework for internal applications like Administration web
apps.
 Security framework supporting Role Based Access Control (RBAC)
 A high-level Data Persistence framework
 Other miscellaneous features like Emailing, Scheduling etc

In Java land, JavaEE and Spring are the most popular tech stacks for building
applications. Both are very mature and have wonderful community support.
Spring provides:

 Request-Response oriented SpringMVC web framework


 Spring doesn’t provide any Component Oriented MVC framework. But we can
integrate Spring with JSF.
 Spring Security provides RBAC security
 Spring Data projects provides a very nice abstraction over various Data Access
Technologies
www.anushabazar.in

Note: As I mentioned, a Component Oriented framework would be more suitable for


ANUSHA BAZAR .Administration web app, we will be using SpringMVC only. This is
a compromise we are making considering the team skills and scope of the project.
What are the tools we will be using?

 Version Control System: We will be using Git VCS and host our code
on Github.
 Build Tool: I am happy with Maven. We will be using Maven for our
application.
 IDE: As we are using Maven which is IDE agnostic we can use any of our
favorite IDE. But our application is heavily depends on Spring technologies we

will be using STS.


 Server: Tomcat as embedded server.
 Database: MySQL. But ideally we should be able to use our application with
other databases like Postgres.
 Tools: Jenkins for CI, SonarQube for code quality checking.
 Production: While deploying our application in production we may want to
use Apache.
www.anushabazar.in

4. Project Design

In order to design a web site, the relational database must be designed first.
Conceptual design can be divided into two parts: The data model and the process
model. The data model focuses on what data should be stored in the database while
the process model deals with how the data is processed. To put this in the context of
the relational database, the data model is used to design the relational tables. The
process model is used to design the queries that will access and perform operations on
those tables.
www.anushabazar.in

3.1.1 Database Design

In this section, the basic structure of the tables composing the database for the

Project are shown along with information about primary and foreign keys.

Customer

SNO NAME TYPE DESCRIPTION

1 UserID Varchar Primary key for Customer identification

2 Password Varchar Security for Customer

3 First_Name Varchar

4 Last_Name Varchar

5 Address Varchar

6 City Varchar

7 Zip Integer

8 State Varchar

9 Email Address Varchar

10 Phone_Number Varchar
www.anushabazar.in

Product

SNO NAME TYPE DESCRIPTION

1 Product type Varchar

2 Product Name Varchar

3 In stack Or Out stack Varchar

5 Old price Integer

6 Latest Price Double

6
www.anushabazar.in

Product Tax

SNO NAME TYPE DESCRIPTION

1 Product Name Varchar Primary key for Product Identification

2 Sales Tax Rate Double Sales tax for each state

Shopping_Cart_Items

SNO NAME TYPE DESCRIPTION

1 ShoppingCartID Integer Primary key for Shopping Cart


Identification

2 Price Double

3 Date Date

4 User ID Varchar Foreign key to Customer

5 Quantity Integer
www.anushabazar.in

Order Details

SNO NAME TYPE DESCRIPTION

1 Order ID Integer Primary key for Order identification

1 User ID Char Foreign key to Customer

2 Receiver’s Name Char If order is to be sent to other address rather


than to the customer, we need that address
3 Address Char

4 City Char

5 Zip Integer

6 State Char Foreign key to State Tax

7 Type of Shipping Char Foreign key to Shipping Type

8 Date of Purchase Date

7
www.anushabazar.in

Shipping Type

SNO NAME TYPE DESCRIPTION

1 Type of Shipping Varchar Primary key to define type of shipping

2 Price Double

3 Approximate days Integer


for delivery

Credit_Card_Details

SNO NAME TYPE DESCRIPTION

1 Credit Username Varchar Primary key for Customer Identification

2 Credit Card Varchar


Number
3 Card Type Varchar Master Card, Visa, Discover

4 CVV Number Integer Number present on the back of the card for
extra security
5 Expiry Date Date

6 User ID Varchar Foreign key to Customer


www.anushabazar.in

Product Review

SNO NAME TYPE DESCRIPTION

1 Product ID Varchar a product on which the review is


written
2 Reviews Varchar Review on the product

3 Rating Varchar Rating given to the product in a scale of 5

4 Review Date Date

5 User Name Varchar Name of the user providing the review

8
Search History

SNO NAME TYPE DESCRIPTION

1 User ID Varchar Primary key for Customer Identification

2 Product ID Integer Product purchased by the user

3 Date of Purchase Date

4 Order ID Integer Foreign key to Order details

5 Quantity Integer

6 Price Double
3.3 User Interface Design

Before implementing the actual design of the project, a few user interface designs were
constructed to visualize the user interaction with the system as they browse for Products, create a
shopping cart and purchase products.

Fig 1: Home page


Fig No: 2 Login Page for Customers, Patners and Admin
Fig No: 3 Sign Up Page For Customers.
Fig No: 4 BDO Registration form
Fig No: 5 Fruits Page
Fig No: 6 Vegetables Page
Fig No: 7 Beverages Page
Fig No: 8 Household page
Fig No: 9 Groceries Page

You might also like