Meet Bamboo, an e-commerce project built on top of Elcodi and Symfony. Give us a star to support our project :)
PHP HTML JavaScript CSS Smarty Gherkin Other
Clone or download
Latest commit 4c8ffc4 Feb 1, 2016
Failed to load latest commit information.
app Updated copyright year in files Feb 1, 2016
docker A Docker Compose configuration to develop in Docker containers. Oct 15, 2015
features Updated code for new purchasable implementation Jan 31, 2016
scripts Updated to stable predis version Jun 30, 2015
src/Elcodi updated WYSIWYG component of Frontendcore Feb 1, 2016
vagrant moved and improved tests Nov 16, 2015
web restored default sf2 web/.htaccess file Nov 6, 2015
.bowerrc Fixed grunt tasks Jan 21, 2015
.editorconfig Initial commit Jan 20, 2015
.formatter.yml Updated copyright year in files Feb 1, 2016
.gitignore Added config ignored file Nov 30, 2015
.gitsplit.yml Store + Shipping + Menus Jun 8, 2015
.gush.yml update gush settings May 16, 2015
.php_cs Fixed composer check-style Nov 30, 2015
.translation.yml Updated code for new purchasable implementation Jan 31, 2016
.travis.yml PHP7 MUST pass always Dec 9, 2015 Changed deps with Elcodi and added changelog Jun 14, 2015 Updated changelog for v1.0.2 Jan 31, 2016 Added changelog for 2.0.0 Feb 1, 2016 Update Apr 11, 2015
LICENSE Updated some files for plugins Jan 20, 2016
Procfile added Heroku configuration Nov 8, 2015 Added badge Jan 22, 2016
app.json Added Heroku redirect after deploy Nov 18, 2015
appveyor.yml temporary fix to prevent appveyor timeout Nov 17, 2015
behat.yml.dist Fixed and tested CommonShipping plugin Jun 9, 2015
bower.json Markup, design & JS for comments. Added twigJS. Feb 25, 2015
composer.json Updated code for new purchasable implementation Jan 31, 2016
composer.lock Updated code for new purchasable implementation Jan 31, 2016
gruntfile.js Markup & Design for plugins page May 18, 2015
heroku.json added Heroku configuration Nov 8, 2015
humans.txt Some additions in README Feb 24, 2015
package.json Updated Frontendcore and Scss compilation to use libscss (bye bye Rub… May 7, 2015
phpunit.xml.dist Added Bridge for Visithor Bundle May 7, 2015
visithor.yml.dist Updated code for new purchasable implementation Jan 31, 2016

Bamboo e-commerce

Build Status Build status Deploy to Heroku

Welcome to Bamboo e-commerce - a fully-functional e-commerce application built using Elcodi components on top of the Symfony framework.

Yes, you got it right! Bamboo uses the Symfony framework but our components are framework agnostic, that is, they only depend on the Symfony components as opposed to the whole framework or any of its distributions.

Why should I use Bamboo? That's simple, to sell your products. We provide you with an interface to sell your products and manage your store. You only have to focus on offering a good product, we take care of the rest.

Elcodi was awarded as the Best Open Source project of 2015 by the Symfony Community awards.

Best Open Source


We're trying to build this project with a light default dependencies. These are ours.


To use Bamboo and Elcodi you need a PHP version not lower than 5.4. For more info just visit their installation page


This PHP extension is used to being already installed when you add PHP in your distribution

Images are a really important part of an store. Bamboo uses PHP GD to resize and optimize all product images. For more info just visit their installation page

After that, you will be able to change the adapter and use other implementations.


And, where do you save your data? By default we use MySQL, remember to install it as well as its extension for PHP. For more info just visit their installation page


Composer is required to manage dependencies.

if you have not yet installed Composer, download it following the instructions on or just run the following command:

$ curl -s | php


If you're used to working with LAMP environment, then you will have Bamboo running in your computer in less than 5 minutes.

1. Install the project

After installing composer you can create your new Bamboo project.

$ php composer.phar create-project elcodi/bamboo bamboo -sdev

The installation process will ask you for some parameters like the database driver, username, password, database name, etc

Enter your directory to start the configuration step and use our magic command to create a complete development environment. Just one single line to rule them all

$ cd bamboo/
$ php app/console elcodi:install

By default only Spain will be installed. We have focused this step to run as fast as possible, so then, you'll be able to install more countries. You can add some countries in addition by using the --country command option.

$ php app/console elcodi:install --country=FR --country=IT

2. Run the server

Our store is ready to run. Use the built-in server to take a look at the project.

$ php app/console server:run

3. Visit your store

You're done! Visit http://localhost:8000 in your browser and take a look at what we have for you :) Use these Customer credentials in the store

Customer username:
Customer password: 1234

And for the admin panel, use this Admin credentials.

Admin username:
Admin password: 1234

Remember to remove these users properly as soon as you're in production.


Metrics are not enabled by default. If you want to enable them, then you need to install Redis. For more info just visit their installation page

In order to use the last Redis features, like the HyperLogLog commands, be sure your Redis version is at least v2.8.9.


By default, Bamboo is installed without any doctrine cache. You can change this settings by changing the file app/cache/config/common/cache.yml and by changing the value array for another one.

You can check some documentation about different types of cache in the Doctrine Cache Bundle repository page.

The most used cache type in Bamboo is redis. Make sure then that you have the php redis extension installed properly.


We are doing some tests, and this will be in cresciendo. You can ensure yourself that all the cases we've been working on are actually green. We are using Behat and PHPUnit, so you only need to execute all suites by using this piece of code.

$ php bin/behat
$ php bin/phpunit -c app
$ php app/console visithor:go --format=pretty --env=test


You can report any issue on Bamboo or Elcodi

Need help

If you need any help with the installation or understanding elcodi or bamboo you can contact us on gitter. We will be glad to help you, just ask for help.