TRIBHUVAN UNIVERSITY
INSTITUTE OF ENGINEERING
PULCHOWK CAMPUS
Byapar Griha - An E-Commerce CMS
By:
Roshan Bhandari (066 BCT 526)
Sjan Bhandari (066 BCT 537)
Sujit Maharjan (066 BCT 540)
A PROJECT WAS SUBMITTED TO THE DEPARTMENT OF ELECTRONICS
AND COMPUTER ENGINEERING IN PARTIAL FULLFILLMENT OF THE
REQUIREMENT FOR THE BACHELOR’S DEGREE IN
COMPUTER ENGINEERING
DEPARTMENT OF ELECTRONICS AND COMPUTER ENGINEERING
LALITPUR, NEPAL
SEPTEMBER, 2012
10
TRIBHUVAN UNIVERSITY
INSTITUTE OF ENGINEERING
PULCHOWK CAMPUS
Byapar Griha - An E-Commerce CMS
By:
Roshan Bhandari (066 BCT 526)
Sjan Bhandari (066 BCT 537)
Sujit Maharjan (066 BCT 540)
A PROJECT WAS SUBMITTED TO THE DEPARTMENT OF ELECTRONICS
AND COMPUTER ENGINEERING IN PARTIAL FULLFILLMENT OF THE
REQUIREMENT FOR THE BACHELOR’S DEGREE IN
COMPUTER ENGINEERING
DEPARTMENT OF ELECTRONICS AND COMPUTER ENGINEERING
LALITPUR, NEPAL
SEPTEMBER, 2012
11
PAGE OF APPROVAL
TRIBHUVAN UNIVERSITY
INSTITUTE OF ENGINEERING
PULCHOWK CAMPUS
DEPARTMENT OF ELECTRONICS AND COMPUTER ENGINEERING
The undersigned certify that they have read, and recommended to the Institute of
Engineering for acceptance, a project report entitled " Byapar Griha - An E-Commerce
CMS " submitted by Roshan Bhandari, Sijan Bhandari, and Sujit Maharjan in partial
fulfilment of the requirements for the Bachelor’s degree in Electronics &
Communication / Computer Engineering.
_________________________________________________
Supervisor, name of Supervisor
Title
Name of the Department
__________________________________________________
Internal Examiner, name of Internal Examiner
Title
Name of the Organization, he belongs to
__________________________________________________
External Examiner, name of External Examiner
Title
Name of the Organization, he belongs to
------------------------------------------------------------------------------
Coordinator, Name of Coordinator
Title
Name of the coordinating committee
DATE OF APPROVAL: Day.Month.Year
12
COPYRIGHT
The author has agreed that the Library, Department of Electronics and Computer
Engineering, Pulchowk Campus, Institute of Engineering may make this report freely
available for inspection. Moreover, the author has agreed that permission for extensive
copying of this project report for scholarly purpose may be granted by the supervisors
who supervised the project work recorded herein or, in their absence, by the Head of the
Department wherein the project report was done. It is understood that the recognition
will be given to the author of this report and to the Department of Electronics and
Computer Engineering, Pulchowk Campus, Institute of Engineering in any use of the
material of this project report. Copying or publication or the other use of this report for
financial gain without approval of to the Department of Electronics and Computer
Engineering, Pulchowk Campus, Institute of Engineering and author’s written
permission is prohibited.
Request for permission to copy or to make any other use of the material in this report in
whole or in part should be addressed to:
Head
Department of Electronics and Computer Engineering
Pulchowk Campus, Institute of Engineering
Lalitpur, Kathmandu
Nepal
13
ACKNOWLEDGEMENT
We express our sincere gratitude towards the department of Electronics and Computer
Engineering, IOE for providing us the wonderful opportunity to undertake this project.
We owe our gratitude to Dr. Arun Timalsina for his kind effort and help in guiding
continuously during the project. We would also like to thank Er. Shayak Raj Giri for his
effort in guiding us continuously during the project.
We cannot miss to thank our project Professor Dr. Shashidhar Ram Joshi who greatly
helped us giving valuable ideas and techniques that made the flow of our project faster
and easier.
Naresh Dhami, Software Engineer at IT OffShore, Nepal and pass out from Pulchowk
Campus also owes our thanks.
Finally, we also would like to thank our friends and seniors who have guided us
continuously during the project.
Roshan Bhandari (066/BCT/526)
Sijan Bhandari (066/BCT/537)
Sujit Maharjan (066/BCT/540)
14
ABSTRACT
This project is about developing a Content Management System to facilitate the
development of an e-commerce website. This project features facilities for the
development of an e-commerce website without knowing much about the coding details.
A content management system (CMS) is a computer system that allows publishing,
editing, and modifying content as well as site maintenance from a central page. It
provides a collection of procedures used to manage workflow in a collaborative
environment. CMS allows for a large number of people to share and control stored data,
control access to data based on user role, facilitates storage and retrieval of data, control
validity and compliance and so on.
The system is developed with 4-tier architecture. First level or tier is the browser or
client level processing. Second layer is entity layer. The third level is the asp .net and IIS
server connection or the provider layer and the final tier is the back end database.
In order to develop and e-commerce CMS we used number of technologies. These
include server and client side scripting techniques and languages such as asp .net and c#,
Ajax, HTML, CSS, JavaScript, knowledge and concept of relational databases such as
MS Sql.
After completing this project we have developed a System for developing an e-
commerce site flexibly. This project features properties of Central Dashboard for
administrator who can customize the site as necessary. From the dashboard one can also
do various site administrator and accounting tasks.
15
Contents COPYRIGHT ................................................................................................................... 12
ACKNOWLEDGEMENT ............................................................................................... 13
ABSTRACT ..................................................................................................................... 14
LIST OF SYMBOLS / ABBREVIATIONS .................................................................... 17
1 INTRODUCTION .................................................................................................... 19
1.1 Literature Review .............................................................................................. 19
1.2 Objective ............................................................................................................ 20
1.3 Scope of Project ................................................................................................. 21
2 PROJECT DESIGN ................................................................................................. 22
2.1 Data Modeling ................................................................................................... 22
2.1.1 Database Design ......................................................................................... 25
2.2 Process Model .................................................................................................... 28
UML Diagrams ............................................................................................................ 29
2.2.1 Use Case Diagram ...................................................................................... 29
2.2.2 Activity Diagram ........................................................................................ 30
2.2.3 Sequence Diagram ...................................................................................... 31
3 DESIGN IMPLEMENTATION .............................................................................. 32
3.1 User Interface Design ........................................................................................ 32
3.1.1 Registration Page ........................................................................................ 32
3.1.2 Authentication and login ............................................................................ 33
3.1.3 Account Management Page ........................................................................ 34
3.2 Order Management ............................................................................................ 34
3.2.1 Adding Product To Cart ............................................................................. 34
16
3.2.2 Generating and Managing Orders .............................................................. 36
3.2.3 Review The Order ...................................................................................... 36
3.2.4 Placing an Order ......................................................................................... 36
3.2.5 Track Order ................................................................................................ 37
3.2.6 Manage Pending Order ............................................................................... 38
3.2.7 Order History .............................................................................................. 39
3.3 CATALOG MANAGEMENT .......................................................................... 40
3.3.1 Category Management ............................................................................... 40
3.3.2 Product Management .................................................................................. 41
4 IMPLEMENTATION TECHNOLOGY .................................................................. 42
4.1 Internet Information Services (IIS) .................................................................... 42
4.2 Framework Used ................................................................................................ 43
4.3 Database Used ................................................................................................... 43
4.4 Programming Languages Used .......................................................................... 44
4.5 APIs Used .......................................................................................................... 44
5 ANALYTICS AND REPORT GENERATION ...................................................... 48
5.1 Accounting ......................................................................................................... 48
5.2 Analytics ............................................................................................................ 48
5.2.1 Product Recommendations ......................................................................... 49
5.2.2 Product Review .......................................................................................... 49
6 Limitations ............................................................................................................... 51
7 CONCLUSION ........................................................................................................ 51
8 BIBLIOGRAPHY .................................................................................................... 52
17
LIST OF SYMBOLS / ABBREVIATIONS
AJAX Asynchronous JavaScript And XML
ASP Active Server Page
API Application Programming Interface
CLR Common Language Runtime
DFD Data Flow Diagram
EAV Entity Attribute Value
FDD Functional Decomposition Diagram
HTML Hyper Text Markup Language
IDE Integrated Development Environment
MS-SQL Microsoft Structured Query Language
WSDL Web Service Deployment Language
18
List of Figures
Figure 2.1Database Scheme for Catalog Management .................................................... 23
Figure 2.2 Database Schema for Cart and Order Management ........................................ 23
Figure 2.3 Functional Decomposition Diagram ............................................................... 28
Figure 2.4 Use Case Diagram........................................................................................... 29
Figure 2.5 Activity Diagram ............................................................................................ 30
Figure 2.6 Sequence Diagram for Cart to Order .............................................................. 31
Figure 2.7 Sequence Diagram for Login .......................................................................... 31
Figure 3.1 Review of Order .............................................................................................. 36
Figure 3.2 Order Status .................................................................................................... 38
Figure 3.3 Pending Orders ............................................................................................... 39
Figure 3.4 Order Details ................................................................................................... 40
Figure 4.1 ISS Web Server ............................................................................................... 42
Figure 5.1 Analysis graph showing No of Visitor in a day .............................................. 50
Figure 5.2 Line Graph showing no of visits of visitors in a month .................................. 50
19
1 INTRODUCTION
E-commerce is the term for a type of business, or commercial transaction over the web.
This mainly involves the transfer of information through internet. In practice, this term
and a newer term, e-business, are often used interchangeably. This approach allows
customers to electrically exchange goods and services with no barriers of time and
distance.
The objective of this project is to build a customizable e-commerce engine or a CMS.
We hope to bring a new easily customizable e-commerce CMS through which one can
build a e-commerce site of any category without any in-depth knowledge of the internal
coding details. This application will feature central dashboard from where various site
administration task could be done by the admin and take his product live into the online
business within no time.
This project will deal with the development of CMS that will lead to the development of
e-commerce store where goods of any category could be bought with comfort from
home. An online store is virtual store on the internet where customers can browse the
catalog and select product of interest. The selected item will be collected in cart. At
checkout time, items in the shopping cart will be presented as an order. At that time more
information will be needed to complete the transaction. The information such as shipping
address, receiver, etc will be asked. After the transaction payment shall be handled by
various gateways. We also hope to introduce the feature of mobile payment. We also
hope to implement e-mail and text notification via Mobile after the transaction.
1.1 Literature Review
"Your business is going to boom through web otherwise will soon vanish."- Bill Gates
The web, as a place for e-commerce, brings both advantages and challenges. While e-
commerce has the same goal as any other form of commerce, to maximize the amount of
sold commodities and thus the generated income, it differs from it in many respects.
While the conventional stores carry only a limited supply items, e-shops can offer an
almost unlimited number of items, including specialty products targeted for only
relatively few customers. This allows customers to comparison –shop and select their
favorite brand without leaving their chairs.
By the same token, traditional store can reach mainly customers who live in the
neighborhood whereas the e-store makes it possible to pursue global sales. In addition,
20
keeping a physical store open 24 hours a day rather expensive (with nightly operation
generating only minimal income), while the computer system supporting e-commerce
can run non-stop with almost no overhead. These features generate a potential advantage
for the e-merchants.
While the traditional commerce is limited by time and space, the Internet commerce is
characterized by an almost unlimited availability.
An additional benefit of e-commerce is that it allows the seller a natural opportunity to
gather information about the behavioral patterns of visiting customers (including their
transaction records) There is a number of ways that such information can be applied:
a) To better meet individual customer expectations (resulting in the increased number of
transactions and thus in increased profits)
b) To study the behavior of the entire client population (mining knowledge that can be
then fed-back to the e-commerce support systems)
c) To study the current market trends (e.g. to assure that fashionable commodities and
available to the clients)
d) To exchange information with (to sell it to) other businesses (as a source of additional
information applicable in own system and/or source of additional income).
In response to these opportunities, the development of successful e-commerce initiatives
requires creation of an appropriate infrastructure that will support the required
functionality. The system should provide quick access to legitimate user and block other
and develop itself from review, ratings and users visit trend.
1.2 Objective
This project is about developing the e-commerce system. Developing an e-commerce
system requires knowledge of various systems such as Inventory Management, Catalog
Managements , Product Managements, User Managements, Carting, Payment Processing
and others. We mainly tried to fulfill the following objectives:-
Be able to create a System to build a customizable ecommerce site instantly.
21
Make use of online payment through internet gateways such as paypal for payment
processing.
Be able to analyze sales and recommend products.
Make e-commerce system interactive through user comments, rating on products and
feedbacks.
1.3 Scope of Project
A complete E-commerce-based website is developed based on web Service –oriented
model which have following features:
a) Allow Customers to create account and store favorite items in carts.
b) Allow Customers to make payment through payment Gateway like Paypal.
c) Allow user to make comparison of various products before through reviews and
rating.
d) Sending Receipt through an e-mail to customer.
e) Generate accounting Records
f) Catalog management
22
2 PROJECT DESIGN
Our Project "Byapar Griha - An ECommerce CMS" is a web Application. An application
of such type requires that we design Database first. Project Design can be divided into 2
phases: Data Modeling and Process Modeling. Data Model focuses on the Database
design, the entities, attributes, the relationship among various entities while the process
model focuses on the queries made to extract data from the database and the stored
implemented.
2.1 Data Modeling
The Conceptual Representation of the database and data structures required by a
database is data model. It gives a quick overview of database implementation The ER
representation is shown below.
23
Figure 2.1Database Scheme for Catalog Management
Figure 2.2 Database Schema for Cart and Order Management
24
25
2.1.1 Database Design
Database design has been almost completed. In our System there are following tables:-
For Products and Category addition dynamically to fit a design of an generalized e-
commerce site we have followed EAV model. Entity–attribute–value model (EAV) is
a data model to describe entities where the number of attributes (properties, parameters)
that can be used to describe them is potentially vast, but the number that will actually
apply to a given entity is relatively modest. In mathematics, this model is known as
a sparse matrix. EAV is also known as object–attribute–value model, vertical database
model and open schema.
Structure of EAV Model
This data representation is analogous to space-efficient methods of storing
a sparse matrix, where only non-empty values are stored. In an EAV data
model, each attribute-value pair is a fact describing an entity, and a row in an EAV
table stores a single fact. EAV tables are often described as "long and skinny":
"long" refers to the number of rows, "skinny" to the few columns.
Data is recorded as three columns:
The entity: the item being described.
The attribute or parameter: a foreign key into a table of attribute definitions. At
the very least, the attribute definitions table would contain the following
columns: an attribute ID, attribute name, description, data type, and columns
assisting input validation, e.g., maximum string length and regular
expression, set of permissible values, etc.
The value of the attribute.
Our Database Consists of following tables:
a. Based on EAV for Category and Product Management
1. For Category Management
i. Catelog_Category_Entity
ii. Catelog_Category_Entity_Decimal
iii.Catelog_Category_Entity_Int
26
iv.Catelog_Category_Entity_Text
v.Catelog_Category_Entity_VarChar
vi. Catelog_Category_Entity_Text
vii.Catelog_Category_Entity_DateTime
2. For Product Management
i. Catelog_Product_Entity
ii. Catelog_Product_Entity_Decimal
iii.Catelog_Product_Entity_Int
iv.Catelog_Product_Entity_Text
v.Catelog_Product_Entity_VarChar
vi. Catelog_Product_Entity_Text
vii.Catelog_Product_Entity_DateTime
3. For Attributes
i. EAV_Attributes
b. For Rest of the Systems
1. For Customer Management
i. User
ii.User_Details
iii. User_Activity
iv. Address(for Shipping)
2. For Admin
i. Address
27
3. For Product Review and Rating
i.Product Review
4. For Cart Management
i. Cart
ii. CartDetails
5. For Order
i. Order
ii. OrderDetails
6. For Inventory
i. Inventory
7. For Analytis
i. Log_url
ii. log_url_info
iii. log_visitor
iv. log_visitor_info
v. log_customer
28
2.2 Process Model
Functional Decomposition Diagram
A decomposition diagram shows a top-down functional decomposition of a system and
exposes the system's structure. The objective of the Functional Decomposition is to
break down a system step by step, beginning with the main function of a system and
continuing with the interim levels down to the level of elementary functions. The
diagram is the starting point for more detailed process diagrams, such as data flow
diagrams (DFD). Figure below shows the Functional Decomposition Diagram for this
project.
Figure 2.3 Functional Decomposition Diagram
29
UML Diagrams
2.2.1 Use Case Diagram
Figure 2.4 Use Case Diagram
30
2.2.2 Activity Diagram
DatabaseCartFrontPage
SelectItem
Add To Cart
Create New Cart
[Cart Does Not Exits]
Retrieve CartId From Database
[Cart Exists]
Place Item To New Cart[Item Don't Exists in Cart]
Update Quantity By One Unit
[Item Exists In Cart]
Maintain Database
Figure 2.5 Activity Diagram
31
2.2.3 Sequence Diagram
Figure 2.6 Sequence Diagram for Cart to Order
Figure 2.7 Sequence Diagram for Login
32
3 DESIGN IMPLEMENTATION
3.1 User Interface Design
Before diving into the actual coding of the project the User Interface was designed. The
User Interface consists of the following :-
1. Registration Page
2. Authentication and Login Page
3. Account Management Page
3.1.1 Registration Page
A unknown visitor can be navigating through our site. A unknown visitor is assigned a
id. He/She can may register with our system and continue to use other services provided
by the system. For registration there is a registration.aspx page. Here's a snapshot of the
page :-
33
3.1.2 Authentication and login
A visitor must be registered into the system to continue shopping. He/she logs
into the system through the login page. The login page looks like as below:-
34
3.1.3 Account Management Page
A user after signing into the system can edit his account. He can see his previous orders
and view cart. He can also forward to orders and process to the payment through the
paypal gateway to complete the order. He can set his shipping preferences during the
process.
3.2 Order Management
3.2.1 Adding Product To Cart
A cart is a collection of different products selected in the site while shopping. This can
be done by clicking the Add to Cart button provided along with the product or in product
details page. This operation requires a user to be logged in to the site –that is , he/she
must be a registered user at the site. Here is the workflow for adding products to the
cart.
Must be a registered user with the site.
Checks whether the user already has a cart that is not yet ordered. If yes, go to step 3. If
no, creates a new cart.
35
If the cart already exists for this user, Checks whether this product is already added to
the cart. If yes, updates the quantity of this product in the cart. If no, adds product to the
cart.
Figure.Customer Cart
36
3.2.2 Generating and Managing Orders
The process starts after the customer checks out of the cart to place an order on the site.
The customer is prompted to fill in his/her personal details such shipping address. After
approval of shipping address customer has to proceed for the payment.
3.2.3 Review The Order
This section presents the items added to the cart along with the tax, discount and
shipping charges. The customer is allowed to Edit the Cart from this page.
Figure 3.1 Review of Order
3.2.4 Placing an Order
“Check out” is a term popular in e-commerce sites. This is an action performed to
finalize the items that are shopped in the cart and signifies that the customer is ready to
37
place an order. When action “Place Order” is performed , the Order Status for the
particular order will be updated as “processing”.
After placing order, customer will be promoted for placing shipping address. The
shipping address approval message is shown when customer fill the Shipping Address
form and Payment processing continues. Payment Gateway “PayPal” is integrated in the
application. The application sends total amount and order id and user name to the PayPal
service site along with the returning page uniform resource locator(url) . The customer
should have PayPal account for processing payment.
When payment completes the PayPal service sends the confirmation message to our site
and returns to provided url page. We use this confirmation message to change the order
status from “processing” to “confirmed”.
3.2.5 Track Order
After an order is placed by the customer, he/she can track his/her order. The system
maintains main three types of status associated with an order : Confirmed, Dispatched,
and Shipped.
As soon as a customer places an order successfully and payment is confirmed ,the order
status will be “confirmed”.
The Administrator of the site keeps track of the all the orders and processes them one by
one.
After the order is dispatched from the site , the status of the order is changed to
“Dispatched”.
After the order reached the customer , the status is changed to “shipped”.
38
Figure 3.2 Order Status
3.2.6 Manage Pending Order
This is an administrator activity performed by the administrator of the site. All the
orders placed by the customers can be viewed here. The administrator’s job is to look at
these orders and start the dispatch process of the order.
Initially , all the orders here will be in confirmed status – that is, an order has been
placed by customer.
After an order is dispatched ,the status should be modified as Dispatched.
Once the items reach the customer ,the status of the order should be modified as shipped.
39
So in essence, the pending orders are all the orders that are not in Shipped Status.
Figure 3.3 Pending Orders
3.2.7 Order History
All the orders that are shipped to the customers come under Order History category.
This report gives the administrator the complete history of the order. It maintains the
ordered date, dispatched date , and shipped date of an order to a customer.
This is helpful data in many cases :
The site Administrator can find out the number of days taken to dispatch and ship an
order to different places .
This data is also a proof of the orders delivered to the customer.
40
Figure 3.4 Order Details
3.3 CATALOG MANAGEMENT
Catalog Management comprises of mainly Category and Product Management. It gives
the flexibility to add diversity of products and their various categories. The products can
be linked to one or more numbers of categories. The categorization of products into
different categories makes easy access to desired product.
3.3.1 Category Management
Category divides various products into different set based on some physical, semantic
similarities. Category can be sub-divided into sub-categories like in a tree structure. The
tree like structure of categories and sub-categories is visualized in menu for navigation to
set of products of selected category.
Category Management is necessary to add new category, edit/update existing categories
and delete categories. A new category is inserted into database with its description and
images. We have used list of category and their sub-categories to build menu.
41
A real kind of traditional business house gives discount on different products and tax is
applied to each sales. To model this mechanism, we apply tax on each product and the
tax rate is determined based on the category of product. Also, discount is subtracted from
the marked price.
3.3.2 Product Management
Product is the lowest level entity in an ecommerce system. A product is featured by its
physical and abstract properties.
When we add any product to an inventory of the system the products are created with all
its features in an product entity. The quantity of the product is tracked by inventory
entity. Every item is contained in a category which makes distinction of products based
on interests. A product once added can be edited with its latest attributes.
We have also added facility to add a picture the product so that the customer can
recognize product at a glance. Also, if admin want, can also add more attributes to
elaborate details of product. We have given facility to write review product detail page
so a buyer can recommend/ criticize on product which help other customer to choose
products.
Rating also helps in choosing product.
Administrator has a sole control over Catalog Management. Admin has to login to
dashboard to perform Catalog Management. Catalog Management is an important tool to
continuously update products and categories into the e-shop.
42
4 IMPLEMENTATION TECHNOLOGY
The objective of this project is to develop an e-commerce System. When the user types
the url of the e-commerce site in the address field of the browser, a web Server is
contacted to get the requested information. In the .NET framework, IIS (Internet
Information Service) acts as the Web Server. The web Server accepts incoming HTTP
requests and returns the requested resource in the form of HTTP response. The first thing
IIS does when a request comes in is to decide how to handle the request. Its decision is
based upon the requested file's extension. For example, if the requested file has the .asp
extension, IIS will route the request to be handled by asp.dll. If it has the extension of
.aspx, .ascx, etc, it will route the request to be handled by ASP.NET Engine.
The ASP.NET Engine then gets the requested file, and if necessary contacts the database
through ADO.NET for the required file and then the information is sent back to the
Client’s browser. Figure above shows how a client browser interacts with the Web server
and how the Web server handles the request from client.
Figure 4.1 ISS Web Server
4.1 Internet Information Services (IIS)
43
IIS is a set of Internet based services for Windows machines. Originally supplied as part
of the Option Pack for Windows NT, they were subsequently integrated with other
version of windows and Windows Server.
Features:
The web server itself cannot directly perform server side processing but can delegate the
task to ISAPI (Application Programming Interface of IIS) applications on the server.
Microsoft provides a number of these including ones for Active Server Page and
ASP.NET.
4.2 Framework Used
ASP.NET
ASP.NET is a programming framework built on the common language runtime (CLR)
that can be used on a server to build powerful Web applications. ASP.NET has many
advantages – both for programmers and for the end users because it is compatible with
the .NET Framework. This compatibility allows the users to use the following features
through ASP.NET:
4.3 Database Used
MS SQL Database
In this project, MS SQL is used as the backend database. MS SQL is proprietary
database
44
management system by Microsoft. The features of MS SQL are given below:
•MS SQL is a relational database management system. A relational database stores
information in different tables, rather than in one giant table. These tables can be
referenced to each other, to access and maintain data easily.
• It is fast, reliable and easy to use.
4.4 Programming Languages Used
C#
The primary programming language used for the development of this project is C#. It is
used in conjunction with ASP .Net for the creation of the website.
JavaScript
JavaScript (sometimes abbreviated JS) is a prototype-based scripting language that
is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language,
supporting object-oriented, imperative, and functional programming styles. For
the client side programming, we have used JavaScript. It is used in handling the events
like mouse click, mouse hover etc.
AJAX
AJAX stands for Asynchronous JavaScript and XML) is a group of
interrelated webdevelopment techniques used on the client-side to create
asynchronous web applications. Using Ajax, web applications we can send data to,
and retrieve data from, a server asynchronously (in the background) without interfering
with the display and behavior of the existing page. Data can be retrieved using
the XMLHttpRequest object.
Ajax is not a single technology, but a group of technologies. HTML and CSS can be
used in combination to mark up and style information.
4.5 APIs Used
Paypal
45
Paypal is a popular gateway for payment and Money transfer. It provides Application
Programming Interface (API)s for integration with various web platforms. Paypal
provides various accounts for various applications Mainly 3 types of accounts are
provided by the paypal. They are:-
Personal account
Most people have this type of account that allows one to use PayPal when paying for
stuff online. Theoretically, one can use a Personal account to accept money. Through this
account one will be severely constrained. There is a $500 receiving limit per month,
and one willbe able to accept one time payments using the Website Payments Standard
(HTML). The big advantage of a Personal account is that one don’t need to pay any
transaction fee when receiving money.
Premier account
We have to step up from a personal account for anyone who wants to run a personal
online business. This type of account has all of the integration options (accepting credit
cards, recurring payments, PayPal API). Many People escape directly to the business
account.
Business account
It has all of the features of the Premier account plus a few more (ability to operate under
your business’s name is one of them). If you are developing a website that needs to
accept payments in 99% of situations, you’ll go with this type of account.
Testing Facilities with Paypal
Paypal provides sandbox envirionment for devlopers for testing and debugging. We need
to have sandbox account for testing our application. We can create test account inside
sandbox environment with virtual balance.
46
47
Basic Payment
Say we have an opened PayPal account and we wish to be able to accept a $10 payment
for a painting we are selling through our site. Just insert the following HTML into our
page and we are set to go:
48
5 ANALYTICS AND REPORT GENERATION
Administrator of the System can view generated reports. Reports of various accountings
and Analytics can be viewed by him. He can view reports and graphs of various things
such as customer visits, Profit and loss, Order, no of Visits for a year, no of visits for a
month and day etc. Here's a samples snapshot of the graphs of the Analytics and Report
generation:-
5.1 Accounting
In Accounting various report generation can be made such as Sales Report, Stock Report
and tax Report.
Sales Report
The sales report give details of sales within given time interval and profit in each sales. It
helps in calculating total sales, total cost of sales and total sales.
Stock Report
Stock Report shows number of items in the inventory and warns the owner if quantity of
items in inventory becomes minimum.
Tax Report
Tax Report gives the tax levied in to each item in sales. We can also view to total tax
paid in a particular category too. The total tax amount to be paid to government can also
be determined.
5.2 Analytics
Analytics part shows various Analytical reports and graphs of the datas. In the graphs
various results and data are analyzed and presented in a beautiful graphical manner.
Graphs of various parts such as Order, Product Sales, Customer login status, visitor Stats
etc are shown.
49
5.2.1 Product Recommendations
We web site is customised for each customer or vistor based on his or her preferences,or
on preferences based on previously gathered data from similar visitors.We have
implemented product recommendation system based on following pages:
a) Adding product recommendations to the product details pages. These
recommendations will promote additional products to be shopped with selected product.
b) Adding product recommendations to the shopping cart pages. These recommedations
will promote products to be shopped along with products already in shopping cart. We
have implement dynamic product recommendation based on:
i) Up-selling: Customer will be offered opportunity to purchase an upgrade or
with extra qualified products. We have implemented up-selling recommendation
based on Selling Price of the particular in the specified category.
ii) Cross-selling: Customer will be offered opportunity to purchase
complementary products.These recommendations shown in shopping cart are
those items which are not recently added to the cart, but customers has ordered
these items in his previous visit.
5.2.2 Product Review
We have provided a facility for adding reviews to each product in our site. We have
provided a form for addin review and this form will show up for only registered
customers, because we decided not to allow anonymous reviews.
It have implemented following design decisions :
a) The list of reviews and the form for adding new review is displayed below on
the product detail page.
b)Only registerd user is promoted to add his reviews. Product reviews are the
most attractive feature for e-commerce site as this will provide the customers or visitors
to see what other people think about that product.
50
Figure 5.1 Analysis graph showing No of Visitor in a day
Figure 5.2 Line Graph showing no of visits of visitors in a month
51
6 Limitations
Developing an e-commerce application is a tough task. We have tried our best to develop
as many things as possible to make our ecommerce system complete. The main
limitations our application are listed below :-
1. Theming abilities as found in general Customizable Management Systems could not
be attained.
2. Bidding on products could not be achieved.
3. We had hoped to integrate Mobile payment System but it could not be achieved.
4. Many Accounting features such as Journal, Ledger, P/L account generation could not
be completed.
5. Our Application process runs a bit slow due to heavy database configuration.
6. Category Management is incomplete as Category Added cannot be deleted.
7 CONCLUSION
Thus, we have built an almost full supportive ecommerce system which can be used in
small or medium sized enterprise house. The use can get benefits from the analytical
tools and features of this system.
We have successfully tested our system in the data of a book shop which was quite
satisfactory.
This project has got many fields of further enhancements.
52
8 BIBLIOGRAPHY
MSDN | Microsoft Chart Control Application. (2012). Retrieved from MSDN:
http://msdn.microsoft.com/en-us/library/dd456632.aspx for Microsoft Chart
Control Application
Wikipedia - ASP.NET for ASP.NET. (2012). Retrieved from Wikipedia:
http://en.wikipedia.org/wiki/Internet_Information_Services for IIS Server
Anderson, R. F. (2001). Professional ASP.NET. Wrox Press Ltd.
Watson, C. D. (2005). Beginning E-Commerce in C# .
Wikimedia. (2012). Wikepedia - ISS Services. Retrieved from Wikipedia:
http://en.wikipedia.org/wiki/Internet_Information_Services