You are contracted to design and implement an online meal planner and recipe system. In this system, the users should be able to do the following:
- Sign up for accounts
- Enter basic profile information
- Add recipes
- Keep track of the creation date of a recipe
- Plan meals for the week (Breakfast, Lunch & Dinner)
- Generate a supermarket list based on the planned meals
- Keep track of available ingredients in their kitchen
- Keep track of the calorie count for the planned meals
- Request the creation of meals based on specified calorie count
- Upload images of the meals
- Input servings for each meal
The system should be able to randomly create only 1 meal plan for the week. However, users should be able to regenerate this meal plan at anytime.
The list of ingredients should be taken from a predefined list, so users should not be able to insert ingredients that does not exist in the system. Likewise the measurements should also be predefined.
- 1⁄2 Cup Milk
In the example above, Cup and also Milk should be checked against a list in the database.
All the instructions for a recipe should NOT be stored in one (1) field.
All the ingredients should NOT be stored in one (1) field.
Draw an E-R diagram for the above application. Make sure that you state any assumptions that you made and any information that could not be captured in the diagram. You are free to add any additional information that you feel may be useful for this application. However, you must state why you choose to do so. Bonus points will be assigned for any useful entities proposed.
Convert the E-R diagram into a set of relations/tables.