Webocreation

Thursday, November 25, 2010

Introduction


CHAPTER ONE

Introduction


1.1 Background of the Project
Electronic commerce, commonly known as e-commerce or eCommerce consists of the buying and selling of products or services over electronic systems such as the Internet and other computer networks. E-commerce is fast gaining ground as an accepted and used business paradigm. More and more business houses are implementing web sites providing functionality for performing commercial transactions over the web. It is reasonable to say that the process of shopping on the web is becoming commonplace.

Nepal is a developing country and Information Communication and technology are playing their important roles in development of the country. By ecommerce we mean “buying and selling of products or services over electronic systems such as the Internet and other computer networks”. In truth in Nepal we have very less ways to pay our bills online or trade online. But that does not mean we cannot. There are new players on Nepali ground like Paybill and Esewa who wants to revolutionize the way Nepali ecommerce field is taken. With launch of these services many new startups can easily sell their products and services online. These services have lots of potential and we hope it will succeed and bring a change in the Nepali ecommerce field. There are big and old player like muncha.com in Nepal which is already popular for its money transfer and online shops.

The objective of this project is to develop a general purpose e-commerce store where any product (such as books, CDs, computers, mobile phones, electronic items, and home appliances) can be bought from the comfort of home through the Internet. However, for implementation purposes, this paper will deal with an online book store.
An online store is a virtual store on the Internet where customers can browse the catalog and select products of interest. The selected items may be collected in a shopping cart. At checkout time, the items in the shopping cart will be presented as an order. At that time, more information will be needed to complete the transaction.
Usually, the customer will be asked to fill or select a billing address, a shipping address, a shipping option, and payment information such as credit card number. An e- mail notification is sent to the customer as soon as the order is placed.

1.2 Objective of Project
The objectives for this project are:
1.      For the partial fulfillment of the requirement for the degree of Bachelor of Computer Information System (BCIS)
2.      Create a set of requirements for a Website CMS for e-shopping sites.
3.      Build and test a prototype of a Website CMS for small businesses based on the requirements found.
4.      Knowing when an item was saved or not saved in the shopping cart.
5.      Returning to different parts of the site after adding an item to the shopping cart.
6.      Easy scanning and selecting items in a list.
7.      Effective categorical organization of products.
8.      Simple navigation from home page to information and order links for specific products.
9.      Obvious shopping links or buttons.
10.  Minimal and effective security notifications or messages.
11.  Consistent layout of product information.




1.3 Features of the RupJayGri Shop:
1.      Small Shops or Complex Shops - RupJayGri can be used for the most complex shopping solutions and for the simplest shops. There is extreme flexibility.
2.      E-Commerce Solution - RupJayGri is more than a shopping cart. It is an e-commerce solution that can be used to sell 1 product or tens of thousands of products.
3.      Order tracking- RupJayGri Shop contains the order tracking system by which each and every order can be easily tracked.
4.      Customer Relationship Management system is implemented.
5.      E-marketing can be easily implemented.
6.      Full open source.
7.      Product reviews and detail information.

1.4 Limitations of the Project:
There are some limitations for the current system to which solutions can be provided as a future development:
1.      The system is not configured for multi- users at this time. The concept of transaction can be used to achieve this.
2.      The Website is not accessible to everyone. It can be deployed on a web server so that everybody who is connected to the Internet can use it.
3.      Credit Card validation is not done. Third party proprietary software can be used for validation check.
As for other future developments, the following can be done:
1.      The Administrator of the web site can be given more functionality, like looking at a specific customer’s profile, the books that have to be reordered, etc.
2.      Multiple Shopping carts can be allowed.


1.5 Future Enhancement:

1.5.1 Mailing

  • Mail to merchant, customer, suppliers and admin on order completion
  • Mail to Tell a friend
  • Mail on order tracking message to merchant

1.5.2 Back Office

  • Update any table via browser with Browser reporting
  • Bulk Updating from files and Bulk Imports
  • Display and print orders and Order tracking messages
  • Send message on order processed
  • Multiple administrators with different privileges

1.5.3 Reports

  • Sales reports, Search query reports, Total sales, Total sales by product and supplier
  • Affiliate Reports, Recurring Billing and  Content management

