Comparing versions
Version 15Current version
We have started the bitcommerce project. This will be a large project. Almost as large as bitweaver itself. We have taken the Zencart application version 1.2.5d and are forking to a closely integrated application.

There is now a demo at the sandbox
user: admin
password: qwer
Check out the bitcommerce admin too

There is now a bitcommerce blog and forum for discussion about bitcommerce.

The planned approach will be just like the TikiWiki -> ReleaseZero -> ReleaseOne approach for bitweaver.

Current Status
  • The installer is currently working. Currenly we are routing out bugs - particularly with MySQL specific queries

Phase 1

Port code to ADODB and get SQL running on multiple platforms. Try to get everything working "as-is" with a pristing Zencart 1.2.5d schema.

Proposed Architectural shifts
  • Replace all $_GET and $_POST and $_REQUEST - seems to be some issues with this en masse do to very poor HTML form naming conventions
  • Refactor all of includes/modules/pages/ and the sister files in includes/templates/templates_default/templates into sibling php and smarty .tpl files.

Phase 2

Condense all the ghastly functions running around in logic classes and libraries.

For developers who are interested in getting started:
cvs -z3 checkout _bit_commerce

Bitcommerce is a full fledged CMS combined with a full fledged e-commerce system.

Why Bitcommerce?

Is this a real project and is it released?

Yes. If you want to see bitcommerce running on postgres in a live production environment, buy something from PrestoPhoto, a leading photo products site.

Open Source, as in Liberty and Freedom

Bitcommerce maintains the truest intent of GPL source, and has the entire source tree available on GitHub

Still Going Strong

Begun in 2005, Bitcommerce has seen over 1500 commits in the first 7 years of it's history.

Extensive Tracking and Metrics

Bitcommerce has integrated tracking for all in-bound referring URL's so you know where your orders are coming from. Google Analytics is also inherenly supported with e-commerce reporting data sent to your Analytics account.

Digital Content, Meet E-Commerce

Unique to Bitcommerce, if you want to create a paywall for online digital content, Bitcommerce does this out of the box using groups from the UsersPackage. Assign a group to product, and on purchase users will be placed in that group. Ad-hoc creation of users groups allows unlimited possibilities. Access to file downloads, wiki pages, photo galleries, and more can all be controlled by purchasing a product of your creation.

Of course, it still supports all infrastructure for physical shipping around the world.

Designed for modularity while retaining pristine source

Simply put, Zen-cart/OSCommerce mods suck in that they litter your file tree with files outside of the primary source tree. We have fixed this. Inherent design to allow for mutli-repository extensions integrated

Fulfillment support

Similar to shipping, and payment, you can create Your own custom modules to handle fulfillment integration with back end systems.

Templating and Theming for Sane People

The required mass code duplication for themes in OSCommerce and Zen cart is insane, and makes for a management nightmare. Bitcommerce makes use of the beautiful customization of bitweaver ThemesPackage, which allows pinpoint customization of part of an interface.

Software Architecture for those who know what those words mean

The original OSCommerce and Zencart code bases are a beautiful mess. They are amazingly feature complete, and fairly well organized. And yet, the code is a sprawling mass of duplicate functions. We have implemented true Model classes in the top-level classes directory.

DRY out the code base

The amount of duplicate code is shocking. The developers who wrote, and continue to maintain such coding practices should be ashamed. We have attempted to tame that beast by the creation of common_inc.php to collect the myriad of duplicate functions.

MVC - Getting the Data out of the Controller, and the Controller out of the View

The biggest sin in the OSC/Zencart database is the rampant use of database queries while in the middle of dumping HTML output. Data models have been created in the classes directory and views have been moved to the page directory. There is still a lot of work to do here to port everything in commerce/pages to php & smarty .tpl pairs. This is a lot of work, and very risky due to the high possibility regressive bug introduction. About 10 of 70 pages have been completed.

Is it for me?

Bitcommerce has transacted tens of thousands of orders, and shipped products all over the globe. However, as the clean up is not complete, there are some rough edges. If you are a capable of writing a Zen-cart module, then you are more than capable of using it and cleaning up an issues you come across. If you an end-user with minimal technical skills, and are looking for an immaculate, turn-key application without issues, bitcommerce is not ready for you yet.

How compatible is it with Zen Cart?

Most Zen Cart modules can be easily ported to Bitcommerce in just an hour or two. For an example, you can compare a port of the fedexwebservices module. Note most of the changes are white space, and removal of debug code. ( git diff -b d41f2a1618 cf9afc9fcf )

Want code?

  1. Get the latest bitweaver - bitcommerce requires the latest bitweaver, and the get then clone (or submodule add) at your bitweaver root.

Please Join Us

We would love to have you as a member of our project. Stop by IRC and chat with us in real-time or send an email to


The bitcommerce project is a large project, almost as large as bitweaver itself. It began as a fork of the Zencart E-Commerce application at version 1.2.5d. It was converted into a BitweaverPackage that installs into the framework like any other. The approach is just like the TikiWiki -> ReleaseZero -> ReleaseOne approach for bitweaver:
  • First, port the architecture and maintain functionality
  • Second, expand functionality and greatly improve modularity.

Page History
08 Jun 2018 (16:00 UTC)
Current • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
Lester Caine81.138.11.13630
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source
View • Compare • Difference • Source