Kelly’s Status Report for 4/20/24


Work Accomplished:

  • Custom/ Edit Input popup
    • Added option to edit the inventory items by tapping on the item card. Information automatically populates.
      • Changes to the quantity, picture, etc. will update instantly to view changes
      • Will also save to database, but showing the change instantly at first will reduce latency and require less calls to the database.
    • Added location dropdown menu to choose where the item is stored
      • If the location is sauces/spices, there will be no option for expiration date and quantity, since we will just assume an infinite amount

 

  • Images
    • Changed to String type to handle file paths, urls, and encoded images which will be stored in the database.
    • Used DALL-E 3 to generate initial images to go along with each AI generated recipe. This makes the loading time to generate around 20 seconds, which allows the cooking animation to play until the end
    • Encoded images from file or url using base64Encode to save to database. Decoded images from database to display.
      • Turned the current saved images (20 produce items we chose) that were links into encoded strings by writing to a .txt file, since there are too many characters to print, to save to the database as constants

  • Database functions set up
    • I created made “//TODO:” comments throughout my code ands et up functions where the database will need to be accessed, like deleting, saving, etc. so that integrating the database in the app will be easy to follow by Sebastian.

  • Replaced the upload image button to an edit button
    • Only shown when the recipe is saved
    • User can edit image, ingredients, or instructions of the recipe
      • Changes to the picture, etc. will update on the recipe cart instantly to view changes

 

  • Added more filter options in the recipe generating filter button
    • Only one time under Timing can be selected

  • Video streaming
    • Tried to receive via TCP server address and port and use zmq – didn’t work because one of the plugins would cause errors and there are very minimal documentation
    • Tried to receive via HTTP url – video feed shows when opening on browser, but not on flutter app because failed to load the video.
      • This way works to load a video url, but might not have the functionality to support real time streaming
      • Might be the way we implemented how the video is sent
      • When I searched it up, it might have to do with how it is http instead of https.
      • Might also be because the server address I am testing with is 127.0.0.1 (localhost) and the simulator/iPhone’s localhost would not be the same as the computer’s localhost, so it opens to nothing.
    • When looking up video streaming flutter apps for examples, people usually use external accounts to stream the video and use keys that the service generates
    • Tried to look up to see if there are other people trying to stream directly, but most questions are left unsolved. There is more support for Android and looks like RTSP is trickier for IOS

 


Additional Questions:

New tools/knowledge

  • Figma
  • Flutter
    • UI elements/ widgets
    • Flutter plugins
  • OpenAI integration for ChatGPT and DALL-E

Learning strategies

  • Look at documentation/ official examples
  • Look for online tutorial articles or YouTube videos of people making simple apps revolving around the thing I need to learn
  • Trial and error working on things on my own and see how it turns out

Progress:

  • Completed a few small stretch goals (editing item and recipes, AI generated images)
  • Still working on connecting the scanner video feed to the app – will look into a few different methods.
    • If it does not work, might consider getting a Raspberry Pi Screen to connect the cameras to and mount onto the refrigerator instead of have the video feed viewed on the app.
  • Will do user experience testing via survey of people using the app once the DB is connected so the app works as intended.

Things to complete next week:

  • Connect scanner video feed to the app
  • Verification tests
  • Final presentation slides

 



Leave a Reply

Your email address will not be published. Required fields are marked *