1.5.4 Anti-Hacker Security

  • Prevent hackers from order based on e-mail or IP address, Dual password login to Administration
  • Totally hide administration and Prevent certain countries from ordering
1.5.6 Others:
·         New - Multi Tier pricing for quantity discounts - offer full site wide discounts easily and Up sells in shopping cart
·         New - New Product promotional tool and YouTube movie integration

CHAPTER TWO
PROJECT DEVELOPMENT


2.1 Project Design
In order to design a web site, the relational database must be designed first. Conceptual design can be divided into two parts: The data model and the process model. The data model focuses on what data should be stored in the database while the process model deals with how the data is processed. To put this in the context of the relational database, the data model is used to design the relational tables. The process model is used to design the queries that will access and perform operations on those tables.
2.1.1 Data Model
A data model is a conceptual representation of the data structures that are required by a database. The first step in designing a database is to develop an Entity-Relation Diagram (ERD). The ERD serves as a blue print from which a relational database maybe deduced. Figure 1 shows the ERD for the project and later we will show the transformation from ERD to the Relational model.
 Entity A matches exactly one record in entity B and every record in B matches exactly one record in A. One to many means that every record in A matches zero or more records in B and every record in B matches exactly one record in A. If there is a one to many relationships between two entities, then these entities are represented as Associative Entities. In the Relational Database model, each of the entities will be transformed into a table. The tables are shown below along with the attributes
Fig 2.1: Data modeling of whole project

2.1.2 Database Design:
In this section, the basic structure of the tables composing the database for the project are shown along with information about primary and foreign keys.




























Fig 2.2: Schema Diagram of RupJayGri Shop


2.1.3 Process Model
A Process Model tells us about how the data is processed and how the data flows from one table to another to gather the required information. This model consists of the Functional Decomposition Diagram and Data Flow Diagram.

2.1.3.1 Functional Decomposition
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 2 shows the Functional Decomposition Diagram for this project.


Figure 2.3: Functional Decomposition Diagram

2.1.3.2 Data Flow Diagram (DFD)
Data Flow Diagrams show the flow of data from external entities into the system, and from one process to another within the system. There are four symbols for drawing a
DFD:
1.      Rectangles representing external entities, which are sources or destinations of data.
2.      Ellipses representing processes, which take data as input, validate and process it and output it.
3.      Arrows representing the data flows, which can either, be electronic data or physical items.
4.      Open-ended rectangles or a Disk symbol representing data stores, including electronic stores such as databases or XML files and physical stores such as filing cabinets or stacks of paper.

The Detailed DFD provides a more detailed and comprehensive view of the interaction among the sub-processes within the system.













Customer-Browse Context DFD:












Figure 2.4: Customer-Browse Context DFD

Customer - ShoppingCart Context DFD:











Figure 2.5: Customer – Shopping Cart Context DFD
Customer – Shopping Cart Detailed DFD:

Figure 2.6: Customer – Shopping Cart Detailed DFD



Customer-Authentication Context DFD:
Figure 2.7: Customer-Authentication Context DFD

2.1.3.3 User Interface Design
Before implementing the actual design of the project, a few user interface designs were constructed to visualize the user interaction with the system as they browse for books, create a shopping cart and purchase books. The user interface design will closely follow our Functional Decomposition Diagram. Figures 7 – 20 show the initial designs of the web pages.

Figure 2.8: Front Page of RupJayGri Shop with menu

2.2 The Magic of the Three-Tier Architecture

Generally, the architecture refers to the way we split the code that implements a feature of the application into separate components based on what they do and grouping each kind of component into a single logical tier.


In particular, the three-tier architecture refers to an architecture that is based on these tiers:
• The presentation tier or view
• The business tier or controller
• The data tier or model
Figure 2.9: Example of information exchange among application tiers

The presentation tier contains the user interface elements of the site and includes all the logic that manages the interaction between the visitor and the client’s business. This tier makes the whole site feel alive, and the way you design it has a crucial importance for the site’s success. Because your application is a web site, its presentation tier is composed of dynamic web pages.

