This Project Portfolio page aims to showcase my contributions to Calgo - a Software Engineering project developed during my second year of undergraduate studies at the National University of Singapore.
We are 5 Year 2 Computer Science undergraduates reading CS2103T: Software Engineering.
Calgo was created to help foodies achieve their fitness goals. Our story first began when the team was given the source code of Address Book Level 3 (AB3) project. We were challenged to collaborate as a team to morph this into a new product incrementally using Brownfield software development.
As all of us were food lovers, we decided to embark on this journey to create Calgo, a personal meal tracking assistant. Today, Calgo is well-equipped to help users keep track of their meal consumption and store all their favourite food, along with its nutritional information. On top of this, Calgo has the ability to offer our users insightful reports based on their data. Calgo was created with a strong emphasis on providing the best user experience to our users.
-
Major enhancement: I implemented the
update
command.-
What it does: This command allows the user to add new
Food
entries or edit existingFood
entries in theFood Record
. -
Justification: Instead of having two separate commands: add and edit to perform the function of updating the Food Record, this smart command decides whether to add or edit depending on whether the Food entered by the user exists in the Food Record. This improves user experience and reduces the necessity of another command.
-
Highlights: Implementing this requires comprehensive understanding of the entire application architecture. Additional thought and effort was required to ensure that the process is seamless for the user.
-
-
Major enhancement: I implemented the Real-time Suggestion feature
-
What it does: This feature shows the user existing similar Food items in real time when using any of these three commands:
update
,delete
,nom
. -
Justification: Instead of the need to use additional commands or having to manually scroll through the
Food Record
, this feature allows user to know whether a particular Food item already exists. This is especially helpful for these three core commands that generally require this knowledge. -
Highlights: This enhancement shows our emphasis on providing a good user experience to the user. It also requires a good understanding of the all core components used by the application to achieve this.
-
-
Minor enhancement: I designed the GUI for the
DailyFoodList
-
What it does: This enhancement helps the DailyFoodList be displayed in a more minimalistic and inituitive manner.
-
Justification: This helps the user quickly see important aspects of their meal consumption, such as the
Name
,Index
,Portion
andRating
of each Food consumed. This improves the design and also user experience for the user. -
Highlights: This enhancement is well-designed with good color scheme. A good mix of understanding of JavaFX components and research into new JavaFX APIs were required to achieve this.
-
-
Code contributed: You can view my contributions to Calgo here.
-
Other contributions:
-
Documentation:
-
Project and team management:
-
Morphed test cases for AB3 to new features in Calgo: #136, #139
-
Update team pages/documentation: #69, #128, #130, #205, #251, #269, #279, #286, #295, #296
-
Software Developer: Handled object modelling, designing overall architecture and maintaining good code quality.
-
Product ideation and brainstorming, contributions to GUI design and user testing.
-
-
Beyond the team:
-
Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users. Please note that some hyperlinks may not work as the guide is not part of this portfolio. |
Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project. Please note that some hyperlinks may not work as the guide is not part of this portfolio. |