|
|
|
|
|
by crisscrosscrash
2957 days ago
|
|
Glad to hear the models are sane. I'm trying to get off a horribly convulted system with many issues and have been keeping my eye on Spree for years. Any thoughts about choosing Spree vs Solidus at the point? I basically have custom frontend everywhere including some of checkout and account pages, so I mainly need to replace cart and payments and checkout and may try to integrate at the API level and handle all UI custom. I have a bunch of requirements that may need plugins:
- Volume pricing
- Personalization such that some products can exist in the cart multiple times, but each item has a unique ID
- Upsells / add-ons for personalized product. I currently handle this hierarchy outside the cart, but it's brittle. There are thousands of different options per product and they change all the time. Quantities of these have different syncing rules in terms of their quantity vs their parent combined with quantities from an external data source e.g. address book.
- Social login, potentially adding login and payments with Amazon. Pondering if it'd be best to go with Auth0. Promotions seem really powerful which is good, because I use them heavily and would want to add custom ones. Any thoughts, insights, suggestions given these goals? Looking to support 100k products and millions of promotions. |
|
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.