Bamboo e-commerce
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.
Requirements
We're trying to build this project with a light default dependencies. These are ours.
PHP
To use Bamboo and Elcodi you need a PHP version not lower than 5.4. For more info just visit their installation page
PHP GD
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.
MySQL
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
Composer is required to manage dependencies.
if you have not yet installed Composer, download it following the instructions on http://getcomposer.org/ or just run the following command:
$ curl -s http://getcomposer.org/installer | php
Installation
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@customer.com
Customer password: 1234
And for the admin panel, use this Admin credentials.
Admin username: admin@admin.com
Admin password: 1234
Remember to remove these users properly as soon as you're in production.
Metrics
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
.
Cache
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.
Tests
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
Issues
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.