Developing an open/free ecommerce add-on for 5.7

Permalink 2 users found helpful
Hi all,

I wanted to draw attention to a project that is really taking shape - Vivid's Store add-on.

Vivid was kind enough to open source this package, with it being available on github for review and download.
https://github.com/vividweb/vivid-store...

I've been helping where I can with development, by adding in some features and working through issues. In terms of a code-base it's very well designed, without being too complex. It’s pretty easy to pick up and start working on.

Although there are still some fairly important features in the works, it's already quite heavily featured and the finer details are already being looked at.

Over the last few years I've been a big fan of concrete5's eCommerce add-on for 5.6, we’ve had a lot of success with it. What we found through using it repeatedly however, was that for nearly every shop where we used it, we ended up heavily customising it.

The beauty of concrete5's architecture though has meant we've been able to extend, override and theme it, making it cover a very broad range of shop types. Other systems aren’t so easy to customise!

So what this reflection highlighted was that going forward with 5.7, I believe we need an open, developer friendly, ecommerce platform.

One that:
- Out of the box has a range of commonly needed ecommerce features, with sensible defaults and layouts, but with no real ‘look and feel’ of its own
- Is then able to be easily overriden to be able to customise things like product layouts, the cart and checkout screens
- Can be extended with extra functionality/packages (both free and commercial), taking advantage of things like event hooks or even simple APIs
- Has features that make the most of concrete5’s core features, like user groups and permissions
- Can handle a variety of shop sizes and site structures
- Is embraced by the community, through testing, debugging, code submissions and forum discussions.

With the current development in mind, I’m of the belief that the Vivid Store add-on can fill this need.

So this is perhaps an appeal to those that are looking to the future and are wanting a full featured open source ecommerce platform for 5.7. We’d love you to get involved, even if you can only spare a few minutes here and there.

If you are a developer, you could perhaps pick an issue/feature on github (which is also sort of acts like a todo list) and have a crack at developing that feature.
If you do pick something to work on, just post a message on the issue so that it can be marked as in development.

Or if you're more of a 'front-end' person, you could help tidy up some of the dashboard pages, and provide guidance on UX.

Or if you're simply a concrete5 user/fan, even just testing out the package and raising issues and bugs is invaluable.

Helping out with a project like this is not only rewarding, but also a great way to learn more about 5.7 and web development in general. I can say that from my modest involvement so far I've already learnt lots of new things about 5.7. A package like this pretty much covers all facets of concrete5 development!

Ultimately, we could end up treating a project like this as an unofficial sidearm to concrete5, with it being community built and supported.

Many hands make light work.

-Ryan

mesuva
View Replies:
Blenderite replied on at Permalink Reply
Blenderite
This sounds like an awesome idea! I will be watching this.
MrKDilkington replied on at Permalink Reply
MrKDilkington
This is great and I definitely want to participate.

It looks like there are a lot of opportunities to get involved.
WillemAnchor replied on at Permalink Reply
WillemAnchor
Very interesting
madesimplemedia replied on at Permalink Reply
madesimplemedia
Sounds great, really welcome this!
PineCreativeLabs replied on at Permalink Reply
PineCreativeLabs
Working on porting my "FlexCRETE" theme to 5.7, which will have support for this addon, too.
mesuva replied on at Permalink Reply
mesuva
That's fantastic to hear. Any issues and improvements you can suggest to the output would be very welcome. "Add a class here for styling purposes", or, "this layout doesn't work at narrow widths" are the kind of things that can really make a huge difference.

My thoughts are that if the HTML output from something like Vivid Store for things like product blocks and the checkout screens is fairly conservative/normal, then it should mean that any well-built theme presents the components neatly.
Vivid replied on at Permalink Reply
Vivid
Agreed, we're pretty particular about front end dev, and tried to do our best to make sure defaults were minimal, and easy to manage. We try to make sure everything has a class.

We've worked on some custom sites since releasing this and the default styles nearly "just work" on every custom theme (and MP theme) we've tried it on. So that's always good.

The product list also uses a really simple "grid" system that is framework agnostic. So that's been nice in getting columns/rows without using tables, having clean markup, and also not relying on a theme to use something in particular.
Vivid replied on at Permalink Reply
Vivid
Thanks for writing this. Really humbling.

It's interesting how this has transformed. This started off as something stupidly minimal to meet a particular clients needs, and has more than quadrupled in scope and size. Part of that comes from other client needs, but a lot comes from people like Ryan/mesuva, and many others that have contributed ideas and solutions.

As Ryan can attest, I'm open about nearly any valuable idea. I think there's something good here to start with, and that having the community involved in testing and reporting is helpful.
OKDnet replied on at Permalink Reply
OKDnet
Ryan and Vivid,

Thanks, this is great and I wholeheartedly agree. I can see this really taking shape and benefiting the Concrete5 community. I'd like to find ways to help.
MrKDilkington replied on at Permalink Reply
MrKDilkington
For anyone without a free GitHub account, make sure to sign up so you can star the Vivid Store project and start contributing.

http://github.com/join