The business tier (also called the middle tier) receives requests from the presentation tier and returns a result to the presentation tier depending on the business logic it contains. Almost any event that happens in the presentation tier usually results in the business tier being called (utilized), except events that can be handled locally by the presentation tier, such as simple input data validation, and so on. For example, if the visitor is doing a product search, the presentation tier calls the business tier and says, “Please send me back the products that match this search criterion.” Most of the time, the business tier needs to call the data tier for information to be able to respond to the presentation tier’s request.

The data tier (sometimes referred to as the database tier) is responsible for managing the application’s data and sending it to the business tier when requested. For the RupJayGri e-commerce site, you’ll need to store data about products (including their categories and their departments), users, shopping carts, and so on. Almost every client request finally results in the data tier being interrogated for information (except when previously retrieved data has been cached at the business tier or presentation tier levels), so it’s important to have a fast database system.

2.3 Choosing Technologies and Tools

No matter which architecture is chosen, a major question that arises in every development project is which technologies, programming languages, and tools are going to be used, bearing in mind that external requirements can seriously limit your options. We’re creating a web site using PHP 5, MySQL 5, and related technologies.
We really like these technologies, but it doesn’t necessarily mean they’re the best choice for any kind of project, in any circumstances. Additionally, there are many situations in which you must use specific technologies because of client requirements. The Requirements Analysis stage that is present in most software development process will determine which technologies you must use for creating the application.
Although the book assumes some previous experience with PHP and MySQL, we’ll take a quick look at them and see how they fit into our project and into the three-tier architecture.

