Menu Drupal Ubercart powered Marketplace

August 19th, 2010

In 2009 Appnovation Technologies was asked to design and develop a Drupal based community and e-commerce website called Cargoh. The driving idea behind the site is to create a “social marketplace” for independent artists from all over the world to be able to showcase and sell their products and services. It features community tools such as forums, an internal messaging system and events section. was founded by Paul and Cariann Burger when they noticed the lack of avenues for independent artists, designers and musicians to get their work to the world. They realized that some of the most talented people in the world were making them coffee in the morning at the local coffee shop. They set out to change that by creating a super accessible, highly affordable and unbelievably feature rich venue for artists, designers and musicians to sell the things they create. Above that, they wanted to create the world’s best online shopping mall for all the uniquely independent products in the world. So from those two missions, was born. The world’s most exciting social marketplace for independent creatives!

Goals and Challenges

The focus of Cargoh is to be “a single destination where artists, musicians, designers, and creators can be seen, heard, and collected in one community driven marketplace”. Keeping that in mind the design and functionality needed to be able to take into account all genres of art and how best to showcase them. Most types of products featured on the site were sufficient with visual showcasing via image uploads. Multiple images are able to be uploaded per product in order to provide alternate views when needed. For musicians the ability to upload songs through a song player on store fronts was developed.

Coming up with the design for was an ongoing process that saw the site evolve many times up until site deployment. The layout mirrors other e-commerce sites in being product-centric. Wireframes were created using Omnigraffle for Mac. In the end it was decided that the site themes and colours would be kept minimal in order to let the products for sale by the site’s users be the focus keeping with the philosophy of’s founders. The base theme layer used for the site was Garland that the designers stripped down and built on top of.

Before launch the client had only a rough idea regarding the amount of traffic. During development, we were periodically monitoring resource usage (such as memory and average response time) which gave us precise metrics of how many concurrent users could interact with the site given a specific hardware and software configuration. For launch we allocated a typical configuration to match the application requirements to the expected load. We since continuously monitor the website to identify bottlenecks, and we invest the required resources (memory, CPU, configuration, caching techniques, DB slaves, code optimization, query optimization, etc) in order to eliminate them in a very competitive way, which means we invest our resources where they have the largest impact.

Why Drupal?

The team decided to use Drupal for Cargoh for the following reasons:

  1. The Ubercart Marketplace module provides the complete framework for building B2B trading sites. This makes the development process much more efficient.
  2. Ubercart integrates with multiple payment gateways which provides portability. If the team would like to change from using PayPal to another payment gateway, not a lot of development work will need to be done.
  3. On top of the E-Commerce features, Drupal has modules that provide social networking capabilities such as forums and blogs. It is one of the few platforms that allow for complete integration of E-Commerce and Social Networking features.
  4. Drupal is scalable and has been proven to be able to serve content to over 500,000 unique visitors per month.

Site Functionalities

The focus of Cargoh is to be “a single destination where artists, musicians, designers, and creators can be seen, heard, and collected in one community driven marketplace”. To promote the community aspect the site incorporates user profiles, discussion forums, an events listing area and an internal messaging system to help buyers, sellers and all around art enthusiasts connect. Users are able to select and show a list of their favourite stores and connect to their Twitter and Facebook accounts. The homepage features a blog titled “cargoh loves” that covers the owners’ favourite stores, events or recent news in the art world.

The e-commerce component of the site is driven by Ubercart and integrates both PayPal and Beanstream. Other pluses afforded to Sellers are the ability to customize their storefronts using image and music uploads, an internal order and stock tracking system and integration of Google Analytics. Products and stores are promoted to the showcase on the homepage as users “bump” or like items for sale. There is also an advanced search that can be narrowed down by subcategories for products, shipping locations and store location.

Module Use

There were 29 modules used for the site including 9 custom modules

Contributed Modules

There were a number of contributed modules used for the project. Most notable are:

  • Fbconnect – allows users to login on a Drupal website through the Facebook Connect API using their Facebook login and password
  • MailChimp – provides integration with the MailChimp email delivery service that provides support for an unlimited number of mailing lists
  • Google Analytics – allows you to add statistics features to your site like selectively tracking certain users, roles and pages
  • Ubercart Marketplace – adds multiple seller support to the Ubercart module
  • Voting – helps developers who want to use a standardized API and schema for storing, retrieving, and tabulating votes for Drupal content

Custom Modules

  • Indie_attribute – Processes information regarding product attributes such as size and color
  • Indie_banner – Provides a manner to supply functionalities to cargoh_banner content type
  • Indie_buyer – Processes information regarding a buyer
  • Indie_feature – Module for the feature section on the homepage
  • Indie_membership – Handles membership signup, upgrade and downgrade
  • Indie_search – Modifies Drupal’s advanced search
  • Indie_seller – Processes information regarding a seller
  • Indie_storefront – Module for defining storefront and product page specific items
  • Indie_ubercart – Custom code to modify ubercart

Project Team

The Cargoh website was built by a team of seven people:

  • Two designers: One lead that composed the majority of the site design and an intermediate that concentrated on theming.
  • Four Drupal developers: One lead overseeing and advising, one intermediate that focused on the e-commerce component and two intermediates that worked on the general site.
  • One project manager.

Basecamp was used for most project management tasks and WebEX was used extensively for information sharing.

Drupal Version

The Cargoh site is in Drupal 6.15

Hosting Information

The site is hosted on Rackspace Cloud servers running Apache, MySQL and PHP 5.2.10.