Special Offer

17 May 2007 LiveCart: Introduction

LiveCart is a new PHP/MySQL powered shopping cart software developed by Integry Systems.

So, yet another shopping cart program, one might say. There are hundreds of shopping cart solutions out there, why would we need another one?

Our answer to this is rather typical as well. We saw that most of the current solutions lack something - that something being flexibility among other things. This flexibility word has a rather broad meaning and we have attempted to solve the problem in all its broadness - and have succeeded at it at large extent.

So what are the main differences between LiveCart and other shopping carts?

Product specification data flexibility

Most of the existing shopping cart programs allow defining custom fields for storing detailed product specification data. For books you might want to list author, ISBN code, number of pages and cover type (and others). However for mobile phones the specification data structure would be entirely different - network types, features, ringtones, etc. What happens if you want to sell both books and mobile phones? Most carts do not have an answer to that - you can only define one set of specification. In other words, the custom fields are global and are the same for all the products in your store regardless of their type.

Product specification

Now, at first sight this looks fine if you're selling only one type of products. However if you're expanding your store and you want to start selling other products, there would be a problem. Of course, you could add more global fields, which would at least allow you to enter product data. But huge product data entry forms containing lots of useless fields are never convenient. And, as you'll see further, it's not only about data entry convenience.

LiveCart allows you to enforce strict product specification models - so you couldn't enter an ISBN code for mobile phone even by accident as this field simply wouldn't be available. Strict doesn't mean that the product specifications are unchangeable. In fact, they are very flexible when needed. You can add, modify or remove product attributes (parameters) from specification any time.

Product specifications are based on categories. Each category has it's own set of product attributes. LiveCart even supports specification inheritance. That is, you can define a set of common product attributes to a higher level categories and extend the specification by setting different attributes to subcategories.


Makes it easier for customer to locate products

Filters Most of the existing shopping cart solutions offer only two ways for customers to drill down the product database - browsing through categories and using free search. LiveCart introduces the third solution - filtering the product list by product attributes.

Filtering is a very powerful feature that makes direct use of the product specifications. For example, you can make it easy for the customer to filter the list of mobile phones to only display phones that are made by Nokia, weigh less than 90 grams and support EDGE and Bluetooth. Each specification (product type) may define its own set of product filters. In addition, LiveCart also allows allows filtering products by manufacturer or by price range.

This is a very nice and flexible alternative to huge category structures. While LiveCart doesn't prohibit from creating a complex category structure, we suggest to keep things simple and create categories only for the basic product types - and use product filters instead of deep subcategory structures.

Other filtering examples:

Opens the door to international markets

As strange as it may sound, in this era of continuous globalization of e-commerce, the local presence becomes more and more important. While it's not always possible to be near your customer physically, the first logical step would be to speak the customers language. In LiveCart, everything is translatable. Product data, attributes, categories, filters, everything. This is an essential feature if you're looking to succeed in different country markets.


The second step is to allow the customer to view prices and make payments in his/her home currency.

For most people it is not very convenient to shop when the prices are listed in a foreign currency. LiveCart allows to display product prices in more than one currency. There are two ways how the prices can be converted - you can enter prices for each currency manually or let LiveCart calculate the prices automatically using the specified currency rates.

Intuitive and easy to use administration panel

We have spent a very significant part of our development effort to make the administration backend area work as smoothly as possible. If we wanted to go the buzzword route, we'd call it "the first AJAX-enabled Web 2.0 shopping cart software backend" :) AJAX is used quite heavily in the backend area - not only to improve the user (your) experience in its broad sense, but to actually make tasks easier by allowing completing them faster. The pages are only reloaded when you switch between distinct backend areas - for example from product management area to language management.

Manage products with LiveCart
Mass product management in LiveCart backend

When you need to reorder anything, just drag the item to the new place and drop it there.

Reorder product attributes
Reorder product specification attributes

There's no need to wait for the whole page to reload if you need to modify some minor details - the data modification form will be opened and saved without page reload, which greatly speeds up the work.

Edit product details
Edit product details

Please note that we're not using any AJAX and almost no JavaScript in the frontend (the actual store your visitors will visit), to achieve maximum browser compatibility and insure that search engines can crawl your store pages properly.

Easy to extend and customize

LiveCart has been built to be easy to customize. This is not just marketing talk. Here's why.

LiveCart provides standard interfaces for extending its functionality via plug-ins. The standard types of plug-ins are new payment processors, real-time shipping rate calculators and others.

LiveCart code follows the Model-View-Controller (MVC) architecture. It means that all the parts are clearly separated by responsibility. To change a template you won't need to change the program code. In fact, you probably won't even have to change the template code either, as most of the design changes can be accomplished by modifying the CSS style sheet file.

It's a very common situation that the shopping cart software needs to be altered to match specific requirements. It is easy to set up the store and do design changes without touching the program code, but sometimes it is necessary to go deeper and change/extend some parts of the software to make the software work exactly the way it is required. In such case the clearly separated responsibilities will make it easier to find the code that needs to be modified. It won't always be necessary to change the controller or model code to add your own functionality - LiveCart also provides standard interfaces for integrating your own extensions without a need to modify the underlying code, which makes the extensions easily replicable without worries about version incompatibilities, as well as installing updates wouldn't overwrite your own extensions.