Overview
- [Back-end] Add testing for adding recipes/ingredients to the database - Not only do we have testing for adding recipes/ingredients to the database, we added JUnit tests for the persistence of all of our back-end classes! Additionally, our backend has a Main class, which is capable of testing all back-end functionality.
- [Back-end] Add functionality for comments/rating - Completed. Chefs and recipes can be commented and rated. Ryan and James had the first flame comment battle on our back-end.
- [Back-end] Add a basic search algorithm - We have added a basic searchByDescription algorithm to the back-end in order to facilitate displaying a search results page on the front-end. More complex searchByRequirement algorithms will be developed in the next iteration.
- [Back-end] Additional work - We realized, during this iteration, that we were not implementing Ingredients properly. Previously, each Ingredient would have a concept of the amount (and units, etc) being used. Therefore, there would be a chicken ingredient stored for each different amount specified. We fixed this by adding a Map in Recipe, which maps Ingredient to the amount used and removed the concept of an amount from Ingredient entirely. In the previous iteration, we had a lot of difficulty storing JScience objects (using generics) in our hibernate database. In this iteration we created the Amount object, which stores the unit it is in a String using JSciences Units toString() method. JScience is able to parse this string to recreate its Unit object. Therefore, we simplified the persistence of our JScience objects without losing their functionality.
- [Front-end] Design our main home-page in JSF - Completed. We have built all of our JSF templates and components. Work still needs to be done on our style sheets to make everything look nicer.
- [Front end] Allow for searching for recipes by ingredient - Completed. Through our kitchen concept in our search template, we can add requirements to our search parameters. There is no searching for recipes by ingredient implemented in the back-end yet.
- [Front-end] Create basic pages for displaying search results and recipes - Completed, but very basic. We simply display our search results in a table, only for search by description.
The project is progressing extremely well. The major challenge this week was in the front end development. Designing our main home-page in JSF was extremely difficult. Getting used to programming in JSF took a long time, but we now have more experience programming in JSF and should make quicker front-end progress from here on. Our results, however, are reassuring. The current front-end can perform searches on our persisted back-end. Our progress on the front-end leaves us positioned well to continue development in the next iteration.
We are also very proud of our progress on the back-end. All of our basic concepts have been written and persisted perfectly through Hibernate. The back-end is completely functional in our Main classs console test-app. Now back-end development will focus entirely on improving and developing new search algorithms.
We are right on track, and our future iteration plans remain mostly the same.