StarterCart 1.0 Beta Documentation: Introduction

Introduction

The Cart to Start all Carts

StarterCart is a different kind of ColdFusion shopping cart. Rather than try to provide you everything you need for a shopping cart, StarterCart gives you the bare bones of a shopping cart and makes it very easy for you to customize it from there. It has a simple architecture, but one that should be easy to modify.

Here is the size breakdown for StarterCart as of February, 2011:
25 folders, 122 files, 1.88 MB (of this cfpayment makes up 18 folders, 46 files, 1.75 MB)

This means that the size breakdown for StarterCart (itself) as of February, 2011 is:
7 folders, 76 files, 130 KB

As an aside, cfpayment is an amazing project in its own right. If you decide not to use StarterCart, you should still check it out.

Where most shopping carts give you 90% or more of what you need, but it is difficult to modify the cart enough to satisfy your clients (with more pain if you ever want to upgrade), StarterCart probably gives you 60% of what you need, but makes it a breeze to modify it as needed (with an easy path for upgrading).

The majority of the remainder of this documentation aims to show many of the ways in which StarterCart is easy to modify.

Kernel

As will be discussed further in the documentation, all of the processing for the cart takes place in StarterCart.cfc. Consequently, the rest of the cart outside of cfpayment and the model folder could accurately be thought of as a reference implementation of StarterCart.cfc.

It should be easy, in fact, to build other implementations of this component. It wouldn't be hard to imagine a Model Glue implementation (say, "StarterCart MG") or a ColdBox implementation ("StarterCart CB", perhaps).

In that vein, this documentation will try to make clear what is dealing with the "core" StarterCart.cfc functionality and what is specific to the reference implementation - which could be thought of as "StarterCart for Neptune" (though we likely won't actually call it that).

Portability

StarterCart is designed to run on a variety of platforms.