Hacker News new | ask | show | jobs
by pixelbash 2957 days ago
Sounds like an interesting project. I picked Spree over Solidus because Solidus is based on version 2.4 of Spree and I was already on version 3.0 at the time. The split was due to the company behind Spree being bought out but luckily for us another company stepped in and Spree is now moving quite quickly..

Have done personalised line items in the past, when adding to cart there is a function that checks not just the variant being added but the options being added with. The comparison hooks for these options are designed to be extended, so that one should be relatively easy. Complex price changes on orders/line items can be handled via adjusters. These also hook into orders and are very flexible (although I haven't had to build any).

Have also build custom integrations to sync inventory with an external source using webhooks, since everything is fundamentally just Rails underneath it's as easy as you might expect.

No experience with changing the auth system, but since there is a separate plugin for the authentication (spree_devise) I think the intention was/is to make it easy to swap out if needed. I don't know how easy that would be though. There is no address book out of the box (just a save last used address feature), that's one of the features I am finally adding now.

I think you could go one of two ways with this, either a) keep your code light using decorators etc and try to do everything the 'Spree' way so that you can benefit from an easy upgrade path or b) fork spree entirely and manually bring in updates from upstream. I am slowly leaning towards b) because Spree has some design decisions that are incredibly powerful but also make everything much more complicated. Mostly I am referring to the ability to split shipments on checkout here.. I spent hours tracking down a specific line that was rejecting a shipment once. I gave up entirely and replaced spree_frontend early on, but I am mostly a frontend developer.

1 comments

Thanks for insights here. Funny you mention split shipments because that's a current tricky area for me and one I wish my commerce system could handle. I create potentially many shipments from orders right now based on inventory, the types of add-ons chosen, where the buyer is, and current workload. Unfortunately right now, this is all done in a separate system so it's difficult to provide customers with good visibility on shipping times of each product up front.