fusiongrokker

CFMenuCal: First prototype complete!

CFMenuCal - The First ScreenshotWell, it's not pretty, and it's not customizable via web forms (everything is hard-coded), and not all of the features are implemented yet (that's a lot of and's), but I've got a very, very rough prototype completed.

As I said, everything is hard coded. Each meal is an initialized struct, and then they are thrown into an array for easy searching. So far the only rules applied are proximity and repetition: two chicken-based meals aren't too close (a variable value), and each meal has a max-frequency property that defines how many times in a month you're willing to have it.

I've discovered why we have so much trouble putting together our menu every month, because the same issue is popping up for the program. The farther apart you set your minimum proximity, the more likely you are to run out of meals that fit all of the requirements before filling the entire menu. There are two ways to resolve this issue: reduce your minimum proximity, or expand your meal variety. We generally shot for at least a 6-7 day proximity when creating our menus by hand, and using a random number based application and the same set of rules we applied by hand, I wasn't able to consistently create a menu without any gaps with a proximity any greater than 4. I think we need to expand our variety. ;)

I've also allowed for a 0 minimum proximity - just in case you're the type of geek chef who would eat meatloaf 3 days in a row because a random number generator told you to.

Next up will be the ability to specify a max-difficulty by date, and then an optional setting to prefer more difficult meals on weekends, and maybe then - if I'm up to it - to try to keep more difficult meals farther apart. In the end, in addition to making a web-print-friendly version, I hope to be able to export this all to a CSV or another Excel-friendly format so that you can take a randomly generated menu that's almost what you want, and tweak it by hand.

Posted in CFMenuCal | ColdFusion | My projects