cis3296f24 / Section3ProjectPresentation

cis3296f24-classroom-project-presentation-ProjectsFeedbackBoard-template created by GitHub Classroom
0 stars 0 forks source link

Meal Prep App #11

Open mgeragh018 opened 3 days ago

mgeragh018 commented 3 days ago

Project Abstract This document introduces a Meal Prep App, a web-based application designed to streamline meal planning and grocery shopping. The app allows users to generate recipe ideas, save their selections, and create a weekly meal plan with an automated shopping list. At a high level, the app starts with two main buttons: "Get Recipes" and "Week Meal Plan". • Get Recipes: When this button is pressed, the app makes a call to ChatGPT, which generates three unique recipes. Each recipe is displayed with a name, description, and accompanying image. Users can click the "Saved" button to store the recipe details in a database. • Week Meal Plan: When this button is pressed, all saved recipes are shown, sorted by the most recent entries. Users can select their preferred recipes for the week by checking the associated boxes. Once the selections are made, the "Checkout" button generates a consolidated shopping list based on the ingredients from the selected recipes.

Conceptual Design This will be a full-stack web application, using HTML, JavaScript, and CSS for the front end, Java Spring Boot for back-end functionality, and MySQL Workbench to manage the MySQL database. Below is a UML diagram representing the four key Java classes in the Meal Prep app, each with specific responsibilities and methods that define the server-side logic of the application.

The UML class diagram outlines the Java classes that manage the core business logic for the app, ensuring that recipe data, meal plans, and shopping lists are handled effectively. Here’s a breakdown of each class and its role in the system:

UML Class Diagram image

This UML sequence diagram illustrates the process of generating recipes using ChatGPT. It begins with the User making a request for recipes from the server. Upon receiving this request, the Server sends a request to the ChatGPT API to generate recipes. Once the recipes are generated, the ChatGPT API returns the results to the Server, which then forwards the recipes back to the User for display. This sequence emphasizes the interaction between the user, server, and the ChatGPT API, demonstrating the flow of data from the user's request to the generation and retrieval of recipe information, and finally, the delivery of the response to the user.

UML Sequence Diagram recipeSequenceDiagram

Proof of Concept GitHub Link: https://github.com/mgeragh018/FoodPrepApp.git

The Proof of Concept (POC) for the Food Prep App is implemented entirely on the client side, so there’s no code compilation required. To run the application, simply follow the instructions outlined in the README.md file. This includes opening the index.html file in a web browser, where the application interface and functionality can be fully accessed.

Background The Food Prep App is designed as an innovative tool for generating unique, AI-driven recipe ideas and corresponding images, enhancing the meal planning experience for users. Unlike typical recipe websites and mobile apps that require extensive databases of manually curated recipes, such as Allrecipes or Yummly, the Food Prep App leverages the power of OpenAI’s GPT-3.5 for real-time recipe creation and DALL-E for custom image generation. This approach offers a more interactive and personalized experience, as users receive custom recipe ideas on demand. While there are open-source projects like MyRecipe that utilize community-contributed content, the Food Prep App uniquely combines AI-driven creativity with custom-generated visuals, differentiating it from both open-source and proprietary options. No existing open-source code will be used in developing this application, as it is focused on a unique integration of AI technologies that sets it apart from existing products.

Required Resources For this project, we will use Visual Studio Code as the primary coding environment, allowing us to develop and manage both the frontend and backend components efficiently. The backend will be built using a Spring Boot application template with Java, providing a robust framework for RESTful services and easy integration with databases. On the frontend, we’ll utilize HTML, CSS, and JavaScript for a simple yet functional user interface. To support database operations, we will need access to MySQL Workbench, which I have experience using from a previous class. Additionally, the project requires access to a server to host and deploy our application; ideally, we can use the Linux Server available at the school for this purpose. If access to this server is not feasible, we may need to discuss alternative hosting options with the instructor.

Proof of Feasibility GitHub Link: https://github.com/mgeragh018/FoodPrepApp.git

Presentation

chiikugo commented 4 hours ago

I really like this application! I'm a big fan of food and meal-prepping in general is huge for college students. Using the standard HTML/CSS/ JS for front end is fine, and springboot is very big in industry so it would be really cool to work with it!

I would love to work on the front end, and work on the algorithms in the back-end with the API calls, optimizing the amount of calls we are sending to OpenAI, also working with prompt engineering!