StarterCart 1.0 Beta Documentation: API Overview

API Overview

StarterCart is built to have an easy to use API. The main part of this is StarterCart.cfc itself. By default, this will be available as Application.StarterCart.

StarterCart is a multi-tiered application. Each of the parts of StarterCart (represented in the graphic below) are customizable. Each layer is dependent on the layers below it, but you can replace as many layers down as you want with your own code.

So, for example, you could create your own .cfm files to use cart.js and/or cart.cfc. Or you could build your cart on cart.cfc or just on StarterCart.cfc.


The StarterCart.cfc file is built on top of ProgramManager.cfc and each of the data set components within are built on Records.cfc. The main thing to note about this is that each "get" method can take as arguments any field in primary table for that service or any other argument of DataMgr.getRecords()

All of the logic for StarterCart is processed in StarterCart.cfc.


A CartSession.cfc file is provided as a session facade for StarterCart.cfc. All order processing logic can (and - in the default application - will) be processed through here. This eliminates the need to manually track any session related information that you might have to keep track of if dealing with Application.StarterCart directly.

Checkout Page Controllers

The page controllers instantiate CartSession.cfc as "Session.oCart" and interact with it to manage the checkout process.

Checkout CFM files

The checkout folder has several ColdFusion templates that can be used (via Form post or the browser directly) to take a actions on the cart (through CartSession.cfc as listed above).


Most of the checkout functionality can optionally be called from the object created by cart.js. It, in turn, interacts with the page controllers manage any needed checkout functionality.