Академический Документы
Профессиональный Документы
Культура Документы
Bissmillahirrahmanirrahim,
During the development of this inventory system, I have received lots of guidance
from tutors and colleagues. I would like to take this opportunity to express my
acknowledgement to my project supervisor, Mr. Ngang Tuong Kiet for his full support
and details guidance throughout this project.
Not forgetting the Open University Malaysia and its' the facilities such as e-Library
and forum which helps me to search for materials for this report. I am also indebted to
my group tutor colleagues who contribute to proof-read this report.
Last but not least, I would like to thank everyone who has been a help directly or
indirectly towards the completions of this assignment.
i
ABSTRACT
ii
ABSTRAK
Internet semakin mendapat perhatian dari pelangan sebagai medium maya yang
dinamik untul mejual dan membeli produk dan perkhidmatan. Kini, pelanggan boleh
membeli pelbagai produk dari keperluan harian ke barangan hobi. Selajutnya,
menjimatkan masa, wang dan kewarasan. Lazada adalah salah satu perniagaan atas
talian telah menjadi satu sumber rezeki untuk sebahagian usahawan yang menjual
barangan mereka di Internet. Keinginan untuk ke kedai untuk membeli-belah semakin
berkurang. Teknologi semakin maju seperti kepantasan internet yang semakin laju
juga memudahkan proses membeli di kedai atas talian. Oleh itu, e-dagang ketara
menjadi semakin mudah untuk dipergunakan. Kepuasan pelanggan dengan kedai atas
talian juga semakin tinggi. Pada masa yang sama, keselamatan atas talian juga telah
diperbaik. Syarikat dan organisasi yang mempelawa perkhidmatan kad kredit dan debit
juga menyediakan perlindungan yang lebih gigih terhadap penipuan.
iii
DECLARATION
I hereby declare that this project report entitled iPlaza Online E-Commerce System
submitted to Open University Malaysia is an original work, except for quotations and
summaries which have been duly acknowledged, is done by me the under the guidance
of Mr. Ngang Tuong Kiet. This project work is submitted in the partial fulfilment of
the requirements for the award of the degree of Bachelor in Information Technology.
The results embodied in this documents have not been presented to any other
University or Institute for the award of any degree or diploma.
Signature :
Date :
iv
TABLE OF CONTENTS
Acknowledgements ................................................................................................... i
Abstract .................................................................................................................... ii
Abstrak.................................................................................................................... iii
Declaration .............................................................................................................. iv
1. Introduction ...................................................................................................... 1
v
4. Methodology .................................................................................................. 17
vi
Data Structure for Data Store D5 .................................................................... 49
6. Implementation............................................................................................... 94
vii
LIST OF FIGURES
viii
Figure 5.21 Level-1 DFD for Process 2.0 of iPlaza: Online E-Commerce System... 41
Figure 5.22 Level-1 DFD for Process 3.0 of iPlaza: Online E-Commerce System... 41
Figure 5.23 Level-1 DFD for Process 4.0 of iPlaza: Online E-Commerce System... 42
Figure 5.24 Level-1 DFD for Process 5.0 of iPlaza: Online E-Commerce System... 43
Figure 5.25 Level-1 DFD for Process 6.0 of iPlaza: Online E-Commerce System... 44
Figure 6.1 Home page of iPlaza: Online E-Commerce System................................ 95
Figure 6.2 Register page of iPlaza: Online E-Commerce System ............................ 96
Figure 6.3 Login page of iPlaza: Online E-Commerce System ................................ 97
Figure 6.4 Customers account page of iPlaza: Online E-Commerce System .......... 98
Figure 6.5 Products list by Clothing categories page of iPlaza: Online E-Commerce
System ................................................................................................................... 99
Figure 6.6 Brands list page of iPlaza: Online E-Commerce System ...................... 100
Figure 6.7 Products list by Reverieuomo brands page of iPlaza: Online E-Commerce
System ................................................................................................................. 101
Figure 6.8 Detailed product page of iPlaza: Online E-Commerce System ............. 102
Figure 6.9 Adding product to the cart ................................................................... 103
Figure 6.10 Checkout page login or register notification ....................................... 103
Figure 6.11 Checkout page of iPlaza: Online E-Commerce System ...................... 104
Figure 6.12 PayPals Credit and debit card payment options ................................. 105
Figure 6.13 Pay using a PayPal account ................................................................ 106
Figure 6.14 Review and confirm payment information ......................................... 106
Figure 6.15 Confirmation of payment by PayPal .................................................. 107
Figure 6.16 Order Information page of iPlaza: Online E-Commerce System ......... 108
Figure 6.17 Order history page of iPlaza: Online E-Commerce System ................ 109
Figure 6.18 Terms and Condition page of iPlaza: Online E-Commerce System .... 110
Figure 6.19 Privacy policy page of iPlaza: Online E-Commerce System ............... 110
Figure 6.20 Delivery Information page of iPlaza: Online E-Commerce System .... 111
Figure 6.21 About us page of iPlaza: Online E-Commerce System ....................... 111
Figure 6.22 Manage categories page of iPlaza: Online E-Commerce System ........ 112
Figure 6.23 Add new category .............................................................................. 113
Figure 6.24 Delete category confirmation ............................................................. 113
Figure 6.25 Manage brands page of iPlaza: Online E-Commerce System ............. 114
ix
Figure 6.26 Add new brands ................................................................................. 115
Figure 6.27 Delete brands confirmation ................................................................ 115
Figure 6.28 Manage tax codes page of iPlaza: Online E-Commerce System ......... 116
Figure 6.29 Add new tax codes............................................................................. 117
Figure 6.30 Delete tax codes confirmation ............................................................ 117
Figure 6.31 Manage products page of iPlaza: Online E-Commerce System .......... 118
Figure 6.32 Delete products confirmation ............................................................. 119
Figure 6.33 Add products page of iPlaza: Online E-Commerce System ................ 120
Figure 6.34 Edit products basic details page ........................................................ 121
Figure 6.35 Edit products pricing page ................................................................ 122
Figure 6.36 Edit products image gallery page ...................................................... 123
Figure 6.37 Products image delete confirmation .................................................. 124
Figure 6.38 Manage orders page of iPlaza: Online E-Commerce System .............. 125
Figure 6.39 Delete orders confirmation................................................................. 125
Figure 6.40 Edit orders basic details page ............................................................ 126
Figure 6.41 Edit orders shipping details............................................................... 127
Figure 6.42 Edit orders product list ..................................................................... 128
Figure 6.43 Edit orders comments ....................................................................... 129
Figure 6.44 Error message example ...................................................................... 130
Figure 6.45 Success message example .................................................................. 130
Figure 6.46 Creating database with Adminer ........................................................ 131
Figure 6.47 Code Igniter framework database configuration settings .................... 132
Figure 6.48 The relationships of the table designs of iPlaza: Online E-Commerce
System ................................................................................................................. 134
x
LIST OF TABLES
xi
Table 5.28 Data Process for Process 1.0 ................................................................. 59
Table 5.29 Data Process for Process 2.0 ................................................................. 59
Table 5.30 Data Process for Process 3.0 ................................................................. 60
Table 5.31 Data Process for Process 4.0 ................................................................. 60
Table 5.32 Data Process for Process 5.0 ................................................................. 60
Table 5.33 Data Process for Process 6.0 ................................................................. 61
Table 5.34 Data Element user_id ......................................................................... 61
Table 5.35 Data Element user_email.................................................................... 61
Table 5.36 Data Element user_pass ..................................................................... 62
Table 5.37 Data Element user_salt ....................................................................... 62
Table 5.38 Data Element user_hash ..................................................................... 62
Table 5.39 Data Element user_status ................................................................... 63
Table 5.40 Data Element user_firstname.............................................................. 63
Table 5.41 Data Element user_lastname .............................................................. 63
Table 5.42 Data Element user_mphone ................................................................ 64
Table 5.43 Data Element user_hphone ................................................................. 64
Table 5.44 Data Element user_bill_address ......................................................... 64
Table 5.45 Data Element user_bill_city ............................................................... 65
Table 5.46 Data Element user_bill_postcode ....................................................... 65
Table 5.47 Data Element user_bill_statecode ....................................................... 65
Table 5.48 Data Element user_bill_countrycode .................................................. 66
Table 5.49 Data Element user_ship_address ........................................................ 66
Table 5.50 Data Element user_ship_city .............................................................. 66
Table 5.51 Data Element user_ship_postcode ...................................................... 67
Table 5.52 Data Element user_ship_statecode ..................................................... 67
Table 5.53 Data Element user_ship_countrycode ................................................. 67
Table 5.54 Data Element user_register_date ........................................................ 68
Table 5.55 Data Element or_id ............................................................................ 68
Table 5.56 Data Element or_unique ..................................................................... 68
Table 5.57 Data Element or_ship_track ............................................................... 69
Table 5.58 Data Element or_ship_fee .................................................................. 69
Table 5.59 Data Element or_ship_status .............................................................. 69
xii
Table 5.60 Data Element or_payment_status ....................................................... 70
Table 5.61 Data Element or_handling_fee ........................................................... 70
Table 5.62 Data Element or_handling_fee ........................................................... 70
Table 5.63 Data Element or_sub_total ................................................................. 71
Table 5.64 Data Element or_grand_total .............................................................. 71
Table 5.65 Data Element or_order_status ............................................................ 71
Table 5.66 Data Element - or_datetime ................................................................... 72
Table 5.67 Data Element oa_id ............................................................................ 72
Table 5.68 Data Element oa_type ........................................................................ 73
Table 5.69 Data Element oa_firstname ................................................................ 73
Table 5.70 Data Element oa_lastname ................................................................. 73
Table 5.71 Data Element oa_address ................................................................... 74
Table 5.72 Data Element oa_postcode ................................................................. 74
Table 5.73 Data Element oa_city ......................................................................... 74
Table 5.74 Data Element or_statecode ................................................................. 75
Table 5.75 Data Element or_phone ...................................................................... 75
Table 5.76 Data Element oc_id ............................................................................ 75
Table 5.77 Data Element oc_text ......................................................................... 76
Table 5.78 Data Element oc_poster ..................................................................... 76
Table 5.79 Data Element oc_datetime .................................................................. 76
Table 5.80 Data Element op_id ............................................................................ 77
Table 5.81 Data Element order_id ....................................................................... 77
Table 5.82 Data Element product_id .................................................................... 77
Table 5.83 Data Element op_qty.......................................................................... 78
Table 5.84 Data Element op_current_price .......................................................... 78
Table 5.85 Data Element op_sell_price ................................................................ 78
Table 5.86 Data Element op_tax_code ................................................................. 79
Table 5.87 Data Element op_tax_amt .................................................................. 79
Table 5.88 Data Element op_tax_rate .................................................................. 79
Table 5.89 Data Element op_subtotal .................................................................. 80
Table 5.90 Data Element pdt_id........................................................................... 80
Table 5.91 Data Element brand_id ....................................................................... 80
xiii
Table 5.92 Data Element category_id .................................................................. 81
Table 5.93 Data Element tax_id ........................................................................... 81
Table 5.94 Data Element pdt_skucode ................................................................. 81
Table 5.95 Data Element pdt_name ..................................................................... 82
Table 5.96 Data Element pdt_short_desc ............................................................. 82
Table 5.97 Data Element pdt_long_desc .............................................................. 82
Table 5.98 Data Element pdt_buy_price .............................................................. 83
Table 5.99 Data Element pdt_sell_price ............................................................... 83
Table 5.100 Data Element pdt_publish ................................................................ 83
Table 5.101 Data Element pdt_condition ............................................................. 84
Table 5.102 Data Element pdt_discount_rate ....................................................... 84
Table 5.103 Data Element pdt_discount_startdate ................................................ 85
Table 5.104 Data Element pdt_discount_enddate ................................................. 85
Table 5.105 Data Element pdt_date_add .............................................................. 86
Table 5.106 Data Element pdt_date_upd.............................................................. 86
Table 5.107 Data Element cat_id ......................................................................... 87
Table 5.108 Data Element cat_name .................................................................... 87
Table 5.109 Data Element cat_parent .................................................................. 87
Table 5.110 Data Element br_id .......................................................................... 88
Table 5.111 Data Element br_name ..................................................................... 88
Table 5.112 Data Element image_id .................................................................... 88
Table 5.113 Data Element tc_id ........................................................................... 89
Table 5.114 Data Element tc_code....................................................................... 89
Table 5.115 Data Element tc_desc ....................................................................... 89
Table 5.116 Data Element tc_rate ........................................................................ 90
Table 5.117 Data Element img_id ........................................................................ 90
Table 5.118 Data Element refer_type ................................................................... 90
Table 5.119 Data Element refer_id ...................................................................... 91
Table 5.120 Data Element - img_f_name ................................................................ 91
Table 5.121 Data Element - img_e_name ............................................................... 91
Table 5.122 Data Element - img_filetype ............................................................... 92
Table 5.123 Data Element img_size ..................................................................... 92
xiv
Table 5.124 Data Element img_width .................................................................. 92
Table 5.125 Data Element img_height ................................................................. 93
Table 7.1 Integration Testing Plan for iPlaza Online E-Commerce System ........... 136
Table 7.2 Integration Testing Plan for Administrators iPlaza Online E-Commerce
System ................................................................................................................. 137
Table 7.3 System Testing Plan for iPlaza Online E-Commerce System................. 138
Table 7.4 System Testing Plan for Administrators iPlaza Online E-Commerce System
............................................................................................................................. 139
Table 7.5 Acceptance Testing Plan for iPlaza Online E-Commerce System .......... 140
Table 7.6 Acceptance Testing Plan for Administrators iPlaza Online E-Commerce
System ................................................................................................................. 141
xv
CHAPTER 1
1. INTRODUCTION
There are several benefits to using an online shopping website system. Firstly,
it will allow the business to operate anytime and anywhere. The online e-commerce
system also leads to increase in the profitability and brand name recognition of the
firm. Other than that, using an online shopping system also helps the customers to gain
more information of a goods and services through the information provided by the
system. Any organisation that has an online shopping website system employed will
have an advantage over the competitor who does not have it.
This project aims to create an online shopping website system under the project
name of iPlaza. iPlaza allows the administrator to add products information such as
price, descriptions, and images to the database. Through the system, a customer could
select a product to be added to a virtual cart and proceed with the purchase of the
product via checkout. The purchased product are then sent to the client based on the
information that the customer has entered during the checkout process.
1
In addition to that, iPlaza also have staffs can have categories and brands to
segregate the products. This system will ease the customer searching for products that
they want. The system also helps the administrator to view all the orders information
of the customers in a simplified table. The orders are also editable by the administrator.
The system also contributes to generating different kinds of reports on the available
data which will help the management to take informed decisions.
2
about hundreds of the goods sold in the stores. The information might also be biased
and inconsistent between different staff.
3
1.4 Project Goals
The goal of the project is to provide an alternative approach for the customer to
purchase instead of going to the traditional brick and mortar store. The project goals
are determined in the aspects of who, why and where. This project will only considered
successful if all these problems can be met. The description of each aspect or question
is as follows:
1.4.1 Who
This system can only be accessed anyone with an internet access. The visitors
could browse the system to get information about the products that have been
added to the database. The visitors will be required to register into the system
to be allowed to purchase. The administrator is the staff that has an elevated
access as they could also add, remove, and update any information in the
system.
1.4.2 Why
This project is developed to simplify the process of purchasing a product from
a business. Furthermore, the system is estimated to improve the profitability of
the firm.
1.4.3 Where
The system will be installed on a server with an internet connection. From
there, anyone should be able to access the system using any modern internet
browser directly.
4
1.5 Project Scope
This project is targeted to be applied and used by store owners. The project will be
completed before 5 December 2016. The modules of the project will include
categories, brands, products, user accounts, reports, virtual carts, orders, and more.
Access and permissions to specific modules to add, remove, update and view will be
granted to the appropriate user level. The staff will be required to log in to access a
restricted module.
5
CHAPTER 2
2. LITERATURE REVIEW
The elements of successful e-commerce are similar to those for the mail order
catalogue sales. However, substantial differences exist. In a mail order catalogue sales,
customers can browse a catalogue at their leisure, taking the time to review their
choices. Then they can purchase and order via a handy 24-hour toll-free telephone line
or by mailing or faxing a printed order form without ever leaving home.
E-commerce has benefited from the few innovations in human history. Now,
e-commerce is a low-cost global technology that could reach hundreds of millions of
people. It is typically designed to be interactive. This technology could result in many
potential benefits to organisations, individuals, and society. E-commerce expands the
local business to national and international level. With a minimal capital budget, a
company can easily and quickly extends its reach to more customers, better suppliers,
and the most suitable business partners worldwide. For example, in 1997, Boeing
Corporation reported a savings of 20 percent due to a small vendor in Hungary won
an online bid for the proposal to manufacture a subsystem that was posted by the
Boeing Corporation on the Internet. It was also reported that the subsystem was
delivered quickly and cheaply (Turban, 2000).
6
E-commerce decreases the usage of paper-based material needed to create,
process, distribute, store and retrieve information. For instance, by using an electronic
procurement system, companies can cut the purchasing administrative costs by as
much as 85 percent. Another example is its benefit in reducing payments paycheck.
The U.S. federal government reported that the cost of issuing a paper check is 43 cent
each while the cost of payment directly by an electronic method is only two cent only
(Turban, 2000).
7
Online retail e-commerce is the fastest growing industry in retail based on
revenue, consumer base, and has increased the penetration of nonessential goods.
Nevertheless, online retailers will face difficult times due to the absence of profits at
the early stage of the project application. This issue is because it takes a long time to
attract a large number of shoppers. The business needs to charge a price that is high
enough to cover the costs of the goods and other expenses such as marketing and
system development, maintenance, and upgrades. It is important that the online retailer
persistence in its business. Many online merchants failed to be successful because they
gave up too early. Other reasons for the failures are due to the sellers setting the prices
for products to lower than the total cost of goods and operations, failed to develop an
efficient online retail system, or spent far too much on marketing.
8
A well-designed navigational system will not only inform website visitors of
where they may go but also where they are. An often-frustrating reality of the
hyperlinked state of the web is that the visitor will not always come to the website
through the front door. People often bookmark and link into pages several levels
deep into the site. Alternatively, they may enter from any individual page through a
search engine such as Google that could provide a direct link to the site.
The visitor is more likely to access a navigational link if it is set apart from the
rest of the content. This method is frequently used by e-commerce website to highlight
discounts offers to improve its attraction of visitors. An effective visual presentation
does not just happen. It is a result of the designers decision about placing specific
elements on a page. No matter the medium of designs, be it a newsletter, an
advertisement, or a website, it is important to decide how to organise the graphics and
text to deliver the message in a logical and understandable manner.
There are a few characteristics that a website should have to achieve a unified
layout and structure. The characteristics include the visible unity, balance, focus,
9
achieving depth, consistency and so on. This feature can be found on Amazon, eBay,
Lazada, and Lelong websites, where they have a compelling and consistent visual
presentation. A modern website can contain hundreds of individual pages, with many
pages generated programmatically and designed to extract and display constantly
changing content. Besides, even the smallest of websites tend to include many internal
and external hyperlinks and elements.
Online consumers are obviously concerned with the risks associated with
shopping online. Criminal activity has existed in the offline environment for business-
to-customer (B2C) interaction, but there is a general perception that customer is more
in control if there are less technology and more human-to-human interaction between
them and their business counterparts. Such risks probably are more of concern for
10
online consumers includes credit card fraud, not receiving the correct products or lack
of adequate return policies. These concerns have shown to have significant negative
impacts on consumer attitudes toward using the Internet to make purchases.
(Smith,2004).
However, in the online shop medium, the average customer expects faster
result because the Internet gives every appearance of being instantaneous. At the same
time, customers are concerned about security on the Internet and want assurance that
their identity and purchasing methods and other personal information during the
transaction are protected (Navarro, 2001). High-availability computing also requires a
security infrastructure for electronic commerce and electronic business. Large public
networks, including the Internet, are more vulnerable because they are virtually open
to anyone and they are so huge that when abuses do occur, they can have an
enormously widespread impact (Laudon & Laudon, 2004).
11
the aggregate. The most severe losses involved theft of proprietary information and
financial fraud (Laudon & Traver, 2002).
Every time a customer visits an online marketplace, they take risks that include
the loss of private information regarding the products that they purchased and in some
cases searched. The highest risk to the customers is that they are scammed by paying
for something but get counterfeit goods or even worse gets nothing in return. There
are even cases of stealing digital currency due to loss of private information.
Online merchants also run a risk that they do not get paid for what they sell.
12
Paypal is a payment gateway that is being used by thousands of online business.
Paypal accepts payment through credit and debit card. The Internet is rising as a new
marketing channel, so understanding the characteristics of online customers demands
and expectations is considered an essential for stimulating the consumer-oriented e-
commerce market.
13
CHAPTER 3
3. HARDWARE AND SOFTWARE
3.1 Hardware
Hardware is the physical facet of the computer, telecommunications, and other
information technology devices. The system requires a computer to work as a server.
The computer needs to be connected to the Internet. Clients could access the website
using any device with Internet connect and a web browser.
14
3.2 Software
Software or computer software is a collection of instructions which includes programs,
operating system, libraries, application interface, and so forth that instruct the
hardware on how it should perform, including operating system, word processors and
applications programs. The software used in this project:
15
Software Used Purpose
Mozilla Firefox with Mozilla Firefox is a web browser that is primarily used as the testing
Firebug extension platform. Firebug is an extension of the browser which is designed
to help web developer designing a web page. Javascript and CSS are
also easier to debug by using the Firebug extension.
jQuery jQuery is small but feature-rich Javascript library. It made HTML
manipulation, event handling, animation, and AJAX request easier
to implement. It is also possible to use additional plugins with
jQuery.
Bootstrap 3 Bootstrap is a complimentary library that improves upon traditional
HTML, CSS, and Javascript. It makes certain interface item much
easier to create as some of its features consist of the grid system, pre-
designed forms, buttons, alerts, panels, modal, and so forth.
Font Awesome Font Awesome is actually a collection of scalable vector icons. For
example, there are icons for Facebook, Twitter, Google, or random
items such as pencil, close, plus, trash and so on.
Table 3.2 Essential software to develop iPlaza
16
CHAPTER 4
4. METHODOLOGY
4.1.1 Interview
The purpose of the interview was chosen as one of the data collection methods because
it saves time, an accurate and direct method to gather information related to the
proposed system. Interviewing the person who has experience or involves in the
related field could gather many relevant data to develop the system. Two formal
interviews were conducted to get the necessary information.
17
4.1.1.1 Interview 1:
Mr Patrick Ling Wang Ee, the owner of ESA Computer Engineering Sdn. Bhd. was
interviewed. He had explained his experience with online business. The documentation
of the interview is provided in Appendix A1.
Date: 12/10/2016
Place: The Coffee Code, Jalan Tun Abang Haji Openg, Sibu, Sarawak.
Time: 2.00pm
Interviewed Person: Mr Patrick Ling Wang Ee
4.1.1.2 Interview 2:
This interview is addressed to Mr Mohd Rahman bin Omar, the owner of the Ice Cold
Store. Mr Mohd Rahman states that he does have minimal experience in online
business. However, he did express that he is very interested in the idea. The
documentation of the interview is provided in Appendix A2.
Date: 13/10/2016
Place: Twelve Code, Chew Geok Lin, Sibu, Sarawak.
Time: 2.30pm
Interviewed Person: Mr Mohd Rahman bin Omar
18
4.1.2 Data Analysis from Interview
From the interview, it seems like business owners are fairly interested with e-
commerce. Their main concern is that the online business is particularly hard to set up.
The business owners wished that there be easy alternatives to software or system to
conduct online business. Most business owners are not familiar with technological
advancement. They have a harder time to adapt to the ever-changing style of how
business being conducted. The business owners must also understand that the system
requires a maturity period before the firm able to generate any profit. They need to
spend some level of effort and capital to promote the online business. In return, their
store will be indirectly promoted by the online store.
4.1.3 Questionnaires
A questionnaire is a research mechanism consisting of a series of questions and other
prompts for the purpose of collecting information from respondents. A questionnaire
is often the first tool that society consider when undertaking a research project. The
data collected is standardised and therefore, easy to analyse. Statistics can be collected
quickly from a large number of respondents. Respondents answer the questionnaires
anonymously which may produce more honest answers. 100 questionnaire forms had
been distributed for data gathering. The use of questionnaires is an information
gathering technique that allows system analyst to study attitudes, beliefs, behaviour
and characteristic of several samples of Internet users.
According to the data collected from 100 people, who consist of 50 students
and 50 other local Sibu residents. According to the questionnaires, 69 percent of the
respondents welcome an online shop system. It is encouraging to build the proposed
system. Questions of the questionnaire are provided in Appendix B. The sample
consisted of 41% male and 59% female, 46% are in age below 25, 43% are in age
between 26 to 45, and 11% are in age above 46 ( see Table 4.1). The following section
contains the analysis result from the data collected through the data collection methods
used.
19
Gender Age Group Total
Male Below 25 16
26 to 45 19
Above 46 6
Total 41
Female Below 25 30
26 to 45 24
Above 46 5
Total 59
Table 4.1 Respondents demographic profile
The study showed that there are a very high number of participants that has a
proper internet connection. Only 2 participants that state that they do not have Internet
connection. Most of the participant are also very active with their Internet usage. Their
consumption is mostly geared towards checking their emails at 79%, chatting at 75%,
socialising online at (70%), and watching video and searching for information both at
63%.
20
Frequency of browsing internet
0 10 20 30 40 50 60 70 80 90
21
The acceptance towards online shopping seems to be relatively high. This can
be seen in Figure 4.4. Based on the data provided in Figure 4.3, there are 42% of the
participants that have previously conducted a purchase through an online shop. The
Figure 4.5 shows that there is a significant improvement over the acceptance towards
online store. 78% of the participants are more likely to purchase via an online e-
commerce website.
50
40
30
20
10
0
Excellent Good Average Poor Very Poor
22
Participant's interest to purchase via online shop
in the future
Not Interested
Interested
0 10 20 30 40 50 60 70 80 90
Figure 4.5 Participants interest to purchase via online shop in the future
However, there are still huge issues regarding e-commerce that the participants
are concerned with. There are 93% of the participants that are very doubtful with the
security issues of the system. While 91% of the participants are having a lack of
confident with the online shopping system. There are still 61% of the participants that
does not have credit or debit card. As much as 46% of the participants are claiming
23
Participant's Reasons for not being interested in
buying from an online shop
0 20 40 60 80 100
Figure 4.6 Participants reasons for not being interested in buying from an
online shop
The participants were also asked to highlight the problems of purchasing from
Traditional Stores. The listed problems in the questionnaires seem to be relatively
close in their percentage. 56% of the participants are having a hard to find the products
that they want, 51% of the participants have no time to go the physical shop, 43% of
the participants have no direct delivery service and 48% of the participants finding it
hard to get a parking space.
Finally, the participants were requested to select features that they would like
to see in an online store. 77% of the participants wants fast delivery, 92% of the
participants prefer an easy and secure transaction, 70% of the participants would like
cheaper price, 76% of the participants needs more information, 75% of the participants
likes easy to use interface, and lastly, 93% of the participants needs assurance of
legitimacy.
24
Problems when purchasing from traditional
stores
0 10 20 30 40 50 60 70
Assurance of legitimacy
Cheaper price
Fast delivery
0 20 40 60 80 100
25
4.1.4 Observations and Research Method
The review and research are mostly based on documentation that already exists such
as the reference books, websites, and CDs. All these books are put as part of the
research to get and to know any technical feasibility needed to build the whole system.
Detail research, especially on programming, was done in a direction to build
prototypes.
This method is also used to study samples of the project that has been
developed by other individuals or organisations. The observations and research
method will provide guidance on how a system developer creates their inventory
system. Among the samples observed and referred includes:
PHP user manual - http://sg2.php.net/manual/en/langref.php
MySQL tutorial - https://www.tutorialspoint.com/mysql
Git tutorial - https://try.github.io/levels/1/challenges/1
Code Igniter user guide - http://www.codeigniter.com/user_guide
Smarty 3 manual - http://www.smarty.net/docs/en
jQuery API - http://api.jquery.com
Bootstrap documentation - http://getbootstrap.com/css
Font Awesome icon list - http://fontawesome.io/icons
Amazon - https://www.amazon.com
Ebay - http://www.ebay.com
Lazada - http://www.lazada.com.my
Lelong - http://www.lelong.com.my
26
CHAPTER 5
5. ANALYSIS AND DESIGN
5.1 Analysis
Analysis on a system can be considered as a process to study business or procedure to
identify its goals and purpose. Traditionally, the analysis also involved with the
application development process to recreate the system in the most efficient manner.
The analysis is done on the overall progress of the system including data gathering and
data processing. The system is analysed from time to time to find out the errors or
problems of the system. Errors or problems that are identified will be corrected and
fixed.
27
A project determined feasible at one point might become infeasible at a later
time in the life cycle. This study can save the business time and money on a project
that may not benefit the organisation. There are the three types of feasibility study
involved in this project namely, technical feasibility, economic feasibility, and
operational feasibility.
The essential software used to code the project is Sublime Text 3. Sublime Text
3 is a rich text editor has better functionality compared to the regular notepad.
However, it does not have a built-in debugger or compiler. This is not a problem as
the code can easily be tested using any modern web browser, such as Mozilla Firefox.
The system also requires Apache as its web server software.
The main scripting language for the system is PHP but coding a system from
scratch is very time-consuming. Thus, a PHP framework Code Igniter is used to
simplify the process of programming. Code Igniter is designed with Model-View-
Controller or MVC architecture. The model especially used to manage a table in the
database. It comes with various benefits. For example, Code Igniter ensures that
database injection is prevented by using its active record. Active record is a feature of
Code Igniter that simplifies and securely cleans the input when the code access the
database. The controller is the core of the PHP code that calls the function within the
model and displays it in the view. Smarty template engine is implemented on top of
Code Igniters view to separate the PHP codes and HTML markups better.
28
JavaScript vital to show the user some level of interactivity. However, it is
pointless to use plain JavaScript for this purpose. To save time developing the system,
jQuery JavaScript library is implemented to the system. jQuery comes with various
API that simplifies the process to capture events such as button submit or AJAX call.
Another related library that was implemented is the Bootstrap. Bootstrap is an
enhancement to the standard HTML by adding a stylised CSS file and a comprehensive
JavaScript file. It comes with features such as grid system that organised HTMLs
<div> in a proper grid, standardised buttons, multiple colour scheme for various
HTML elements, and so forth.
29
party service from a non-profit organisation by the name of Apache Friends. This
organisation pre-compiled Apache, PHP, and MySQL into a single installation.
The supporting scripts of the development are also open source codes that are
freely available to the public. The supporting scripts are CodeIgniter framework,
Smarty template engine, jQuery javascript library, Bootstrap HTML, Javascript and
CSS framework, and Font Awesome. Git is also a freely available for the public use.
For the purpose of the project, a private git repository was registered on GitHub
(www.github.com) an online project host using it. The project is accessible using the
URL of www.github.com/hafizbistar/iplaza.
Other supporting software is the text editor and the FTP client. The text editor
used to develop the software is Sublime Text 3 which costs USD $70 or roughly RM
300. If the company would like to save this particular cost, the text editor could be
replaced with an alternative open source text editor named Notepad++. The FTP client
being used is called FileZilla FTP client. It is also a free and open source. The FTP
client is required to upload the files to the server. The last costs for the software are
the operating system of the server that would mount to RM 583.
30
There are significant savings to the expenses due to the use of open source
codes. However, the hardware does not come for free. The cost of the hardware is
shown in the table above. The total expenses of the server computer based on the
specifications are RM 3517. Including the costs of the software, the initial total amount
is RM 4400. Finally, there is a monthly maintenance cost for the Internet. Unifi for
business provide the service of 30Mbps Internet bandwidth for RM 299 per month.
31
5.1.1.3.1 Analysis on the existing system
Items to
Purchase
Item Items,
Items
UPS Code Description Prices,
& Prices
and Prices Subtotals
32
5.2 Design
Designing is the most important phase of software development. It requires careful
planning and thinking on the part of the system designer. Designing software means
to plan how the various parts of the software are going to achieve the desired goal. It
should be done with paramount care because if the phase contains any error, then that
will affect the performance of the system. As a result, it may take further processing
time, more response time, extra coding workload, and so forth.
1 1
Customer Has Accounts
33
b. Entity Relationship between Administrator and Accounts
1 1
Administrator Has Accounts
1 M
Administrator Manages Products
1 M
Administrator Uploads Images
1 M
Products Has Images
1 M Purchase
Customer Places
Orders
Figure 5.7 Entity Relationship between Customer and Purchase Orders
34
g. Entity Relationship between Customer and Payment Gateway
1 M Payment
Customer Pays
Gateway
Figure 5.8 Entity Relationship between Customer and Payment Gateway
1 M
Administrator Manages Categories
1 M
Administrator Manages Brands
1 M
Administrator Manages Tax Codes
1 1
Products Has Categories
35
l. Entity Relationship between Products and Brands
1 1
Products Has Brands
1 1
Products Has Tax Codes
Purchase 1 M
Contains Products
Orders
Figure 5.16 Entity Relationship between Purchase Orders and Products
36
Entity Relationship Diagram
1 1
Customer Has Accounts Has Administrator
1 1
1
1 1
M
Places Pays Images Uploads
M M M
Purchase Payment
Has Manages
Orders Gateway
1 1 1
Process
M
Payments Products
M
1
1 M
Contains Has Categories
1 M
Brands
1 M
Tax Codes
37
5.2.2 Data Flow Diagram (DFD)
A system typically has information flowing through it. The information is modified by
a series of processes within the system. A data flow diagram takes a business process
and activities and applies them in a clear representation of the flow of data from the
external entities into a single system by transferring and saving data from one process
to another. The system could be decomposed into subsystems, and each subsystem
can be further decomposed into lower-level subsystems. This subsystem represents a
process or activity in which data is processed.
Data flow diagrams can be drawn at any level. The highest level also referred
to as a context diagram as shown in Figure 5.18 with a massive central process that
incorporates everything inside the scope of the system. It shows how the system will
receive and send data to the external entities involved. The context diagram defines
the scope of the system as the border between what is in the system and what is outside
of it.
Next, a Level 0 diagram is plotted. This diagram focuses on the single process
that was depicted in the context diagram by zooming in on its contents and
demonstrates what it does in more detail. Because the process is simply expanding the
single process, the same outside entities remain. Every new process is given a number,
the importance of which will become clear. Figure 5.19 shows the Level 0 diagram for
the proposed system.
The next step in charting the data flow diagram is to show more details for any
process above that requires additional explanation. The numbers previously assigned
to processes are used to link them to their corresponding diagrams. These are called
Level 1 diagrams or child diagrams, with the 1 referring to how far into the system
the diagram is focused upon. This process of refinement is repeated until all details of
the system are properly described. More missing figures show all the child diagrams
of the iPlaza.
38
Figure 5.18 Context Diagram of iPlaza: Online E-Commerce System
39
Figure 5.19 Level-0 DFD of iPlaza: Online E-Commerce System
40
Figure 5.20 Level-1 DFD for Process 1.0 of iPlaza: Online E-Commerce System
Figure 5.21 Level-1 DFD for Process 2.0 of iPlaza: Online E-Commerce System
Figure 5.22 Level-1 DFD for Process 3.0 of iPlaza: Online E-Commerce System
41
Figure 5.23 Level-1 DFD for Process 4.0 of iPlaza: Online E-Commerce System
42
Figure 5.24 Level-1 DFD for Process 5.0 of iPlaza: Online E-Commerce System
43
Figure 5.25 Level-1 DFD for Process 6.0 of iPlaza: Online E-Commerce System
44
5.2.3 Data Dictionary
A data dictionary in computing terms is the basis of information in which the system
data is defined in a logical way. The data dictionary is the centralised and structured
source of information for business applications. The elements that make up a
dictionary are known as metadata. Metadata is the computing term for the data whose
function is to describe other data. The data of the dictionary is not the operational data
which tells a customer's address or an article price. However, it is a type of data that is
meant to define the semantic or syntactic properties of the operational data, such as the
type, length, and relationships (Hernandez, 2000).
45
5.2.3.1 Data Store
D1
Data Store Name Accounts
Description Stores user details for both the customers and administrators.
The accounts are distinguished by user_status
Data Element user_id, user_email, user_pass, user_salt, user_hash,
user_status, user_firstname, user_lastname, user_mphone,
user_hphone, user_bill_address, user_bill_city,
user_bill_postcode, user_bill_statecode,
user_bill_countrycode, user_ship_address, user_ship_city,
user_ship_postcode, user_ship_statecode,
user_ship_countrycode, user_register_date
Data Flow Input Basic Account Information, Account Information, Validation
Information, Admin Data
Data Flow Output Account Records, Admin Records
Table 5.2 Data Store D1
46
user_ship_statecode = [KUL | LBN | PJY | JHR | KDH | KTN | MLK | NSN | PHG |
PRK | PLS | PNG | SBH | SRW | SGR | TRG]
user_ship_countrycode = [MY]
user_register_date = [Year + Month + Day + Hour + Minute + Seconds]
D2
Data Store Name Orders
Description Stores orders details.
Data Element or_id, user_id, or_unique, or_ship_method, or_ship_track,
or_ship_fee, or_ship_status, or_payment_method,
or_payment_status, or_handling_fee, or_sub_total,
or_grand_total, or_order_status, or_datetime, oa_id, order_id,
oa_type, oa_firstname, oa_lastname, oa_address,
oa_postcode, oa_city, oa_statecode, oa_phone, oc_id,
order_id, oc_text, oc_poster, oc_datetime, op_id, order_id,
product_id, op_qty, op_current_price, op_sell_price,
op_tax_code, op_tax_amt, op_tax_rate, op_subtotal
Data Flow Input Orders ID, Orders Information
Data Flow Output Orders Records, Updated Orders Records
Table 5.3 Data Store D2
47
or_order_status = [New | Completed | Cancelled | Rejected]
or_datetime = [Year + Month + Day + Hour + Minute + Seconds]
oc_datetime = [Year + Month + Day + Hour + Minute + Seconds]
oa_statecode = [KUL | LBN | PJY | JHR | KDH | KTN | MLK | NSN | PHG | PRK |
PLS | PNG | SBH | SRW | SGR | TRG]
oa_phone = [Area Code + Local Number]
D3
Data Store Name Products
Description Stores products details.
Data Element pdt_id, brand_id, category_id, tax_id, pdt_skucode,
pdt_name, pdt_short_desc, pdt_long_desc, pdt_buy_price,
pdt_sell_price, pdt_publish, pdt_condition, pdt_featured,
pdt_discount_rate, pdt_discount_startdate,
pdt_discount_enddate, pdt_date_add, pdt_date_upd
Data Flow Input Product ID, Product Information
Data Flow Output Product Records, Updated Product Records
Table 5.4 Data Store D3
48
D4
Data Store Name Categories
Description Stores categories detail to be used in conjuncture with
Products table. Joins with itself to get its child-parent
relationship.
Data Element cat_id, cat_name, cat_parent
Data Flow Input Categories ID, Categories Information
Data Flow Output Categories Records, Updated Categories Records
Table 5.5 Data Store D4
D5
Data Store Name Brands
Description Stores brands details to be used in conjuncture with Products
table. Joins with Image table to obtain the branding logo
Data Element br_id, br_name, image_id
Data Flow Input Brands ID, Brands Information
Data Flow Output Brands Records, Updated Brands Records
Table 5.6 Data Store D5
49
D6
Data Store Name Tax_Codes
Description Stores tax codes details to be used in conjuncture with
Products table.
Data Element tc_id, tc_code, tc_desc, tc_rate
Data Flow Input Tax Codes ID, Tax Codes Information
Data Flow Output Tax Codes Records, Updated Tax Codes Records
Table 5.7 Data Store D6
D7
Data Store Name Images
Description Stores images details to be used in conjuncture with Products
table and Brands table.
Data Element img_id, refer_type, refer_id, img_f_name, img_e_name,
img_filetype, img_size, img_width, img_height
Data Flow Input Images ID, Images Information
Data Flow Output Images Records, Updated Images Records
Table 5.8 Data Store D7
50
5.2.3.2 Data Flow DFD Level 0
Data Flow Basic Account Data
Description Basic Account Data that are required for account registration.
Source Customers
Destination Process 1.0 (Create Account)
Data Element user_id, user_email, user_pass, user_firstname,
user_lastname, user_mphone
Table 5.9 Data Flow Basic Account Data
51
Data Flow Update Information
Description The confirmation information that the update is either
successful or failure due to error.
Source Process 2.0 (Update Account)
Destination Customers
Data Element user_id, user_email, user_pass, user_status, user_firstname,
user_lastname, user_mphone, user_hphone,
user_bill_address, user_bill_city, user_bill_postcode,
user_bill_statecode, user_bill_countrycode,
user_ship_address, user_ship_city, user_ship_postcode,
user_ship_statecode, user_ship_countrycode,
user_register_date
Table 5.12 Data Flow Update Information
52
Data Flow Customer Information
Description Customer Information.
Source Process 3.0 (Validate Account)
Destination Customer
Data Element user_id, user_email, user_pass, user_status, user_firstname,
user_lastname, user_mphone, user_hphone,
user_bill_address, user_bill_city, user_bill_postcode,
user_bill_statecode, user_bill_countrycode,
user_ship_address, user_ship_city, user_ship_postcode,
user_ship_statecode, user_ship_countrycode,
user_register_date
Table 5.15 Data Flow Account Information
53
Data Flow Orders Confirmation Information
Description Confirms the customers with the purchase order.
Source Process 4.0 (Purchase Product)
Destination Customer
Data Element or_id, user_id, or_unique, or_ship_method, or_ship_track,
or_ship_fee, or_ship_status, or_payment_method,
or_payment_status, or_handling_fee, or_sub_total,
or_grand_total, or_order_status, or_datetime, oa_id, order_id,
oa_type, oa_firstname, oa_lastname, oa_address,
oa_postcode, oa_city, oa_statecode, oa_phone, oc_id,
order_id, oc_text, oc_poster, oc_datetime, op_id, order_id,
product_id, op_qty, op_current_price, op_sell_price,
op_tax_code, op_tax_amt, op_tax_rate, op_subtotal, pdt_id,
brand_id, category_id, tax_id, pdt_skucode, pdt_name,
pdt_short_desc, pdt_long_desc, pdt_buy_price,
pdt_sell_price, pdt_publish, pdt_condition, pdt_featured,
pdt_discount_rate, pdt_discount_startdate,
pdt_discount_enddate, pdt_date_add, pdt_date_upd
Table 5.18 Data Flow Orders Confirmation Information
54
Data Flow Payment Data
Description Other supporting information to complete purchase order.
Source Customer
Destination Process 4.0 (Purchase Product)
Data Element or_id, or_unique, user_email
Table 5.20 Data Flow Payment Data
55
Data Flow New Business Data
Description The various information that is part of the main content of the
system.
Source Administrator
Destination Process 5.0 (Manage Business Information)
Data Element or_id, user_id, or_unique, or_ship_method, or_ship_track,
or_ship_fee, or_ship_status, or_payment_method,
or_payment_status, or_handling_fee, or_sub_total,
or_grand_total, or_order_status, or_datetime, oa_id, order_id,
oa_type, oa_firstname, oa_lastname, oa_address,
oa_postcode, oa_city, oa_statecode, oa_phone, oc_id,
order_id, oc_text, oc_poster, oc_datetime, op_id, order_id,
product_id, op_qty, op_current_price, op_sell_price,
op_tax_code, op_tax_amt, op_tax_rate, op_subtotal, pdt_id,
brand_id, category_id, tax_id, pdt_skucode, pdt_name,
pdt_short_desc, pdt_long_desc, pdt_buy_price,
pdt_sell_price, pdt_publish, pdt_condition, pdt_featured,
pdt_discount_rate, pdt_discount_startdate,
pdt_discount_enddate, pdt_date_add, pdt_date_upd,
cat_name, cat_parent, br_name, image_id, tc_code, tc_desc,
tc_rate, refer_type, refer_id, img_f_name, img_e_name,
img_filetype, img_size, img_width, img_height
Table 5.23 Data Flow New Business Information
56
Data Flow Updated Business Info
Description The confirmation of either the successful or failure action to
create, update, or remove the related business information.
Source Process 5.0 (Manage Business Information)
Destination Administrator
Data Element or_id, user_id, or_unique, or_ship_method, or_ship_track,
or_ship_fee, or_ship_status, or_payment_method,
or_payment_status, or_handling_fee, or_sub_total,
or_grand_total, or_order_status, or_datetime, oa_id, order_id,
oa_type, oa_firstname, oa_lastname, oa_address,
oa_postcode, oa_city, oa_statecode, oa_phone, oc_id,
order_id, oc_text, oc_poster, oc_datetime, op_id, order_id,
product_id, op_qty, op_current_price, op_sell_price,
op_tax_code, op_tax_amt, op_tax_rate, op_subtotal, pdt_id,
brand_id, category_id, tax_id, pdt_skucode, pdt_name,
pdt_short_desc, pdt_long_desc, pdt_buy_price,
pdt_sell_price, pdt_publish, pdt_condition, pdt_featured,
pdt_discount_rate, pdt_discount_startdate,
pdt_discount_enddate, pdt_date_add, pdt_date_upd,
cat_name, cat_parent, br_name, image_id, tc_code, tc_desc,
tc_rate, refer_type, refer_id, img_f_name, img_e_name,
img_filetype, img_size, img_width, img_height
Table 5.24 Data Flow Updated Business Info
57
Data Flow Business Data
Description Business Information that is used to filter all available data
into its parts using specific divider or separator.
Source Customer
Destination Process 6.0 (Display Business Information)
Data Element user_id, br_id, cat_id, tc_id, refer_type, refer_id, img_id
Table 5.25 Data Flow Business Data
58
5.2.3.3 Data Process
Process Name Process 0 ( iPlaza: Online E-Commerce System)
Description This is the major process where the customer makes their
online purchase. This process also involves an Administrator
and PayPal role.
Data Flow Input Product Purchase Data, Orders Data, Payment Data, Validation
Data, Basic Account Data, Account Data, Business Data, New
Business Data, Payment Confirmation Data
Data Flow Output Account Information, Orders Confirmation Information,
Business Information, Update Information, Register
Information, Updated Business Information, Payment
Information
Table 5.27 Data Process for Context Diagram
59
Process Name Process 3 (Validate Account)
Description This process cross checks the customers authentication
information with the information within the database.
Data Flow Input Validation Data, Account Records
Data Flow Output Customers Information, Administrator Information, Validation
Information
Table 5.30 Data Process for Process 3.0
60
Process Name Process 6 (Display Business Information)
Description This process handles the other pages. It is used to display the
business information of the system.
Data Flow Input Business Data, Orders Records, Tax Codes Records, Brands
Records, Categories Records, Products Records, Images
Records
Data Flow Output Business Information, Orders ID, Tax Codes ID, Brands ID,
Categories ID, Products ID, Images ID
Table 5.33 Data Process for Process 6.0
61
Data Element Name user_pass
Description Accounts password.
Data Type Varchar
Data Size 50
Format Character
Encoding -
Table 5.36 Data Element user_pass
62
Data Element Name user_status
Description This data element sets the accounts role.
Data Type Int
Data Size 11
Format 0 or 1024
Encoding -
Table 5.39 Data Element user_status
63
Data Element Name user_mphone
Description Accounts mobile phone number.
Data Type Int
Data Size 16
Format XXXXXXXXXXXXXXXX
Encoding X : integer
Table 5.42 Data Element user_mphone
64
Data Element Name user_bill_city
Description Accounts billing city.
Data Type Varchar
Data Size 20
Format Characters
Encoding -
Table 5.45 Data Element user_bill_city
65
Data Element Name user_bill_countrycode
Description Accounts billing country in the form of code.
Data Type Varchar
Data Size 3
Format Character
Encoding -
Table 5.48 Data Element user_bill_countrycode
66
Data Element Name user_ship_postcode
Description Accounts shipping postcode.
Data Type Int
Data Size 7
Format XXXXXXX
Encoding X : Integer
Table 5.51 Data Element user_ship_postcode
67
Data Element Name user_register_date
Description The date and time when the account was registered.
Data Type DateTime
Data Size -
Format Y-m-d H:i:s
Encoding Y : year
m : month
d : day
h : hour
i : minute
s : second
Table 5.54 Data Element user_register_date
68
Data Element Name or_ship_track
Description The orders courier tracking number
Data Type Varchar
Data Size 50
Format Characters
Encoding -
Table 5.57 Data Element or_ship_track
69
Data Element Name or_payment_status
Description The orders payment status
Data Type Varchar
Data Size 15
Format Character
Encoding -
Table 5.60 Data Element or_payment_status
70
Data Element Name or_sub_total
Description The orders total of the price without the handling, tax, and
shipping charges.
Data Type Decimal
Data Size 10,2
Format XXXXXXXXXX.XX
Encoding X : Integer
Table 5.63 Data Element or_sub_total
71
Data Element Name or_datetime
Description The date and time when the orders were placed
Data Type DateTime
Data Size -
Format Y-m-d H:i:s
Encoding Y : year
m : month
d : day
h : hour
i : minute
s : second
Table 5.66 Data Element - or_datetime
72
Data Element Name oa_type
Description The orders address type
Data Type TinyInt
Data Size 4
Format X
Encoding X : Integer
0 = none
1 = shipping
2 = billing
3 = shipping and billing
Table 5.68 Data Element oa_type
73
Data Element Name oa_address
Description The customers current address for the order.
Data Type Varchar
Data Size 255
Format Character
Encoding -
Table 5.71 Data Element oa_address
74
Data Element Name oa_statecode
Description The customers current state code for the order.
Data Type Varchar
Data Size 3
Format Character
Encoding -
Table 5.74 Data Element or_statecode
75
Data Element Name oc_text
Description The comment messages.
Data Type Text
Data Size 65535
Format Character
Encoding -
Table 5.77 Data Element oc_text
76
Data Element Name op_id
Description The orders product identity number.
Data Type Int
Data Size 11
Format XXXXXXXXXXX
Encoding X : integer
Table 5.80 Data Element op_id
77
Data Element Name op_qty
Description The orders products quantity.
Data Type Int
Data Size 11
Format XXXXXXXXXXX
Encoding X : integer
Table 5.83 Data Element op_qty
78
Data Element Name op_tax_code
Description The orders products tax code.
Data Type Varchar
Data Size 5
Format Characters
Encoding -
Table 5.86 Data Element op_tax_code
79
Data Element Name op_subtotal
Description The orders products total price.
Data Type Decimal
Data Size 10,2
Format XXXXXXXXXX.XX
Encoding X : Integer
Table 5.89 Data Element op_subtotal
80
Data Element Name category_id
Description The products category id.
Data Type Int
Data Size 11
Format XXXXXXXXXXX
Encoding X : Integer
Table 5.92 Data Element category_id
81
Data Element Name pdt_name
Description The products name.
Data Type Varchar
Data Size 15
Format Character
Encoding -
Table 5.95 Data Element pdt_name
82
Data Element Name pdt_buy_price
Description The products costs.
Data Type Decimal
Data Size 10,2
Format XXXXXXXXXX.XX
Encoding X : Integer
Table 5.98 Data Element pdt_buy_price
83
Data Element Name pdt_condition
Description The products condition.
Data Type TinyInt
Data Size 4
Format X
Encoding X : integer
0 = new
1 = used
2 = refurbished
Table 5.101 Data Element pdt_condition
84
Data Element Name pdt_discount_startdate
Description The products discounts start date.
Data Type DateTime
Data Size -
Format Y-m-d H:i:s
Encoding Y : year
m : month
d : day
h : hour
i : minute
s : second
Table 5.103 Data Element pdt_discount_startdate
85
Data Element Name pdt_date_add
Description The products date and time the product added to the
database.
Data Type DateTime
Data Size -
Format Y-m-d H:i:s
Encoding Y : year
m : month
d : day
h : hour
i : minute
s : second
Table 5.105 Data Element pdt_date_add
86
Data Element Name cat_id
Description The category identity number.
Data Type Int
Data Size 11
Format XXXXXXXXXXX
Encoding X : Integer
Table 5.107 Data Element cat_id
87
Data Element Name br_id
Description The brandss identity number.
Data Type Int
Data Size 11
Format XXXXXXXXXXX
Encoding X : Integer
Table 5.110 Data Element br_id
88
Data Element Name tc_id
Description The tax codes identity number.
Data Type Int
Data Size 11
Format XXXXXXXXXXX
Encoding X : Integer
Table 5.113 Data Element tc_id
89
Data Element Name tc_rate
Description The tax codes rate.
Data Type Decimal
Data Size 3,2
Format XXXXXXXXXX.XX
Encoding X : Integer
Table 5.116 Data Element tc_rate
90
Data Element Name refer_id
Description The images link ID based on the refer type.
Data Type Int
Data Size 11
Format XXXXXXXXXXX
Encoding X : Integer
Table 5.119 Data Element refer_id
91
Data Element Name img_filetype
Description The imagess file type.
Data Type Varchar
Data Size 5
Format [dot]XXXX
Encoding [dot] : .
X : any alphabetical characters
Table 5.122 Data Element - img_filetype
92
Data Element Name img_height
Description The images width in pixel.
Data Type Int
Data Size 11
Format XXXXXXXXXXX
Encoding X : Integer
Table 5.125 Data Element img_height
93
6. IMPLEMENTATION
94
6.1.1 Module 1: iPlaza Online E-Commerce System
95
This image is the main page for the system. The customers can browse for the products
that they want to be sorted by categories or brands. They could also register or login
to the system. The page also includes a few widgets that show the special discounts,
featured and latest products. This widget is shown in most of the pages within the
system.
96
Figure 6.3 Login page of iPlaza: Online E-Commerce System
Figure 6.2 displays the page where the customer could register with the system. The
client is required to fill in some of their personal details to register. A returning
customer can login using the login form as shown in Figure 6.3. A link to the register
page is also provided on this page. The page illustrated in Figure 6.4 provides the
customer with the option to update their personal information. There are more personal
details on this page compared to the register page.
97
Figure 6.4 Customers account page of iPlaza: Online E-Commerce System
98
Figure 6.5 Products list by Clothing categories page of iPlaza: Online E-
Commerce System
99
Figure 6.5 shows the list of goods within the clothing category. There is also an option
to view the products within a sub-category.
100
Figure 6.7 Products list by Reverieuomo brands page of iPlaza: Online E-
Commerce System
Figure 6.7 shows the list of products within the Reverieumono brands. The brand lists
are presented in Figure 6.7Figure 6.6. Figure 6.8 shows the details of a floral linen
long sleeve short mini dress product. This page features an image gallery of the
product, descriptions, pricing details, and other information such as the category and
brands of the product. The pricing details also show the amount of discounts by
percentage, original price, and discounted price. The Figure 6.9 shows the page
responding to the customers interaction to add a product to the virtual cart.
101
Figure 6.8 Detailed product page of iPlaza: Online E-Commerce System
102
Figure 6.9 Adding product to the cart
The system requires the customers to login or register before purchasing any product.
This is displayed by notification on the checkout page as shown in Figure 6.10. The
Figure 6.11 shows the complete checkout page. The customer can update any
necessary personal information and the quantity of the purchased products. They could
also send a comment regarding the purchase for any specific request. The checkout
103
process will only proceed if the user accepts the terms and agreement of the system
and the information provided are validated.
104
Figure 6.12 PayPals Credit and debit card payment options
105
Figure 6.13 Pay using a PayPal account
106
Figure 6.15 Confirmation of payment by PayPal
Figures 6.12, 6.13, 6.14, and 6.15 shows the pages from PayPal. The Figure 6.12 is a
form that can need to be fill if the customer wants to pay using Credit or Debit card.
The Figure 6.13 is a login form for PayPal account. This method requires the PayPal
account owners to have enough account balance in their PayPal account initially. The
Figure 6.14 is a review page that displays the information that the user has entered
previously. It also acts as a confirmation that the customers want to pay for the product.
The Figure 6.15 shows that PayPal has accepted the payment process.
107
Figure 6.16 Order Information page of iPlaza: Online E-Commerce System
The Figure 6.16 shows the customers order information. It consists of the payment
status, shipping status, addresses, products, and prices. On the right panel, there is a
link to the order history.
108
Figure 6.17 Order history page of iPlaza: Online E-Commerce System
The Figure 6.17 lists out a table of previous orders of the customer. This orders shown
here is only by the current logged-in customer. The Figures 6.18, 6.19, 6.20, and 6.21
are the support pages of the system.
109
Figure 6.18 Terms and Condition page of iPlaza: Online E-Commerce System
110
Figure 6.20 Delivery Information page of iPlaza: Online E-Commerce System
111
6.1.2 Module 2: Administrators iPlaza Online E-Commerce System
112
Figure 6.23 Add new category
The Figure 6.22 shows the manage categories page. The administrator can update any
category on this page. There is also a New button that will display the add categories
panel as shown in Figure 6.23. This manage page also has checkboxes that are used to
marked categories to be deleted. Clicking the Delete button will pop-up a confirmation
as shown in Figure 6.24.
113
Figure 6.25 Manage brands page of iPlaza: Online E-Commerce System
114
Figure 6.26 Add new brands
The Figure 6.25 shows the manage brands page. The administrator can update any
brands on this page. There is also a New button that will display the add brands panel
as shown in Figure 6.26. This manage page also has checkboxes that are used to
marked brands to be deleted. Clicking the Delete button will pop-up a confirmation as
shown in Figure 6.27.
115
Figure 6.28 Manage tax codes page of iPlaza: Online E-Commerce System
116
Figure 6.29 Add new tax codes
The Figure 6.28 shows the manage tax code page. The administrator can update any
tax code on this page. There is also a New button that will display the add tax code
panel as shown in Figure 6.29. This manage page also has checkboxes that are used to
marked tax codes to be deleted. Clicking the Delete button will pop-up a confirmation
as shown in Figure 6.30.
117
Figure 6.31 Manage products page of iPlaza: Online E-Commerce System
118
Figure 6.32 Delete products confirmation
The Figure 6.31 shows the manage products page. This manage page also has
checkboxes that are used to marked products to be deleted. Clicking the Delete button
will pop-up a confirmation as shown in Figure 6.30. There is also a New and Edit
button that will redirect the users to the respective pages. A pencil icon represents the
Edit button. The add product page is shown in Figure 6.33.
119
Figure 6.33 Add products page of iPlaza: Online E-Commerce System
120
Figure 6.34 Edit products basic details page
121
Figure 6.35 Edit products pricing page
122
Figure 6.36 Edit products image gallery page
123
Figure 6.37 Products image delete confirmation
The Figure 6.34 shows the basic details of the edit product page. The form allows the
administrator to update the basic details of the product. The Figure 6.35 shows the edit
pricing page for the product. There is also an option to set discounts for a duration of
time. The Figure 6.36 shows the uploaded image for the product. The administrator
can upload new images to this page. Hovering the pictures will display a trashcan icon
button which functions as a delete function. Clicking the trashcan icon will trigger a
confirmation as shown in Figure 6.37.
124
Figure 6.38 Manage orders page of iPlaza: Online E-Commerce System
125
The Figure 6.38 shows the manage orders page. Unlike other manage pages, this page
does not have checkboxes to marked orders to be deleted. Instead, it is replaced by a
trashcan icon button. Clicking this button will pop-up a confirmation as shown in
Figure 6.39. There is also an Edit button which is represented by a pencil icon that will
redirect the users to the edit orders page.
126
Figure 6.41 Edit orders shipping details
127
Figure 6.42 Edit orders product list
128
Figure 6.43 Edit orders comments
The Figure 6.40 shows the basic details of an orders page. The administrator could
update the core information of an order on this page. Figure 6.41 shows the shipping
particulars of an order. It is important that the administrator updates the tracking
number and shipping status after shipping the product. The Figure 6.42 displays the
list of products that the customer purchased. The Figure 6.43 shows the comments in
case the clients has specific requirements.
129
Figure 6.44 Error message example
The Figure 6.44 and Figure 6.45 is an example of the messages of the system. Output
messages will display in most user interaction with the system.
130
6.2 Integrate and Program the Necessary System
The system will apply MySQL as the main Relational Database Management System
(RDBMS). The Code Igniter framework made using MySQL is very easy to
implement. It only requires the database to be created using any MySQL manager such
as phpMyAdmin or Adminer. Then, a configuration file in Code Igniter framework is
updated to follow the connection information of the database. The database system
must be carefully designed to meet the requirements of the system.
Figure 6.46 shows the graphical interface of how to create a database using Adminer.
The configuration of the database connection in Code Igniter framework is shown in
Figure 6.47.
131
Figure 6.47 Code Igniter framework database configuration settings
132
6.3 Prepare Database Management System
The database designing phase is not an easy task. It requires a lot of effort in planning
and testing. This is due to the trade-off made between ease of use and data redundancy
in storing data in tables. Ideally, a specific data field should exist only on one table.
For example, customers name should exist only on Accounts table. However,
administrators also has his name. Storing administrators name on a different table
creates a redundancy in information. To reduce the redundancy of information between
customers and administrators, it is better to combine both data into a single table with
a single column used as a flag marker; setting this column as 0 will store the
information as customer, while storing this column as 1024 will store the data as
administrator.
The table design must be normalized to their most optimum normalization form
to avoid redundancy and duplication of data. One of the normalization done was to the
Orders table. Orders table was separated into four tables. Three of the tables are linked
to the main table with one to many relationships. Each table is also designed with their
own primary keys. There are a total of 10 tables in iPlaza: Online E-Commerce
System.
133
Figure 6.48 The relationships of the table designs of iPlaza: Online E-Commerce
System
Figure 6.48 illustrates the relationships between 10 tables of the iPlaza: Online E-
Commerce System. There are two type of relationship, one-to-one and one-to-many
relationship.
134
7. TESTING
Various types of testing had been done on iPlaza Online E-Commerce System
to ensure the reliability of the system. The testing is integration testing plan, system
testing plan and acceptance testing plan.
135
Result of Integration Testing Plan
Event Expectation Results Remarks
Does the system connect to database? Yes Working -
Does the customer able to register an Yes Working -
account?
Does the customer able to log in Yes Working -
successfully?
Can the customer update their profile? Yes Working -
Can the customer view their past orders? Yes Working -
Can the customer view the details of his past Yes Working -
orders?
Can the customer view the categories? Yes Working -
Can the customer view the brands? Yes Working -
Can the customer view the product lists by Yes Working -
categories?
Can the customer view the product lists by Yes Working -
brands?
Can the customer view the product details? Yes Working -
Can the customer add product to the virtual Yes Working -
cart?
Can the customer view the checkout page? Yes Working -
Can the customer update the checkout page? Yes Working -
Does the checkout page redirect the Yes Working -
customer to PayPal?
Does PayPal redirect the customer to the Yes Working -
order information after payment completion?
Table 7.1 Integration Testing Plan for iPlaza Online E-Commerce System
136
Event Expectation Results Remarks
Can the administrator login to the system? Yes Working -
Can the administrator create, view, update Yes Working -
and delete categories?
Can the administrator create, view, update Yes Working -
and delete brands?
Can the administrator create, view, update Yes Working -
and delete tax codes?
Can the administrator create, view, update Yes Working -
and delete products?
Can the administrator view, update and Yes Working -
delete orders?
Table 7.2 Integration Testing Plan for Administrators iPlaza Online E-
Commerce System
137
Result of System Testing Plan
Event Expectation Results Remarks
Does the database tables work Yes Working -
properly?
Does the home page loads properly? Yes Working -
Does the login and register page Yes Working -
loads properly?
Does the category list loads properly? Yes Working -
Do the brands list loads properly? Yes Working -
Does the products list by Yes Working Missing a
category/brands loads properly? search function
to simplify the
process
Does the product details page loads Yes Working -
properly?
Does the checkout page loads Yes Working -
properly?
Does the order information page Yes Working -
loads properly?
Do the other pages loads properly? Yes Working -
Table 7.3 System Testing Plan for iPlaza Online E-Commerce System
138
Event Expectation Results Remarks
Does the database tables work Yes Working -
properly?
Can the administrator operate Yes Working Missing a search
the manage categories page? function to simplify
the process
Can the administrator operate Yes Working Missing a search
the manage brands page? function to simplify
the process
Can the administrator operate Yes Working Missing a search
the manage tax codes page? function to simplify
the process
Can the administrator operate Yes Working Missing a search
the manage products page? function to simplify
the process
Can the administrator view, Yes Working Missing a search
update and delete orders? function to simplify
the process
Does the hyperlink works Yes Working -
properly?
Table 7.4 System Testing Plan for Administrators iPlaza Online E-Commerce
System
139
Result of Integration Testing Plan
Event Expectation Results Remarks
Average loading speed Below 10 seconds Approved -
per page
Easy navigations The navigations menu Approved -
should ensure the
system is easy to
navigate
Font size Easy to view Approved -
Colour contrast Matching colours Approved -
Broken links None Approved -
Broken images None Approved -
Product search functions Using categories and Not There is no
brands to filter out Satisfied proper function
products to search the
database
Shopping cart functions Functioning properly Approved -
Pages presentation Consistent, formal and Approved -
simple
Table 7.5 Acceptance Testing Plan for iPlaza Online E-Commerce System
140
Event Expectation Results Remarks
Average loading speed Below 10 seconds Approved -
per page
Easy navigations The navigations menu Approved -
should ensure the
system is easy to
navigate
Font size Easy to view Approved -
Colour contrast Matching colours Approved -
Broken links None Approved -
Broken images None Approved -
Search functions Search the database Not This function is
using the system Satisfied missing
Pages presentation Consistent, formal and Approved -
simple
Table 7.6 Acceptance Testing Plan for Administrators iPlaza Online E-
Commerce System
141
8. SUGGESTIONS
The iPlaza: Online E-Commerce System has successfully implemented. Most of the
scope and objectives of the project had been achieved. However, there are a few issues
raised during the development of the whole project. Several possible improvements
for the future are:
142
c. Multiple Language Support
Although it was said that the system should implement the main language of a
given country on its domain, the system must implement a multiple language
support. For example, some individuals might prefer to use English as their
main language. Displaying a website completely in Malaysian language to such
persons will only deter them from coming to the site. This feature is imperative
in Malaysia because this country is a multi-racial nation with multiple
languages. It will be hard to capture audience that is not fluent in language
other than their mother tongue
e. Product Comparison
One of the most common issues of the customers is the limited amount of
capital that they are willing to spend. In some cases, they need to choose
between a few products. To simplify this process, it is imperative that the
system implements a comparison feature. The page will display the products
side by side with its attributes listed in a table. This feature will help the client
to compare the product directly hence, making it easier for them to make a
decision to purchase. Without this functionality, some customers might even
give up purchasing.
143
f. Stock Management
The system should also have a stock management feature. This feature will
ensure that the issue of no stock for any placed order is avoidable. The system
will dynamically update the database every time the customer purchase a
product.
h. Search Functions
The system is missing a critical feature; the ability to search any product easily.
Searching for a product by name will make the system much easier to use. The
search function should also have an advanced filter feature such as filter by
attributes, categories, brands, price range, and so forth. The advance search
feature will help the customer to find something they want specifically.
144
b. Secure Socket Layer (SSL)
SSL is a secure method to transfer information via the internet. Any website
that has implemented a proper SSL is usually marked with a green shield or
padlock icon on the address bar. Usually, any website that uses SSL will have
their domain link as https:// instead of http://. The main purpose of SSL is to
ensure the privacy of information sent through the internet is not sniffed by any
third party. The added privacy security will ensure the customer with the
reliability of the system.
145
9. CONCLUSION
The iPlaza: Online E-Commerce System is finally completed in time. This is a very
challenging work. However, I have gained a lot of new experiences and knowledge
regarding planning, designing, developing and implementing process within the
duration of the project development. There are a few setbacks that occurred during the
development process. For example, it is not feasible to implement Secure Socket Layer
(SSL), a premium server, and a domain to this project. There is also some technical
issues regarding how actual production server is being implemented. Most companies
use the various Linux operating system instead of Microsoft Windows, but due to the
technical difficulties, I have decided to forgo the implementation of the system in
Linux.
Regardless, this project has successfully met its main objective by providing a
platform to sell products through the internet. Electronic commerce naturally lacks
human warmth and sociability, since it is more impersonal, anonymous and automated
than traditional business. In some cases, these can also be positive traits of e-
commerce as some customers would like to have their purchase unknown to the local
area. The challenge now is to discover how human warmth and sociability can be
integrated through the web interfaces to impact customer attitudes towards online
shopping positively.
In conclusion, this project had been successfully implemented with the help of
advanced technologies. Hopefully, this system can benefit the public users. As a final
note, anything copyrighted in this project is used for education purpose.
146
REFERENCES
147
BIBLIOGRAPHY
148
APPENDIX A1
6. E-commerce is basically doing sales using a website over the internet. Do you have
experience with e-commerce?
Yes. I have sold multiple products over the internet.
149
8. How do you receive your payments?
I used a third party service; iPay88 and PayPal. I also received payments through bank
transfer and cheques.
10. Do you have any suggestions or idea on how to improve e-commerce in general?
I hope there are an easier software to use in order to conduct e-commerce when I first
started out.
150
APPENDIX A2
6. E-commerce is basically doing sales using a website over the internet. Do you have
experience with e-commerce?
Not really. I do however promote my store and products through Facebook. I joined a
local group that promotes local food. Sellers in the group mostly only sell within the
local area.
151
8. How do you receive your payments?
I accept only cash transactions.
10. Do you have any suggestions or idea on how to improve e-commerce in general?
I wonder if there are any software or system that I could use to sell my drinks. Online
website is not really my expertise. Id assume it will be hard to set up properly.
152
APPENDIX B
153
[] Socializing online
[] Chatting
[] Others
[] None
9. If your previous answer is no, what is your reason for not being interested in buying
from an online shop in the future?
[] Concern with security issue
[] Do not have credit or debit card
[] Lack confident with online shopping
[] No interaction with the seller
154
10. What are the problems that you face when you want to buy from a traditional shop?
[] Hard to find the product(s) that I want
[] Lack of product information
[] No time to go to the shop
[] No direct delivery service
[] Hard to get a parking space
155