Skip to content

Requirements (Draft)

Onur edited this page Mar 6, 2025 · 31 revisions

This document has moved to here

Affordable & Healthy Eating Hub 🍏 : Software Requirements Specification (SRS)

Table of Contents

Revision History

Revision Number Date Author Reviewer Description Revision Hash
0.0.1 Initial draft 8499e82
0.0.2-NFR 06/03/2025 Yusuf AKIN Removed: 2.1.3, 2.4.4 , 2.4.5, 2.5.3 ; Revised: Made 2.* more manageble/simpler and more quantifyable c1462fd

Introduction

Affordable & Healthy Eating Hub is a platform connecting users with affordable, nutritious food options through smart grocery comparisons and meal planning tools. The system combines community recipe sharing with local food resource integration to promote accessible, healthy eating.

Glossary

Grocery option: Any food item available for sale on the platform, e.g., apple, rice, etc.

Nutrition type: One of the following categories: carbohydrates, proteins, or fat.

Nutrition score: A numerical rating (two decimal places, out of 10) assigned to a food item based on its nutritional profile. This score is calculated considering calorie density, micronutrient values, and processing levels.

Dietary option: One of the following: vegetarian, vegan, or celiac.

Allergies: User-defined dietary restrictions that prevent ingredient selection.

Shopping list: A list containing grocery options, their prices, and their nutrition scores.

Forum: A discussion space where users can interact with posts through:

  • Liking
  • Commenting
  • Sharing via a link

Post: A user-generated content item shared in the forum, which can be:

  • Recipe
  • Nutrition Tip

Recipe: A structured post containing a list of ingredients, step-by-step instructions, nutrition information, cost breakdown, and optional store recommendations.

Nutrition Tip: A post containing dietary advice or food recommendations.

Deal: A promotional offer posted by a producer or market, including product details, price, and location.


1. Functional Requirements

1.1 User Requirements

1.1.1 User Features

1.1.1.1 Users shall be able to search grocery options by:

  • 1.1.1.1.1 Name
  • 1.1.1.1.2 Price
  • 1.1.1.1.3 Nutrition scores
  • 1.1.1.1.4 Dietary options

1.1.1.2 Users shall be able to filter grocery options by:

  • 1.1.1.2.1 Nutrition scores
  • 1.1.1.2.2 Dietary options
  • 1.1.1.2.3 Price
  • 1.1.1.2.4 Allergies
  • 1.1.1.2.5 Store ratings

1.1.1.3 Users shall be able to view deals.

1.1.1.4 Users shall be able to interact with deals by:

  • 1.1.1.4.1 Commenting
  • 1.1.1.4.2 Sharing via a link
  • 1.1.1.4.3 Viewing images

1.1.1.5 Users shall be able to create shopping lists.

1.1.1.6 Shopping lists shall be saved for future use.

1.1.1.7 Users shall be able to delete a shopping list.

1.1.1.8 Users shall be able to browse forum posts.

1.1.1.9 User shall filter recipe posts by

  • 1.1.1.9.1 Cost
  • 1.1.1.9.2 Nutrition score
  • 1.1.1.9.3 Dietary option

1.1.1.10 Users shall be able to interact with forum posts by:

  • 1.1.1.10.1 Liking
  • 1.1.1.10.2 Commenting
  • 1.1.1.10.3 Sharing via a link
  • 1.1.1.10.4 Viewing images
  • 1.1.1.10.5 Rating

1.1.1.11 Users shall be able to save favorite recipes for later.

1.1.1.12 Users shall be able to submit posts.

1.1.1.13 Users shall be able to select an optional budget for weekly/monthly meal planning.

1.1.2 Community & Engagement Features

1.1.2.1 Forum & Posts

1.1.2.1.1 The system shall provide a forum where users, consisting of community members, dietitians, and experienced home cooks can post:

  • 1.1.2.1.1.1 Dietary tip
  • 1.1.2.1.1.2 Recipe
  • 1.1.2.1.1.2 Meal plan

1.1.2.1.2 The system shall allow users to attach multimedia to their forum posts by:

  • 1.1.2.1.2.1 Attaching image
  • 1.1.2.1.2.2 Uploading video
1.1.2.2 Information Reporting & Moderation

1.1.2.2.1 Users shall be able to report false or misleading information about deals and forum posts for review and potential removal.

1.1.2.2.2 The system shall provide a moderation dashboard for administrators to review reported content and take appropriate such as:

  • 1.1.2.2.2.1 Warn user
  • 1.1.2.2.2.2 Remove post
  • 1.1.2.2.2.3 Ban user

1.1.2.2.3 The system shall notify users of the outcome of their report (e.g., content removed, no violation found).

