DietBook is a Command Line Interface (CLI) desktop application designed mainly NUS students staying on campus. It helps users track their food and nutritional intake as well as provide them with their daily calorie recommendation. It also has a database prepopulated with food items commonly found around NUS so that thse food items can be easily added to the list of food items consumed for tracking. DietBook is written mainly in Java.
My main contribution is the seedu.dietbook.list package, which functions as the model for the application, supporting storing and retrieval of data from memory.
FoodList, FoodListManager and ListFunctions to store and retrieve data on the user’s diet. This directly supports the command add and list. It also indirectly supports other commands such as calculate or storage/loading of data. A functional programming paradigm was compilmentarily used to reduce code repetition.DatedFoodEntry and FoodManager to store the relevant data and provide DateTime functionalities (filtering/sorting by datetime) as well as support optional inputs in the add command. A fascade pattern was used to design this segment of code and obscure details via FoodManager. The FoodManager also supports with estimation of the missing inputs due to optional support.StringFormater that supports Python fstring-like formatting.Model section under design of the developer guide, this includes all UML diagrams in this section.implementation of the developer guide describing the implementation of optional fields and estimated nutritional information, this includes all UML diagrams in this section.add command. Also performed master branch clean-up and bug fixes such as in #103