These are projects posted by the students of Dr. Gove Allen at Brigham Young University. These students have taken one semester-long course on VBA and generally have had no prior programming experience

Wednesday, April 11, 2012

Recipe Grabber

The Excel VBA Recipe Grabber is a prototype of a product for which I wrote a business plan a couple years ago for a marketing class. The idea was to have a single easy-to-use online resource for planning all things food. This online database would help users store, share, and find recipes, get nutrition facts and food costs for these recipes, create meal plans and shopping lists (and possibly even submit an online order for foods needed) based on the individual’s unique nutritional needs and financial and time constraints. The problem with current websites is that the ones that are easy to use do not provide complete information or functions (like nutrition facts or food costs), and the ones that provide nutrition facts or food costs are cumbersome to use.
My VBA project did not attempt to be better than any existing online recipe website. Rather, it served as an experiment for me to get a better idea of the challenges involved in creating a user-friendly do-all food planner. Hopefully by going through some of these challenges with this project, if I ever end up starting a company to execute this business plan, I’ll have some background to help me better anticipate and understand the challenges encountered by the programmers I hire.
The original scope of my project was to allow users to:
·        Enter their own recipes and photos
·        Browse and view recipes previously entered
·        View basic nutrition facts for each recipe
·        Scale recipes to different sizes
·        Assign a recipe to a specific date and mealtime on a calendar
·        Generate a shopping list based on recipe ingredients for recipes on the calendar within a specified date range
However, after creating the form to allow users to enter and save a recipe, I decided it would be useful to create a form to allow them to find a recipe online, “grab” it, and save it in their own database. As I began setting these forms up for calculating the nutrition facts it became clear that the scope of my project was too big for someone with so little programming experience in the available timeframe. The redefined scope of my project therefore is as follows:
·        Allow users to enter recipes
·        Allow them to “Grab” recipes from
·        Match recipe ingredients up to the list of ingredients that corresponds with nutrition facts
·        Memorize user’s matches between the above ingredients fields for future use
·        Save recipes to a text file that would be easy to write back into Excel
In other words, the user is not yet able to browse recipes previously entered (although he can open them in txt format), and there is no display of nutrition facts, no scaling of recipes, and no shopping list functionality. These will have to be explored another time. However, the added functions of 1. “grabbing” recipes from a website, and 2. Building in artificial intelligence (yes, you read that right), were huge additions that required significant time and resourcefulness.

No comments:

Post a Comment

Blog Archive