1.1.2.3 Rating & Feedback

1.1.2.3.1 Users shall be able to rate and comment on recipes and user profiles in the forum to reflect the credibility or experience of contributors.

1.1.2.3.2 The system shall reward top contributors with badges

1.1.2.4 Notifications

1.1.2.4.1 Users shall receive notifications for:

  • 1.1.2.4.1.1 New comments on their forum posts
  • 1.1.2.4.1.2 Replies to their comments
  • 1.1.2.4.1.3 New ratings on their forum posts

1.1.2.4.2 The system shall allow users to customize notification preferences, which can be:

  • 1.1.2.4.2.1 E-mail
  • 1.1.2.4.2.2 In-app notification
  • 1.1.2.4.2.3 Push notification
1.1.2.5 Ranking

1.1.2.5.1 The system shall include a community leaderboard showcasing top contributors based on engagement and ratings.

1.1.2.5.2 The leaderboard shall categorize contributors by:

  • 1.1.2.5.2.1 Highest-rated users
  • 1.1.2.5.2.2 Most active users

1.1.2.6 Users shall be able to select their preferred macronutrient priorities to plan their meals.

1.2 System Requirements

1.2.1 Integration & Data Features

1.2.1.1 Food Bank & Farmers' Market Integration

1.2.1.1.1 The system shall integrate with local food bank databases to provide information and latest price and stock updates for each product.

1.2.1.1.2 The system shall differentiate sellers through user ratings and reviews.

1.2.1.1.3 The system shall re-direct the user to the local food banks’ marketplace page where users can view products and prices from ingredients in recipes or nutrition tips.

1.2.1.2 Nutritional Analysis & Recipe Management

1.2.1.2.1 The system shall provide automated nutritional analysis for recipes and meal plans.

1.2.1.2.2 Every food item shall be stored in the database with its nutritional values, enabling automatic calculations for meals and recipes.

1.2.1.2.3 The system shall automatically track allergenic foods and provide vegan, vegetarian, and gluten-free tags for recipes. 1.2.1.2.4 The system shall automatically convert food quantities in recipes, traditional and quantitative values for recipes shall be displayed, for example:

  • 1 tablespoon = 12 grams
  • 1 teaspoon = 4 grams
  • 1 water glass = 200 ml
  • 1 tea glass = 100 ml
1.2.1.3 Smart Shopping & Meal Planning

1.2.1.3.1 The system shall highlight budget-friendly and nutritionally appropriate items.

1.2.1.3.2 The system shall implement a ranking system for sellers, dietitians, and recipes based on ratings and user interactions.

1.2.1.3.3 The system shall allow stores to list and update their own prices, while preventing users from submitting or updating store prices.

1.2.2 Technical Features

1.2.2.1 Mobile Application

1.2.2.1.1 A mobile app shall be available for meal planning and grocery tracking.

1.2.2.2 API Support

1.2.2.2.1 The system shall provide API support for third-party budgeting tools.

1.2.2.3 Real-time Updates

1.2.2.3.1 The system shall ensure real-time updates for product availability and pricing.

2. Non-Functional Requirements

2.1 Performance & Scalability

2.1.1 The platform shall support at least 50 concurrent users without performance degradation.

2.1.2 Search queries shall return results in under 5 seconds for datasets under 100,000 records.

2.1.3 The system shall support scalable cloud storage for recipe and deal data.

2.2 Usability & Accessibility

2.2.1 The platform shall provide a basic, clean UI with clear navigation and labels.

2.2.2 The system shall support keyboard navigation for key workflows (e.g., form submission, search).

2.2.3 The platform shall support at least 2 languages, with basic text translation only (not full localization).

2.3 Reliability & Availability

2.3.1 The system shall allow manual database backups to prevent data loss.

2.3.2 The system shall restart automatically if it crashes (e.g., via a simple restart script or a cloud function).

2.3.3 The system shall aim for 95% uptime during testing (allowing for debugging and improvements).

2.4 Security & Privacy

2.4.1 User passwords shall be hashed using bcrypt before storage.

2.4.2 The system shall use HTTPS for secure communication if deployed online.

2.4.3 Users shall have basic privacy settings (e.g., ability to make posts private).

2.4.4 Users shall be able to control visibility of their posts and interactions.

2.4.5 The platform shall comply with GDPR and relevant data protection laws.

2.5 Compliance & Regulations

2.5.1 Sellers shall be able to upload food safety certifications, but they won’t be verified automatically.

2.5.2 The system shall allow sellers to add allergen information manually, but this won’t be enforced.

2.5.3 The platform shall enforce fair pricing policies for sellers.

2.5.3 A simple reporting button shall allow users to flag suspicious listings.

Clone this wiki locally