VbzCart

page type::article thing type::software thing type::project

About
VbzCart is free/open-source software for running an online retail operation. The author is in the process of documenting it and publishing the source code.

Purpose
VbzCart started life as a nameless shopping-cart application written specifically for vbz.net, mostly coded in VBA on MS Access 97. By 2003 at the latest, I had already decided that it would be better for vbz.net's administration functions to be web-based, but I didn't see any way forward with this that didn't require a massive amount of up-front time investment before being able to gain any actual functionality.

I evaluated osCommerce and ZenCart as alternatives and found that although they both had many features I would like to have on vbz.net, they also lacked some key features I would need (some of which VbzCart already had, and some of which would be needed to migrate VbzCart's data from Access).

Eventually (after a false start in Perl), around 2007 I came up with the idea of writing VbzCart's admin functions as a MediaWiki extension, saving the trouble of writing a user management/login system and gaining some additional interface functionality into the bargain.

Development and migration has continued since then in fits and starts, with interruptions due largely to family obligations (especially this), but as of August 2011 I consider the migration essentially complete; there are no order-processing functions that still need to be done in VB (the last "piece" of this, completed in July, was working out a system to produce "reports" so I could print packing slips formatted as nicely as the ones in Access), and there are no admin functions that aren't at the stage of being at least written if not yet debugged.


 * Status (2011-08-03): working, with lots of developer-level rough edges to work out. We're a long way from having an install script, and I need to post the code on a more appropriate venue such as GitHub.

Documents

 * Data design:
 * /tables: all tables used by VbzCart
 * /procs: stored procedures
 * /queries
 * Code:
 * /code
 * Data concepts:
 * /cart
 * /order
 * /session
 * Subsystems:
 * /catalog/building: how the catalog is built from stock and supplier catalogs
 * /checkout: notes on the checkout subsystem
 * /security/customer: keeping customer data secure
 * ordering: how ordering works (carts, orders, etc.)
 * Archival notes:
 * /obsolete: large chunks of documentation which have become obsolete
 * VbzCart wikified topics: using MediaWiki to manage store topics

Links

 * VbzCart on GitHub
 * International Address Formats: reference for how addresses should be formatted for different countries