2.3.1 Using PHP to Generate Dynamic Web Content
PHP is an open source technology for building dynamic, interactive web content. Its short description (on the official PHP web site, http://www.php.net) is “PHP is a widely-used general-purpose scripting language that is especially suited for web development and can be embedded into HTML.”

PHP stands for PHP: Hypertext Preprocessor (yes, it’s a recursive acronym) and is available for free download at its official web site. The story of PHP, having its roots somewhere in 1994, is a successful one. Among the factors that led to its success are the following:
         PHP is free; especially when combined with Linux server software, PHP can prove to be a very cost-efficient technology to build dynamic web content.
         PHP has a shorter learning curve than other scripting languages.
         The PHP community is agile. Many useful helper libraries or new versions of the existing libraries are being developed (such as those you can find in the PEAR repository or at http://www.phpclasses.org), and new features are added frequently.
         PHP works very well on a variety of web servers and operating systems (Unix-like platforms, Windows, and Mac OS).
2.3.2 Apache Web Server:
Apache offers various advantages to users, developers and Web administrators:
  • Features. Apache has various useful features, including implementation of the latest protocols.
  • Customizable. Apache's modular architecture allows you to build a server that is "made to measure".
  • Administration. Apache configuration files are in ASCII, have a simple format, and can be edited using any text editor. They are transferable, so one can effectively clone a server. One can control the server from command line, which makes remote administration very convenient.
  • Extensible. Apache server and API source code are open to public. If there is any feature that you want but does not exist in Apache, you can write your own server module to implement it.
  • Efficient. A lot of effort has been put into optimizing the Apache's C code for performance. As a result, it runs faster and consumes less systems resources than many other servers.
  • Portability. Apache runs on a wide variety of operating systems, including all variants of UNIX, Windows 9x/NT, MacOS (on PowerPC), and various others.
  • Stability/Reliability. Apache's source code is open to public. When any bugs are found, they are often quickly communicated, and rapidly fixed. Updates are made and announced thereafter. This has resulted in Apache becoming more and more stable, and hence reliable, server over the time.
  • Support. Apache is supp­­orted by the Apache Group, a large number of dedicated users (many of whom can often be found in the Usenet newsgroup comp.infosystems.www.servers.unix or comp.infosystems.www.servers.ms-windows), and by companies who market commercial versions of Apache.
2.3.3 MySQL Database:

In this project, MySQL is used as the backend database. MySQL is an opensource database management system. The features of MySQL are given below:
MySQL 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.
MySQL is open source database system. The database software can be used and modify by anyone according to their needs.
It is fast, reliable and easy to use. To improve the performance, MySQL is multithreaded database engine. A multithreaded application performs many tasks at the same time as if multiple instances of that application were running simultaneously.
In being multithreaded MySQL has many advantages. A separate thread handles each incoming connection with an extra thread that is always running to manage the connections. Multiple clients can perform read operations simultaneously, but while writing, only hold up another client that needs access to the data being updated. Even though the threads share the same process space, they execute individually and because of this separation, multiprocessor machines can spread the thread across many CPUs as long as the host operating system supports multiple CPUs. Multithreading is the key feature to support MySQL’s performance design goals. It is the core feature around which MySQL is built. MySQL database is connected to apache web server with the use of PHP scripting language.

2.3.4 MacroMedia DreamWeaver:
For writing codes and making design we use Macromedia DreamWeaver

2.4 Choosing Naming and Coding Standards

Although coding and naming standards might not seem that important at first, they definitely shouldn’t be overlooked. Not following a set of rules for your code will almost always result in code that’s hard to read, understand, and maintain. On the other hand, when you follow a consistent way of coding, you can almost say your code is already half documented, which is an important contribution toward the project’s maintainability, especially when multiple people are working on the same project at the same time.
Naming conventions refer to many elements within a project, simply because almost all of a project’s elements have names: the project itself, files, classes, variables, methods, and method parameters, database tables, database columns, and so on. Without some discipline when naming all those elements, after a week of coding, you won’t understand a single line of what you’ve written.
When developing RupJayGri Shop, we followed a set of naming conventions that are popular among PHP developers. Some of the most important rules are summarized here and in the piece of code that follows:
       Class names and method names should be written using Pascal casing (uppercase letters for the first letter in every word), such as WarZone.
       Public class attribute names follow the same rules as class names
       Private class attribute names follow the same rules as public class attribute names.
       Method argument names should use camel casing (uppercase letters for the first letter in every word except the first one), such as $someEnemy, $someOtherEnemy.
       Variable names should be written in lowercase, with an underscore as the word separator, such as $master_of_war.
       Database objects use the same conventions as variable names (the department_id column).




CHAPTER THREE
Work Flow of RupJayGri Shop

3.1 Web Page Flow in RupJayGri Shop
The web page is divided into five parts as in the figure below:
Fig 3.1: Division of Webpage

1. Header Part
In our RupjayGri shop the header part consists of the search box which is useful for searching the product directly likewise, the shortcut to login and sign up. As well it also consists of the name of the Shop and the header also contains the advertised products in the scrolling images.
Fig 3.2: Header Part
The header part also consists of the menu.
The menu contains the link to the pages so that the visitors can easily render the pages.

2. Left Bar:
The left bar contains the categories and other boxes which is changeable as per the pages. The categories box shows the list of category and on the click of the list the products of the same category is show

3. Body Part:
The body part consists of the content of the website.
Fig3.3: Code Snippet of the Body Part

    4. Right Bar:
The right bar is also changeable as per the page requirement.
   5. Footer Part:
The footer part contains the footer of the pages which can contain the reserved information and copyright as well as links to the pages.
3.2 Showing our Visitors what we’ve got
One of the essential features required in any e-store is to allow the visitor to easily browse through the products. Whether our visitors are looking for something specific or just browsing, it’s important to make sure their experiences with our site are pleasant ones. After all, we want our visitors to find what they are looking for as easily and painlessly as possible. This is why we’ll want to add search functionality to the site and also find a clever way of structuring products into categories so they can be quickly and intuitively accessed.

Depending on the size of the store, it might be enough to group products under a number of categories, but if there are a lot of products, you’ll need to find even more ways to categorize and structure the product catalog.

In our RupJayGri Shop products are categorized into different categories and the visitors can easily get the product as per the category.

Likewise there are many sections which show the different product like the tab section which shows the best seller products and selected items by the RupJayGri Shop.
Products are also shown in different category as per the click in the menu
Fig 3.4: Category of Product
Products are categorized as per the manufacturers also so the visitors can also view the products as per the manufacturer.


3.3 Detail View of the Product:
Fig3.5: Code Snippet to Show the Details of the Product

After getting the list of the product we can view the details of the product by clicking in the pictures of the product or just clicking the details button.
3.4 Searching the Products
Products can be searched based on the product identification number, name of the product. For searching the product just type the name of the product in the box

Figure 3.6: Form for Searching the Product type the name of product
After pressing the ENTER key we will get the list of searched product.

3.5 Administration Section
The department administration section allows the user to add, remove, and change department information. To implement this functionality, you’ll need to write the necessary code for the presentation, business, and data layers. One fundamental truth regarding n-tiered applications (which applies to this particular case) is that the business and data tiers are ultimately created to support the presentation tier. Drawing on paper and establishing exactly how you want the site to look is a good indication of what the database and business tier will contain (in other words, what functionality needs to be supported by the User Interface, or UI). Once the functional and technical specifications are done, you will know exactly what to place in each tier, so the order in which you write the code doesn’t matter. However, except for the largest projects that really need very careful design and planning, this kind of flexibility rarely happens in practice.
3.6 How to add product
After clicking in the Product Management of dashboard we get the list and click in the product to add and view product






Fig 3.7: Product Management
The product list is shown as in the figure:







Fig 3.8: Product List
The edit and delete of the product is done by clicking in the link. When we click in the edit link the figure as below is shown:
Fig 3.9: Add and Edit Product
Other view and edit is done as above.

3.7 Folder Structure:
RupJayGri shop uses an MVC style framework:
Model - Database layer
View - Template display
Controller - Main controlling code base

So for each product page on the frontend, there are up to 3 main files:

M: components\products\model.php
V:components\products\view\view.php
C: components\products\controller.php
Fig 3.10: Folder Structure



3.8 Search Engine Optimization
Search engine optimization, or simply SEO, refers to the practices employed to increase the number of visitors a web site receives from organic (unpaid) search engine result pages. Today, the search engine is the most important tool people use to find information and products on the Internet. Needless to say, having your e-commerce web site rank well for the relevant keywords will help drive visitors to your site and increase the chances that visitors will buy from you and not the competition!
RupJayGri shop is so small and young and some of the points that we consider to make the site more searchable are by following:
·         Implement keyword-rich URLs
·         Redirect requests to index.php
·         Dynamically generate the page titles to reflect the contents of their pages
·         Errors and problems are properly handled and redirect to pages in the site.
·         We correctly used page headings and other markup, so that search engines will be able to identify the page’s important copy.
·         We don’t have duplicate content. The catalog doesn’t contain identical pages, or page fragments, which can incur search engine penalties.
·         The product, department, and category pages are easily reachable
As for example the url is:


Fig 3.11: url bar

3.9 Customer Sign Up:
In our shop customers are able to buy or place the product in cart only when they are registered.











Fig 3.12: Customer Sign Up
The customer have fill the sign up form and click the sign up button and the password is send to the email given.


3.10 Customer Login:


The customer can login with the username and the password provided in the mail. For the first time login the customer will see the form below:
Fig 3.13: When Customer Login for the First Time

With the filling of the form the customer will be able to buy product and add it to the carts. For the other time the customer will be able to directly login into the dashboard.

3.11 Shopping Cart

When customer clicks “Add to Cart” for any product, it is added to the shopping cart.
Adding a product into the shopping cart does not decrease the quantity of products in the database. It is decreased only after an order is placed for the product. In our RupJayGri shop the shopping cart whether the product is added to the database or the cart or not and on clicking the “Go To Shopping Cart”, the detail of the cart is shown.



3.12 Placed Order and Proceed to CheckOut
When “Proceed to CheckOut” button is clicked which is located on the bottom of the shopping cart, the web page will direct to the form where the customer have to input the shipping information and the payment information










Fig 3.14: Place Order and Proceed Checkout

3.13 Confirming the information:
After filling the form in shipping and payment information the final confirmation page sis shown which is from the paypal API and consists of the credit card information to be filled up. After clicking the submit button the paypal process the credit card information and send whether the payment is successful or not.

3.14 How to shop in the RupJayGri Shop?
For the easiness of the customer there consists of video and ways to do shopping in RupJayGri Shop in the page why_us and the link is at menu’s Shopping Demo.
Three simple steps:
 Step 1: Search
There are 2 ways by which you can locate products on our site.
A. Keyword Search
There is a Search Box in the header (right hand top corner)
v  Enter the product/item that you want to locate for in the Search Box (Eg: If you want to buy flowers, you can type Flowers in the Search Box). You can also search for products within a category.
v   Then click on the Go Button. The next page will display the Search Results with suitable products for you to choose from.
B. Category/Sub-Category Search
Products at RupJayGri.com are divided in Categories and Sub-Categories with further sub-division, displayed in the category list at top. You can browse through each of these Categories until you find your desired product type.
 Step 2: Register
Registration on RupJayGri Shop Visitors must be a registered user of RupJayGri Shop to be able to BUY online. RupJayGri Shop Registration process is fast, easy and totally FREE! Click on the Sign in link on the top right corner in the header part of every Page.
 Please follow the steps to register with rupjaygri.com
v  Enter your Email address which will also function as your User Name for rupjaygri.com
v  Finally, click on the Sign Up button.
v  Now login with the username and password in the email that we have send to the customer.
 Step 3: Buying on RupJayGri
v  Login
v  View the product or list the product
v  Click the details of the product and click the “Add To Cart” button if u like to purchase then go to the details of shopping cart and click Proceed to checkout and follow the steps.
3.15 Product Reviews
At this point, we have a complete and functional e-commerce web site. However, this doesn’t stop us from adding even more features to make it more useful and pleasant for customer. By adding a product reviews system to your web site, you can increase the chances that customer will return to your site, either to write a review for a product they bought or to see what other people think about that product. A review system can also help you learn your customers’ tastes, which enables you to improve the product recommendations and even make changes in the web site or the structure of the product catalog based on customer feedback. To make things easy for both the customer and us, we’ll add the list of product reviews and the form to add a new product review to the product details pages. The form to add a new product will show up for only registered users, because we decided not to allow anonymous reviews (however, you can easily change this if you like). We’ll create the code for this new feature in the usual way, starting from the database and finishing with the user interface.
3.16 The Product Reviews Feature
The product reviews feature is simple enough. It is governed by three simple design decisions:
v  The list of reviews and the interface elements necessary for adding new reviews should be displayed below the list of product recommendations on the product details pages, as shown in Figure ……
v  If the product has no reviews, we should invite the reader to write the first review, as shown in Figure ……
v  Only registered users can write product reviews
Chapter 4
ER Diagram and UML Diagram Description

4.1 USE CASE
                A use case is a set of scenarios that describing an interaction between a user and a system.  A use case diagram displays the relationship among actors and use cases.  The two main components of a use case diagram are use cases and actors.
An actor is represents a user or another system that will interact with the system you are modeling.  A use case is an external view of the system that represents some action the user might perform in order to complete a task.
Browse Catalog and Search Item
Access The eSHOP Website
Get Product Information
CUSTOMER
Fig 4.1 Customer Relationship
Give Shipping Info
Buy the Product
Give Payment Info
CUSTOMER
Get Invoice (i.e., Slip)
Get confirmed i.e. Received Product
User Login
Fig 4.2 Customer Payment Process UML diagram
Enter Product Details
User Login
Small Problem
Medium Problem
CUSTOMER
Replace Product
Customer Satisfied
Fig 4.3 How Customer Get Satisfied UML diagram
4.2 ER-Diagram (ERD)
Customer Entity;
Fig 4.4: Customer ER diagram
Product Entity:
Fig 4.5 Product ER diagram


CHAPTER FIVE
Literature Review

Electronic Commerce (e-commerce) applications support the interaction between different parties participating in a commerce transaction via the network, as well as the management of the data involved in the process.

The increasing importance of e-commerce is apparent in the study conducted by researchers at the GVU (Graphics, Visualization, and Usability) Center at the Georgia Institute of Technology. In their summary of the findings from the eighth survey, the researchers report that “e-commerce is taking off both in terms of the number of users shopping as well as the total amount people are spending via Internet based transactions”. Over three quarters of the 10,000 respondents report having purchased items online. The most cited reason for using the web for personal shopping was convenience (65%), followed by availability of vendor information (60%), no pressure from sales person (55%) and saving time (53%).

Although the issue of security remains the primary reasons why more people do not purchase items online, the GVA survey also indicates that faith in the security of ecommerce is increasing. As more people gain confidence in current encryption technologies, more and more users can be expected to frequently purchase items online

Another important factor in the design of an e-commerce site is feedback. The interactive cycle between a user and a web site is not complete until the web site responds to a command entered by the user. According to Norman, "feedback--sending back to the user information about what action has actually been done, what result has been accomplished--is a well known concept in the science of control and information theory. Imagine trying to talk to someone when you cannot even hear your own voice, or trying to draw a picture with a pencil that leaves no mark: there would be no feedback".

Web site feedback often consists of a change in the visual or verbal information presented to the user. Simple examples include highlighting a selection made by the user or filling a field on a form based on a user's selection from a pull down list. Another example is using the sound of a cash register to confirm that a product has been added to an electronic shopping cart.

Completed orders should be acknowledged quickly. This may be done with an acknowledgment or fulfillment page. The amount of time it takes to generate and download this page, however, is a source of irritation for many e-commerce users. Users are quick to attribute meaning to events. A blank page, or what a user perceives to be "a long time" to receive an acknowledgment, may be interpreted as "there must be something wrong with the order." If generating an acknowledgment may take longer than what may be reasonably expected by the user, then the design should include intermediate feedback to the user indicating the progress being made toward acknowledgment or fulfillment.

Finally, feedback should not distract the user. Actions and reactions made by the web site should be meaningful. Feedback should not draw the user's attention away from the important tasks of gathering information, selecting products, and placing orders.



CHAPTER SIX
Conclusion

The Internet has become a major resource in modern business, thus electronic shopping has gained significance not only from the entrepreneur’s but also from the customer’s point of view. For the entrepreneur, electronic shopping generates new business opportunities and for the customer, it makes comparative shopping possible. As per a survey, most consumers of online stores are impulsive and usually make a decision to stay on a site within the first few seconds.

“Website design is like a shop interior. If the shop looks poor or like hundreds of other shops the customer is most likely to skip to the other site” Hence we have designed the project to provide the user with easy navigation, retrieval of data and necessary feedback as much as possible. In this project, the user is provided with an e-commerce web site that can be used to buy books online. To implement this as a web application we used PHP as the server scripting language. For the client browser to connect to the PHP and server we used Apache as the Web Server. MySQL was used as back-end database since it is one of the most popular open source databases, and it provides fast data access, easy installation and simplicity.

A good shopping cart design must be accompanied with user-friendly shopping cart application logic. It should be convenient for the customer to view the contents of their cart and to be able to remove or add items to their cart. The shopping cart application described in this project provides a number of features that are designed to make the customer more comfortable.

This project helps in understanding the creation of an interactive web page and the technologies used to implement it. The design of the project which includes MVC framework illustrates how the database is built with different tables, how the data is accessed and processed from the tables. The building of the project has given me a precise knowledge about how PHP, HTML is used to develop a website, how it connects to the database to access the data and how the data and web pages are modified to provide the user with a shopping cart application.

An e-commerce organization can create data-based Web pages by using server side and client-side processing technologies or a hybrid of the two. With server-side processing, the Web server receives the dynamic Web page request, performs all processing necessary to create the page, and then sends it to the client for display in the client’s browser. Client-side processing is done on the client workstation by having the client browser execute a program that interacts directly with the database.


Bibliography
  1. Book References:
1.      E-Commerce An Indian Perspective, PT Joseph
2.      System Analysis and Design Methods, McGraw-Hill Companies
3.      Report Management Information System, Prentice Hall
4.      Maloni, C.Julie, SAMs Teach Yourself PHP, MySQL and APACHE: New Delhi, SAMS Publishing House, 2005.
5.      Casentino, Christopher, Advance PHP for Web Professional: New Delhi, Prentice Hall of India, 2003.


  1. Website References:
1.      www.google.com and other search engine to search
2.      www.wikipedia.com (The encyclopedia)
3.      www.docstoc.com
4.       www.php.net
5.       www.mysql.com

No comments:

Post a Comment