Warning. This project is not tagged as stable yet. During this Beta stage, we aim to find and resolve all bugs, empower testing layer and build even a better and bigger project documentation.
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.
To use Bamboo and Elcodi you need a PHP version not less than 5.4
For more info just visit their installation page
Bamboo uses redis to make the app lighter and to minimize the response time.
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
.
Also, don't forget to install the php extension for redis.
Images are a really important part of an store. Bamboo uses Imagick to resize and optimize all product images
For more info just visit their installation page
On the installation step you will be asked to provide the Imagick installation path. Ensure to configure the parameter imagick_convert_bin_path right
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 http://getcomposer.org/ or just run the following command:
$ curl -s http://getcomposer.org/installer | php
After installing composer you can create your new bamboo project. Feel free to use any version, but we're still creating new features, fixing some issues and errors, and building our first release, so be sure you are not using master, but a closed version of the package.
$ php composer.phar create-project elcodi/bamboo path/to/your/store/ 0.5.*
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
$ cd path/
Now we should create the database and all the application schema. Symfony provides you an easy way for doing that.
$ php app/console doctrine:database:create
$ php app/console doctrine:schema:create
We also load some fixtures to show on our store. This fixtures will set your store in a testing mode, with some categories, some manufacturers and a bunch of t-shirts. Only for testing purposes :)
$ php app/console doctrine:fixtures:load --fixtures="src/Elcodi/Fixtures" --no-interaction
These fixtures will not install you any location data, but don't worry, we provide you several ways for your location population.
At the moment, only for Spain and France
We provide you some files with some countries dumped. You will find these files
inside elcodi/geo-bundle
package, inside the DataFixtures/ORM/Dumps
folder.
Because location tables are not using foreign keys, you can play with them as
much as you need.
You can also add the geo information for any country. Just find the two letters ISO code for the country you want to load and launch the following command changing ES with your code.
$ php app/console elcodi:locations:populate ES
This could take several minutes per country, be patient
Bamboo offers a bunch of plugins to customize your store. In the ecosystem of
Bamboo, a Plugin is just a Bundle, so first of all, check that all the plugins
you want to use are actually instantiated in you AppKernel
class, under app/
folder.
To install load these plugins, use this command
$ php app/console elcodi:plugins:load
The default template is a plugin as well, so you will install it as well with this command.
Finally our store is ready to run :)
$ php app/console server:run
You can also configure a Web server like Apache or Nginx to run the app like all the Symfony apps.
Yehaaa! You're done! You're about to see what Elcodi can do for you. A complete store interface for your customers and some nice features for administrating it.
You can start using these credentials we've already created for you. For the admin panel use. Remember to remove them properly when your store is on production.
Admin username: [email protected]
Admin password: 1234
And for the store, use this Customer credentials.
Customer username: [email protected]
Customer password: 1234
You can now play with the bamboo :) Don't forget to create an issue on Bamboo or Elcodi if you found any bug. Any collaboration is welcome! We look forward to hearing from you!
Yes, 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
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.