Timothy's Project Portfolio Page
Project: TutAssistor
TutAssistor is a desktop application for private tutors to manage tuition class timeslots. While it has a GUI, most of the user interactions happen using a CLI (Command Line Interface). The user interacts with it using a CLI, and it has a GUI created with JavaFX. It has about 20 kLoC.
Given below are my contributions to the project.
Code contributed
- Access my Reposense link to view the code I have contributed.
Enhancements implemented
- New feature: Dedicated multi-use information display panel (Pull request #42)
- What it does: Adds a dedicated panel in GUI to display information.
- Justification:
-
Highlights: The implementation of this GUI element allowed for future expansions of features that involve users pulling up detailed information on command.
Features added later in the project that utilized the display panel include the View Student/Class Commands, View Timetable Command and View Today’s Classes Command.
- New Feature: View student/class command (#42)
- What it does: Allows users to view detailed information on students and tuition classes in info panel via the
student
andclass
commands. - Justification: Full information about a student or class can be long, especially if a user has added remarks to them. By enabling users to view detailed information about students and tuition classes on command, this feature allows less information about students and tuition to be displayed on the student and tuition class lists displayed by default on the GUI. Hence, users to have a less cluttered overview of their student and class lists, only accessing more detailed information when desired. Furthermore, this allows more students and classes to be displayed in their respective lists at a time.
- What it does: Allows users to view detailed information on students and tuition classes in info panel via the
- New Feature: Command input history navigation (#111)
- What it does: Allows users to access and navigate through previously entered inputs using the
↑
↓
arrow keys. - Justification: TutAssistor uses CLI, in which users may want to access previously entered inputs to redo commands with some modifications, without having to retype an entire long command.
- Acknowledgement: This feature was inspired by a similar feature in YaleChen299’s ip for CS2103T, though its implementation in this project is new.
- What it does: Allows users to access and navigate through previously entered inputs using the
- Enhancement: Command shortcuts (#111)
- What it does: Adds shorter alternatives to command keywords.
- Justification: While the full command keywords such as
addtoclass
ortimetable
may be more intuitive to understand, shortcuts such asatc
andtt
can greatly speed up the workflow of users more familiar with the software and CLI.
Contributions to team-based tasks
- Managed scheduling and agendas for weekly team meetings.
- Refactored
Person
related classes in codebase toStudent
classes for clarity. (#123) - Managed all software releases.
Documentation
- User Guide:
- Developer Guide:
- Added user stories and product uses cases. (commit 341b3ef)
- Added implementation details for CLI History Navigation. (#224)
Contributions beyond project team
- Reported 7 bugs and issues with non-trivial comments for other team’s tP.