/lavender

An Open Source E-Commerce Framework built on top of Laravel.

Primary LanguagePHP

Lavender

Lavender is an Open Source E-Commerce Framework built on top of Laravel.

License

Lavender is open-sourced software licensed under the MIT license

Support

Come chat with us on freenode in #lavender, or submit an new issue.

Installation instructions

Run Composer:

composer create-project lavender-commerce/lavender

Set lavender/public as your new web root (example):

ln -s lavender/public public_html

Navigate to the lavender directory:

cd lavender

Set up your connection in the database config file:

vim app/config/database.php

Run the lavender installer:

php artisan lavender:install

Publish all package assets:

php artisan asset:publish

Seed catalog sample data! (optional)

php artisan db:seed --class=SampleData

That's it!

Troubleshooting

Login not working? Try modifying your sessions config:

app/config/session.php

Emails not working? Try modifying your email config:

app/config/mail.php

Something else? Follow the install instructions carefully or submit an new issue!

Lavender Ecommerce Features

Entities

A common task while developing features for an e-commerce site is extending existing entities (customers, orders, products, etc) and creating new ones (blog posts, banners, etc) and handling relationships. Lavender's Entity model (see 'entity.php' config files) makes it easy to create and extend entities without having to deal with managing rewrite conflicts, writing database migrations or manually creating relationships.

Updating entities

To create a new migration based on updated entity config, run:

php artisan migrate:entity make_foo

...which creates a migration file for you, now run:

php artisan migrate

You're done!

Themes

You can configure routes, route filter, views, and view composers based on themes. Themes can be configured to fallback to the 'default' theme with an unlimited depth of inheritence.

Routing

Routes can be configured from the 'routes.php' config file. available to each module.

Layout Injection

Injecting content to templates is done via the 'layout.php' config file.

View composers and Filters

You can assign composers to views with the 'composers.php' config file and predefine route filters in 'filters.php' file.

Contributing

This repository contains the controllers, models, and views that makes Lavender an Ecommerce platform. Lavender is in active development and pull requests are much appreciated! (especially with frontend stuff)

To contribute to the Lavender Framework, please see the lavender/framework repository.