College Chef

Overview

  1. [Back-end] Complete test coverage for the backend - Sorry about misrepresenting this item last iteration. There was a miscommunication among teammates. This iteration, we do test the persistence of all of our back-end classes! Additionally, we have built a UsageTest.java JUnit test, which tests combinations of behaviors, mimicking the way a user would interact with the application. We did not modify our Main class, back-end tester, since everything it does may now be accomplished on the front-end.
  2. [Back-end] Get search by ingredient working - Completed. Additionally, we added a "search by both" which combines "search by keyword" and "search by ingredient"
  3. [Back-end] Improve search algorithm - We changed .search by description. to "search by keyword" and it looks for matches in both the recipe title and description.
  4. [Back-end] Additional work - We resolved a bug in this iteration, in Hibernate's bi-direction "OnetoMany" mapping. When three items are added, and any one is deleted, Hibernate throws a duplicate key exception. This bug is documented online, and we spent a great deal of time and effort figuring out what was wrong, and building a custom work-around.
  5. [Front-End] Rating and commenting recipes. - Chef's are now able to rate and comment recipes and other chefs. We have a mechanism to disallow a chef from rating themselves, a chef from rating a recipe or chef that they already rated, and rating a chef or recipe when they are not logged in. Also, a specific message is displayed in place of the rating and commenting options in each of the cases when a user cannot rate or comment a recipe, e.g. "Log in to comment."
  6. [Front-End] Adding recipes - We fixed a bug that showed up when adding a recipe and now a user is able to add a recipe, select ingredients and the equipment necessary.
  7. [Front-End] Adding equipment - We have added full functionality to add equipment to the database inventory.
  8. [Front-End] Adding ingredients - We have added full functionality to add ingredients to the database inventory.
  9. [Front-End] Displaying recipes - We fixed the formatting of displaying recipes, and included boxes for rating and commenting. In addition, we added separate rows for the required ingredients and equipment for the recipe.
  10. [Front-End] Displaying chef profile - We've completely added functionality to display chef profiles, and included features to allow a chef profile to be edited when a chef views their own page, such as updating their alias. A logged in chef is also able to rate and comment other chefs.
  11. [Front-End] Pagination - We added a pagination implementation so that search results were broken into user-manageable sets. The user is able to navigate through pages of search results
  12. [Front-End] Searching - We have added searching by keyword, ingredients, and equipment to the search page. Search criteria are displayed beside the results and a new search with modified criteria can be performed from the results page.
  13. [Front-End] When chef is not logged in - We have added a feature that informs the user to log in when they try to do things restricted to chefs logged in.
  14. [Front-End] My Recipes - We have added a page to display the recipe's a chef has contributed.

We have our core functionality pretty much done, but we still have a number of minor things to take care of for our next and final iteration. See our future iteration plans for more details.