Deliverable 4: MVP Documentation - alejoriosm04/F2F GitHub Wiki
Table of Contents
- 1. Project requirements
- 2. Infographic
- 3. System design
- 4. Usability analysis
- 5. Future work
- 6. Repository
- 7. Video
- 8. Project management
1. Project requirements
Requirement identifier | Requirement | Developed |
---|---|---|
FR01 | If the user wants to add ingredients to the request, the web app shall allow writing the ingredients if the list of items in their Kitchen is nonempty. | Yes |
FR02 | After adding all ingredients, the web app should allow the user to write the request in a text box element. | Yes |
FR03 | If the user wants to manage an ingredient, the web app shall provide the ability to edit their Kitchen. | Yes |
FR04 | When the Kitchen is updated, the system should save the timestamp in the database. | Yes |
FR05 | As soon as the request is sent the web app shall be able to display from the LLM API answer the recipe if the ingredients were actually edible | Yes |
FR06 | When the user wants a new recipe, the web app could allow choosing the kind of food to eat or cook. | Yes |
FR07 | If a new user wants to use the platform, the web app shall require signing up with email and password. | Yes |
FR08 | Upon entering, the authentication system should allow login associated with their email. | Yes |
FR09 | If the user wants to see statistics, the web app shall provide custom reports if there is data in the statistics section. | Yes |
FR10 | If the user wants to connect on different devices, the web app could be accessed on any modern cell phone or computer. | Yes |
FR11 | When a user enters the web application, the web app should remind the user to update their Kitchen information. | Yes |
FR13 | If the user wants to see their recipes history, the web app should provide access if there is data in their profile. | Yes |
FR14 | When a recipe is generated the web app shall be able to display from the LLM API answer the recipe image | Yes |
FR15 | When the user wants a new recipe, the web app could allow indicating the number of people to cook for. | Yes |
FR16 | When the user wants to generate a new report, the web app should provide custom reports if the last report was generated at least 15 days before. | Yes |
FR17 | Upon entering, the authentication system should authorize access for allowed users only. | Yes |
FR18 | Before sending the request to an LLM API the system shall count all daily requests sent by the user | No |
FR19 | When a recipe is generated, the web app shall allow the user to mark the recipe as favourite. | No |
FR20 | If the user wants to unmark a favourite recipe, the web app shall allow this if the favourites list is not empty. | No |
FR21 | Upon entering, the web app shall allow the user to see the favourites list in the favourites section. | No |
FR22 | While the application is loading, the web app should display an animation of a food item. | No |
2. Infographic
3. System design
3.1. Deployment View
3.2. Implementation View
3.3. Data Model
4. Usability analysis
Comment/Observation | Possible improvement actions | Improvement implementation (Yes/No) |
---|---|---|
"I can't use the app since I don't speak English" | Add translation strings for Spanish | No |
"I don't understand what to do when I register. There are no clear instructions on where I am and what is the main thing in the application." | Add clearer instructions at the prompt, add a call to action that invites the user to enter something and add the home page to the top navigation bar. | Yes |
"I can't add exact quantities of what I have" | Add the possibility to easily manage the quantities of the ingredients | Yes |
"If I add things that are not food to the kitchen, the system uses them in the recipe, without having any control over whether it is possible to use them as food." | Configure the model to be more accurate with the ingredients and verify that it is food or not. To avoid errors when generating recipes | No |
"In some cases, it may not be obvious that you need to click on the logo on the page to return to the home page and generate recipes" | Add a "Generate Recipe" section to the main menu for similar redirection, in addition to the option of clicking the logo to be redirected to the home page. | Yes |
"If the ingredient list is already too long, I can't easily see the ingredient I just added to my kitchen because it's at the end" | Sort the ingredients in descending order by time. | Yes |
5. Future work
- A more optimal pre-trained model of recipe generation can be implemented within the application, through more accurate information and reference. Allowing clearer results and avoiding errors in the generation of confusing results.
- Allow users to mark recipes or ingredients as favorites. Optimizing recipe history management and continuous updating of the kitchen.
- Greatly improve the user experience and user interface to provide a unique and branded experience. Offering more information before using the application on its operation, scope, opinions, history, etc...
- More advanced and accurate analytics, allowing to understand behaviors that offer future information about the user in a predictive way. Through the design of advanced behavioral algorithms.
- Translation into different languages. Allowing to make the product more scalable at a global level and expanding its image.
- Use the timestamp of the last time the user modified the kitchen to schedule updates regularly at a fixed interval.
6. Repository
-
Generated with the
pipreqs
package (which only includes packages that have been imported in the project). -
README.md
with installation instructions.
7. Video
https://www.youtube.com/watch?v=tCy5E_lSM6E
8. Project management
8.1. Backlog
Sprint backlog: https://github.com/users/alejoriosm04/projects/1/views/3?filterQuery=iteration%3A%22Iteration+4%22