BitcommercePackage

A full featured e-commerce system with support for postgres, firebird, & mysql

Created by: spiderr, Last modification: 04 Apr 2013 (03:18 UTC)
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 Viovio, a leading photo book 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 Themes Package, 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) http://github.com/bitweaver/commerce.git 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 bitcommerce@bitweaver.org

History

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.

Comments

Fingers crossed

by Kozuch, 09 Feb 2007 (18:42 UTC)
Like the package very much. I can speed up the development somehow by at least talking about it (:lol:)

Why not integrating the latest version 1.3.8?

by Dan, 23 Feb 2008 (05:29 UTC)
Why not integrating the latest ZenCart version 1.3.8?
If I have a site built with ZC 1.3.7.1 or 1.3.8, can I integrate bitweaver as content management? thanks.

unanswerd february question

by it is may now, 20 May 2008 (06:47 UTC)
Why did you elect to fork Zencart from v1.25d rather than a newer ZC version?

Re: unanswerd february question

by Kozuch, 04 Dec 2008 (18:45 UTC)
I guess at time of forking, 1.25 was the latest version... feel free to fork again...

Re: unanswerd february question

by spiderr, 02 Jan 2009 (15:41 UTC)
Kozuch is correct... when we forked in 2005, 1.2.5d was the most recent. If someone comes up with the schema changes between 1.2.5d and now, we can see how about making a conversion. However, someone with coding skills would need to take up the project.