A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | RequirementID | Short Description | Requirement Status (Complete/Incomplete) | Developers Assigned | Developers Who Completed | Standalone/Dependent | Priority | Critical/Not Critical | ||||||||||||||||||
2 | Visible to user | LIST_RECIPES | User can view a list of their recipes | Complete | Juno | Juno | Standalone | High | Critical | |||||||||||||||||
3 | VIEW_RECIPES | User can view single recipes in detail | Complete | Juno | Juno | Standalone | High | Critical | ||||||||||||||||||
4 | MODIFY_RECIPES | User can edit, save, and delete recipes | Complete | Andrew, Chris, Juno | Andrew, Chris, Juno | Standalone | High | Critical | ||||||||||||||||||
5 | STORE_RECIPES | Recipes will be stored on the disk | Complete | Graham, Juno | Graham, Juno | Dependent | High | Critical | ||||||||||||||||||
6 | SEARCH_QUERY | User can search recipes with a query | Complete | Juno | Juno | Dependent | High | |||||||||||||||||||
7 | SEARCH_FILTER | User can filter recipes by ingredients, utensils, and allergens | Complete | Juno | Juno | Dependent | Medium | |||||||||||||||||||
8 | SEARCH_RANK | Search results will be ranked by quality and relevance | Complete | Juno | Juno | Dependent | Medium | |||||||||||||||||||
9 | VIEW_INGREDIENTS | User can view ingredients in the pantry | Complete | Chris, Juno | Chris, Juno | Standalone | High | Critical | ||||||||||||||||||
10 | MODIFY_INGREDIENTS | User can create, edit, and delete ingredients in the pantry | Complete | Chris, Juno | Chris, Juno | Standalone | High | Critical | ||||||||||||||||||
11 | STORE_INGREDIENTS | Ingredients will be stored on the disk | Complete | Graham, Juno | Graham, Juno | Dependent | High | Critical | ||||||||||||||||||
12 | VIEW_UTENSILS | User can view utensils in the pantry | Complete | Juno | Juno | Standalone | High | |||||||||||||||||||
13 | MODIFY_UTENSILS | User can create, edit, and delete utensils in the pantry | Complete | Juno | Juno | Standalone | High | |||||||||||||||||||
14 | STORE_UTENSILS | Utensils will be stored on the disk | Complete | Graham, Juno | Graham, Juno | Dependent | High | |||||||||||||||||||
15 | VIEW_ALLERGENS | User can view allergens in settings | Complete | Chris, Juno | Chris, Juno | Standalone | High | Critical | ||||||||||||||||||
16 | MODIFY_ALLERGENS | User can add and remove allergens in settings | Complete | Chris, Juno | Chris, Juno | Standalone | High | Critical | ||||||||||||||||||
17 | STORE_ALLERGENS | Allergens will be stored on the disk | Complete | Graham, Juno | Graham, Juno | Dependent | High | Critical | ||||||||||||||||||
18 | RECIPE_TIMER | User has access to a fully functional timer in the viewer | Complete | Juno | Juno | Standalone | High | |||||||||||||||||||
19 | RECIPE_TIMER_SMART | User can quickly set the timer to times detected in the recipe | Complete | Juno | Juno | Dependent | Medium | |||||||||||||||||||
20 | RECIPE_RATINGS | User can rate recipes (SEARCH_RANK depends on this) | Complete | Juno | Juno | Standalone | Medium | |||||||||||||||||||
21 | RECIPE_RATINGS_PRETTY | Ratings are displayed and inputted as stars instead of a number | Complete | Juno | Juno | Dependent | Low | |||||||||||||||||||
22 | VIEW_PHOTOS | Photos will be displayed with recipes | Complete | Juno | Juno | Dependent | Medium | |||||||||||||||||||
23 | MODIFY_PHOTOS | User can upload photos for their recipes | Complete | Juno | Juno | Dependent | Medium | |||||||||||||||||||
24 | STORE_PHOTOS | Photos will be stored on the disk | Complete | Juno | Juno | Dependent | Medium | |||||||||||||||||||
25 | TOAST_MESSAGES | Users will be updated of events with toast messages in every page | Complete | Juno | Juno | Standalone | Medium | |||||||||||||||||||
26 | HELP_PAGE | A help page is easily accessible to the user at any time in the app | Complete | Juno | Juno | Standalone | Medium-High | |||||||||||||||||||
27 | BACKUP_RECIPES | User can back up their recipes to JSON | Complete | Juno | Juno | Dependent | Medium | |||||||||||||||||||
28 | RESTORE_RECIPES | User can restore their recipes from JSON | Complete | Juno | Juno | Dependent | Medium | |||||||||||||||||||
29 | PRELOADED_RECIPES | New users open the app to several preloaded recipes | Complete | Chris | Chris | Dependent | High | |||||||||||||||||||
30 | FRONTEND_ERRORS | Errors must be graceful and generate toast messages | ||||||||||||||||||||||||
31 | ||||||||||||||||||||||||||
32 | Not visible to user | DB_MEMCACHE | Recipes, ingredients, etc. are cached in memory for faster access | Complete | Graham, Juno | Graham, Juno | Dependent | Medium | ||||||||||||||||||
33 | DB_SYNCHRONIZED | Database writes will queue to prevent race conditions | Complete | Graham, Juno | Graham, Juno | Dependent | Medium-High | |||||||||||||||||||
34 | DB_TIDY | Database will detect and delete orphaned photos on startup | Complete | Juno | Juno | Dependent | Medium | |||||||||||||||||||
35 | SPAM_PROTECTION | Spam requests will be rejected | Complete | Juno | Juno | Standalone | Medium-Low | |||||||||||||||||||
36 | CORS_PROTECTION | API requests must come from the app frontend | Complete | Juno | Juno | Standalone | Medium | |||||||||||||||||||
37 | INPUT_SCREENING | All inputs are screened for invalid or dangerous characters | Complete | Chris, Andrew, Juno | Chris, Andrew, Juno | Dependent | Medium-High | |||||||||||||||||||
38 | INPUT_SIZELIMIT | All inputs are limited for size by the frontend | Complete | Juno | Juno | Dependent | Medium | |||||||||||||||||||
39 | INPUT_SENSE | Empty, 1-character, otherwise invalid inputs are rejected | Complete | Juno | Juno | Dependent | Medium | |||||||||||||||||||
40 | BACKEND_ERRORS | Provide useful log info and continue operating when errors occur | Complete | Juno | Juno | Dependent | High | |||||||||||||||||||
41 | BACKEND_AUTOTEST | Backend has unit and integration tests set to run before packaging | Complete | Juno | Juno | Dependent | Medium-High | |||||||||||||||||||
42 | ||||||||||||||||||||||||||
43 | ||||||||||||||||||||||||||
44 | ||||||||||||||||||||||||||
45 | ||||||||||||||||||||||||||
46 | ||||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||
49 | ||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||
56 | ||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 |