From 5f487868c91d113ec7f483cf6f7e20160ecef816 Mon Sep 17 00:00:00 2001 From: jdmedlock Date: Sun, 14 Apr 2019 20:33:49 -0500 Subject: [PATCH] Feature: Add Calorie Counter app specification Add Calorie Counter app specification Resolves: N/a See also: N/a --- Projects/Calorie-Counter-App.md | 50 +++++++++++++++++++++++++++++++++ README.md | 1 + 2 files changed, 51 insertions(+) create mode 100644 Projects/Calorie-Counter-App.md diff --git a/Projects/Calorie-Counter-App.md b/Projects/Calorie-Counter-App.md new file mode 100644 index 00000000..c2769751 --- /dev/null +++ b/Projects/Calorie-Counter-App.md @@ -0,0 +1,50 @@ +# Calorie Counter + +**Tier:** 3-Advanced + +Getting and staying healthy requires a combination of mental balance, +exercise, and nutrition. The goal of the Calorie Counter app is to help the +user address nutritional needs by counting calories for various foods. + +This app provides the number of calories based on the result of a user search +for a type of food. The U.S. Department of Agriculture MyPyramid Food Raw Data +will be searched to determine the calorie values. + +Calorie Counter also provides you, the developer, with experience in transforming +raw data into a format that will make it easier to search. In this case, the +MyPyramid Food Raw Data file, which is an MS Excel spreadsheet, must be +downloaded and transformed into a JSON file that will be easier to load and +search at runtime (hint: take a look at the CSV file format). + +## User Stories + +- [ ] Developer will create a JSON file containing the food items to be +searched. This will be loaded when the app is started. +- [ ] User can see an panel containing a food description input text box, +a 'Search' button, and a 'Clear' button. +- [ ] User can enter search terms into the food description input text box. +- [ ] User can click on the 'Search' button to search for the matching food. +- [ ] User can see and warning message if no search terms were entered. +- [ ] User can see a warning message if no matches were found. +- [ ] User can see a list of the matching food items, portion sizes, and +calories in a scrollable results panel that is limited to 25 entries. +- [ ] User can click on the 'Clear' button to clear the search terms and +results list. + +## Bonus features + +- [ ] User can see the count of the number of matching food items adjacent to +the results list. +- [ ] User can use a wildcard character in search terms. +- [ ] User can see more than 25 entries from a search by clicking a Down +icon button to add more matching food items to the search results list. +- [ ] Developer will implement load the MyPyramid data into a database or a +data structure other than an array for faster searching. + +## Useful links and resources + +[MyPyramid Food Raw Data](https://catalog.data.gov/dataset/mypyramid-food-raw-data-f9ed6) + +## Example projects + +[Food Calculator](https://www.webmd.com/diet/healthtool-food-calorie-counter) diff --git a/README.md b/README.md index 9524aa68..3e91fac4 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ required to complete them. | -------------------------------------------------------------- | ---------------------------------------------------- | ---------- | | [Battleship Bot](./Projects/Battleship-Bot.md) | Create a Discord bot that plays Battleship | 3-Advanced | | [Battleship Game Engine](./Projects/Battleship-Game-Engine.md) | Create a callable engine to play the Battleship game | 3-Advanced | +| [🌟Calorie Counter](./Projects/Calorie-Counter-App.md) | Calorie Counter Nutrion App | 3-Advanced | | [Chat App](./Projects/Chat-App.md) | Real-time chat interface | 3-Advanced | | [🌟Elevator](./Projects/Elevator-App.md) | Elevator simulator | 3-Advanced | | [🌟Fast Food Simulator](./Projects/FastFood-App.md) | Fast Food Restaurant Simulator | 3-Advanced |