This documents holds the feature Roadmap for RecipeBuddy, an open source project.

Where we are today?

As of June 18 2023, following has been completed

  1. Working Streamlit frontend, with 3 working menus on left pane
  2. Random Recipe - Returns a random recipe on the right pane using Spoonacular API. Response is displayed as is without further refinements.
  3. Recipe by Cuisine - There is a predefined set of Cuisines. User can choose a cuisine, followed by the number of recipes they wish to see. Returns the desired number of recipes using Spoonacular API.
  4. Recipe by Ingredients - There is a predefined set of Ingredients, followed by a text area where the user can input comma separated values. User can choose one or multiple ingredients, type in other ingredients they may have, followed by the number of recipes they wish to see. Returns the desired number of recipes using Spoonacular API.
  5. Dockerfile, one for backend and one for frontend is written. These are used while deploying in fly.
  6. docker-compose is written for easy deployment in local machine
  7. Testcases for backend and frontend are written and present in appropriate folders
  8. github workflow yml is written in a way that testcases will run when there is a push to main, when a PR is being merged to main
  9. The solution is deployed in fly

The road ahead

Below is a high level feature list to be implemented in immediate future. This document will be updated frequently as and when things progress.

Backend

  1. Complete developing functionality for Recipe by Mealcourse using Spoonacular
  2. Implement each of the menu items using OpenAI’s API. This is to give the user to choose between AI generated recipe and a non-AI generated recipe
  3. Implement Recipe by Image and Recipe by Images using OpenAI’s API, as Spoonacular doesn’t seem to support this feature
  4. Today the response is displayed as is. Instead it should extract required information and show it in a useful manner so that the user can use it to cook a meal. Ideally, the output should have an image, the source URL (if applicable), required ingredients, clear steps to prepare

Backend - Requirements as on Aug 31 2023