I'm about to work on version 2 of a custom cart site I built for a non-profit last year. This year they want a more complex solution, so I'm trying to choose between a custom implementation using CakePHP (last year I hand-coded it all with PHP), or customizing a pre-built cart app.
Background: Local non-profit farm, delivers organic food boxes each week to customers.
Version 1 supported: A single customer would have a single food box order--either "large" or "small". The farm would have an available set of say 15-20 items each week, and would choose a default set for small and large boxes. This is pretty typical of local farms in the area. But this particular farm wanted to give customers more choice...so if you choose to log on, you can customize your box the way you like it--getting 0, 1, or 2 of each available item up to the limit of your box (each item counts the same...so 1 order of carrots is the same as 1 order of beets in terms of the size of the box).
I built this all with PHP and MySQL. Very simple front end for customers to pick. Back end included the admin panels for the farm to set what was available this week, and how much would be included in a large or small box.
V2 needs to support customers with multiple boxes and different types...so a customer could order a large fruit box, and a small flower box, etc. Unlike a standard shopping cart, these are not one-off orders but recurring, weekly orders. And to add slight bit more complexity, if you don't log in and customize your box(es), you need to still get the default--so each week anyone who doesn't log in has to have the default orders created automatically (this was done previously in V1).
This is all going to require additional UI work as well as backend admin tools.
I'm wondering if any of the Dreamhost carts would support this kind of recurring "order"--really more like a subscription-- system. Or would it be better for me to re-work the code by hand?
Any input would be greatly appreciated!