Ang Koon Hwee's Project Portfolio Page
Project: TuitionAddressBook (TAB)
Tuition Address Book (TAB) is an all-in-one desktop application for 1-to-1 private home tutors that helps to keep track of students and their respective lesson information. TAB has a Command Line Interface (CLI) that allows fast typers to perform tasks quickly complemented with a clean Graphical User Interface (GUI) to facilitate the user’s viewing experience. TAB helps user track all the nitty-gritty details such as fees collection, homework, student contacts so that users will have more time to deliver quality lessons!
Given below are my contributions to the project.
- New Feature: Added Undo and Redo command for commands that modify data in TAB.
- What it does: This feature allows users to undo an accidental command with incorrect/undesired input. Users can also redo an undone command if the undone command was accidental.
- Justifications: This feature improves the user experience as users can be less afraid to enter an incorrect command or make a mistake. Undo/Redo feature is also a very common feature across modern applications.
- Highlights: This feature is compatible across all commands that modify data. The implementation of this feature was quite tedious due to AB3’s implementation of the
FindCommand
. When executingundo
on a filtered list, it is crucial to ensure that the indexes which the commands are operating on are consistent across all types of list (UniquePersonsList vs FilteredPersonsList). Similar challenges were faced forredo
command. - Credits: For
UndoRedoStack
implementation - SE-EDU AddressBook 4
- New Feature: Automated fees update feature that updates the fees for lessons that have passed automatically.
- What it does: This feature is a core feature of TAB, to allow users to not manually keep track of their fees manually, especially for users with multiple students with different lesson rates.
- Justifications: This feature would significantly reduce our target user’s need to keep track of their many students’ lesson fees and be a great add-on to their careers. This feature would greatly improve the user experience.
- Highlights: This feature requires an in-depth understanding of Lesson and AddressBook model as well as Storage to implement all the different fields to make this feature work. Furthermore, the algorithm to calculate the number of lessons that have passed was complicated and have undergone extensive testing by our team.
- Credits: Eliana and Lingshan helped in contributing to the algorithm to calculate the number of lessons that have passed in
FeesCalculator#getNumOfLessonsSinceLastUpdated()
.
-
Code contributed: RepoSense link
- Other Enhancements:
- Documentation:
- User Guide:
- Added documentation for the section Managing Lesson Fees and for
undo
andredo
features. (Pull request #314)
- Added documentation for the section Managing Lesson Fees and for
- Developer Guide:
- User Guide:
- Community:
Contributions to the User Guide
Contributions to the Developer Guide
Major contributions:
Minor contributions:
- Use cases 10 11, 14 and 15.
- Labelling the majority of the diagrams