Brandon Foong - Project Portfolio Page
Overview
Patient Manager is a Command Line Interface (CLI) application for general practitioners (GP) who work in polyclinics to manage their patient list.
I, together with my teammates, developed this application as a team project for the CS2113T module in NUS. This project aimed to develop a program targeting a current problem using Java utilizing Object-Oriented design.
The entire development cycle, excluding the planning stage which began a few weeks before actual development, consists of three iterations. In v1.0, we delivered the minimum viable product, and in v2.0, we continued to add features to our application. For v2.1, the last iteration, we focused on bug fixing and making improvements in product documentation.
Summary of Contributions
This is a link to the RepoSense dashboard, which has a detailed analysis of the lines of code contributed by me:
https://nus-cs2113-ay2021s2.github.io/tp-dashboard/?breakdown=true&search=brandonfoong
Enhancement Implemented
- Responsible for the Model of this project (
Data
,Patient
andRecord
classes). These classes model and store data in the application. - Implemented and improved the
record
andretrieve
commands, which are used to add visit records to patients. (#29, #58) - Generated JUnit tests for automated testing for the above two classes, and improvements to JUnit tests for other classes (#124)
- Enhanced features by adding more bounds checking. (#83)
- Restructured the application to be more in line with Object-Oriented design and Software Engineering patterns. (#127)
- Other generic bug fixes for the entire project, including bugs reported by peer teams during PE-D. (#83)
Contribution to User Guide
- Added explanations on the syntax of the
record
andretrieve
commands. (#62) - Made general improvements to the User Guide to increase user-friendliness. (#126)
Contribution to Developer Guide
- Added documentation on system architecture and generated diagrams for the Developer Guide. (#60, #66, #74)
- Added documentation for the Appendices of the Developer Guide. (#66)
- Added steps for testing in the Developer Guide. (#66)
- General formatting and fixing.
Contribution to Team-Based Tasks
- Set up the team’s GitHub organization and forked the TP repository.
- Enabled assertions in Gradle.
Review/Mentoring Contributions
Along the way of development, I have reviewed a number of pull requests opened by other team members. This is a non-exhaustive list:
- https://github.com/AY2021S2-CS2113T-W09-4/tp/pull/30
- https://github.com/AY2021S2-CS2113T-W09-4/tp/pull/55
- https://github.com/AY2021S2-CS2113T-W09-4/tp/pull/65
- … and more
For a full list of PRs reviewed by me, you may refer to this link:
https://github.com/AY2021S2-CS2113T-W09-4/tp/pulls?q=is%3Apr+reviewed-by%3Abrandonfoong+
Other than PR reviews, I have also provided general help to teammates encountering technical difficulties along the way of development.
Contribution Beyond Project Team
I have reviewed other peer teams’ product and documentation during tutorials and PE-D. The list of bugs reported in PE-D can be accessed by clicking the following link: