ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
RequirementIDShort DescriptionRequirement Status (Complete/Incomplete)Developers AssignedDevelopers Who CompletedStandalone/DependentPriorityCritical/Not Critical
2
Visible to userLIST_RECIPESUser can view a list of their recipesCompleteJunoJunoStandaloneHighCritical
3
VIEW_RECIPESUser can view single recipes in detailCompleteJunoJunoStandaloneHighCritical
4
MODIFY_RECIPESUser can edit, save, and delete recipesCompleteAndrew, Chris, JunoAndrew, Chris, JunoStandaloneHighCritical
5
STORE_RECIPESRecipes will be stored on the diskCompleteGraham, JunoGraham, JunoDependentHighCritical
6
SEARCH_QUERYUser can search recipes with a queryCompleteJunoJunoDependentHigh
7
SEARCH_FILTER
User can filter recipes by ingredients, utensils, and allergens
CompleteJunoJunoDependentMedium
8
SEARCH_RANKSearch results will be ranked by quality and relevanceCompleteJunoJunoDependentMedium
9
VIEW_INGREDIENTSUser can view ingredients in the pantryCompleteChris, JunoChris, JunoStandaloneHighCritical
10
MODIFY_INGREDIENTSUser can create, edit, and delete ingredients in the pantryCompleteChris, JunoChris, JunoStandaloneHighCritical
11
STORE_INGREDIENTSIngredients will be stored on the diskCompleteGraham, JunoGraham, JunoDependentHighCritical
12
VIEW_UTENSILSUser can view utensils in the pantryCompleteJunoJunoStandaloneHigh
13
MODIFY_UTENSILSUser can create, edit, and delete utensils in the pantryCompleteJunoJunoStandaloneHigh
14
STORE_UTENSILSUtensils will be stored on the diskCompleteGraham, JunoGraham, JunoDependentHigh
15
VIEW_ALLERGENSUser can view allergens in settingsCompleteChris, JunoChris, JunoStandaloneHighCritical
16
MODIFY_ALLERGENSUser can add and remove allergens in settingsCompleteChris, JunoChris, JunoStandaloneHighCritical
17
STORE_ALLERGENSAllergens will be stored on the diskCompleteGraham, JunoGraham, JunoDependentHighCritical
18
RECIPE_TIMERUser has access to a fully functional timer in the viewerCompleteJunoJunoStandaloneHigh
19
RECIPE_TIMER_SMART
User can quickly set the timer to times detected in the recipe
CompleteJunoJunoDependentMedium
20
RECIPE_RATINGSUser can rate recipes (SEARCH_RANK depends on this)CompleteJunoJunoStandaloneMedium
21
RECIPE_RATINGS_PRETTY
Ratings are displayed and inputted as stars instead of a number
CompleteJunoJunoDependentLow
22
VIEW_PHOTOSPhotos will be displayed with recipesCompleteJunoJunoDependentMedium
23
MODIFY_PHOTOSUser can upload photos for their recipesCompleteJunoJunoDependentMedium
24
STORE_PHOTOSPhotos will be stored on the diskCompleteJunoJunoDependentMedium
25
TOAST_MESSAGES
Users will be updated of events with toast messages in every page
CompleteJunoJunoStandaloneMedium
26
HELP_PAGE
A help page is easily accessible to the user at any time in the app
CompleteJunoJunoStandalone
Medium-High
27
BACKUP_RECIPESUser can back up their recipes to JSONCompleteJunoJunoDependentMedium
28
RESTORE_RECIPESUser can restore their recipes from JSONCompleteJunoJunoDependentMedium
29
PRELOADED_RECIPESNew users open the app to several preloaded recipesCompleteChrisChrisDependentHigh
30
FRONTEND_ERRORSErrors must be graceful and generate toast messages
31
32
Not visible to userDB_MEMCACHE
Recipes, ingredients, etc. are cached in memory for faster access
CompleteGraham, JunoGraham, JunoDependentMedium
33
DB_SYNCHRONIZEDDatabase writes will queue to prevent race conditionsCompleteGraham, JunoGraham, JunoDependent
Medium-High
34
DB_TIDY
Database will detect and delete orphaned photos on startup
CompleteJunoJunoDependentMedium
35
SPAM_PROTECTIONSpam requests will be rejectedCompleteJunoJunoStandaloneMedium-Low
36
CORS_PROTECTIONAPI requests must come from the app frontendCompleteJunoJunoStandaloneMedium
37
INPUT_SCREENINGAll inputs are screened for invalid or dangerous charactersCompleteChris, Andrew, JunoChris, Andrew, JunoDependent
Medium-High
38
INPUT_SIZELIMITAll inputs are limited for size by the frontendCompleteJunoJunoDependentMedium
39
INPUT_SENSEEmpty, 1-character, otherwise invalid inputs are rejectedCompleteJunoJunoDependentMedium
40
BACKEND_ERRORS
Provide useful log info and continue operating when errors occur
CompleteJunoJunoDependentHigh
41
BACKEND_AUTOTEST
Backend has unit and integration tests set to run before packaging
CompleteJunoJunoDependent
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