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