Creuset is a powerful ecommerce platform built in Laravel. It is intended to use modern design patterns and have a structure that allows it to be flexible to the extent it could be easily extended or adapted.
- Testing using PHPUnit, including Laravel's built-in integration testing
- Extensible taxonomies; currently used for categories and tags but can be expanded to others.
- Repository design pattern with decorators for caching, logging etc.
- Uses elixir for asset compilation, browserify.
- Full-featured admin panel with Vue.js components, using AdminLTE theme.
- Clone the repo to your working directory
- Run
composer install
to install dependencies - Set your environment variables, including database config. (see
.env.example
for examples) - Serve it up and enjoy
- The cache driver should be one that supports cache tags (e.g. memcached, redis).
- Cache time specifies the default number of minutes that a cache entry will be retained in the cache. This is so values like this are not hard-coded.
- Not all config entries are in
.env.example
. Check individual config files for more options.
Development is by Git Flow. To add a feature contribute create a branch from the dev branch called feature/<feature-name>
and pull request back to the dev branch.
All the tests should pass before trying to merge. This is checked using TravisCI.
PSR-2 code style should be used throughout. This is auto-checked with StyleCI
Creuset uses npm modules with browserify for front-end scripts. Vue components are used and compiled with vueify. You should install the node dependencies with npm install
before making changes.
Styles are compiled from SASS. Some bower dependencies are used (install them with bower install
).
The whole lot can then be recompiled by running gulp
.