Jericho Chua - Project Portfolio Page
Overview
Fitr is a command-line application, helping you keep track of your food intake and exercises.
Summary of Contributions
Code contributed
Link to code contributed on RepoSense
Enhancements implemented
- Allow the user to clear the individual list, or clear all the lists at the same time
- This feature allows users to quickly empty the lists, if they want to start with a fresh list.
- This feature is especially useful for users who may be trying the application for the first time, and may add random data to test the application. If they wish to use the application proper, they can immediately clear the lists, without having to delete the entries individually.
- Allow the user to edit a previous exercise or food entry in the lists
- This feature allows users to correct mistakes that they make in a previous entry.
- This was initially hard to implement as the
edit
command was also used to edit the user’s profile. Hence, I created theEditCommandParser
to handle the arguments in theedit
command first. Once the arguments are parsed, it is then passed into aEditEntryCommand
class and the corresponding entry is edited. - The command to edit a specific entry is also designed as a one-shot command, so users who can type fast in a command-line application can quickly edit an entry.
- Added a
ResourceManager
class to handle loading of resources in the JAR file- As Fitr requires some resources to be packaged together with the JAR file, such as the tips and exercise lists, the usual way of reading files using
File
andScanner
cannot be used. - Instead,
InputStream
andInputStreamReader
is used to read the resources packaged in the JAR file.
- As Fitr requires some resources to be packaged together with the JAR file, such as the tips and exercise lists, the usual way of reading files using
- Added some JUnit tests
Contributions to documentation
Contributed the following sections in the user guide:
- Editing a food entry
- Editing an exercise entry
- Clearing commands (Clearing all food entries, clearing all exercise entries, clearing all entries)
- Saving your data
- Parts of the Introduction section
- Parts of the FAQ section
Contributions to DG
Contributed the following sections in the developer guide:
- Architecture diagram
- StorageManager component
- ListManager component
- Edit command
- Clear command
Contributions to team-based tasks
Contributed to the following team-based tasks:
- Set up the GitHub team organisation and repository
- Maintaining the issue tracker
- Release management
Review/mentoring contributions
Reviewed the following PRs:
Contributions beyond the project team
- Responded to a forum post
- Reviewed another team’s DG
- Found 4 bugs in a team’s tp during PE dry run
Tools
- Integrated a third-party library into the project (Jansi) (#180)