Rickie Li's Project Portfolio Page
Project: TuitiONE
TuitiONE is a desktop address book application used for teaching Software Engineering principles. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.
Given below are my contributions to the project.
- New Feature: Added the ability to
unenroll
aStudent
from aLesson
.- What it does: allows the user to
unenroll
aStudent
from a specificLesson
that the student is currently enrolled in. - Justification: A key feature in the application in order to remove the bi-directional linkages between a
Student
and aLesson
. - Highlights:
- The
Student
must be currently enrolled in the specifiedLesson
. - Abstracting logic for ease of usage within other packages.
- Ensures that model updates the
Student
andLesson
to reflect the removal of the bi-directional linkage.
- The
- What it does: allows the user to
-
Code contributed: RepoSense link
- Project management:
- Enhancements to existing features:
- Updated the GUI to fix the display of the context menu upon right-clicking (Pull request #281)
- Wrote additional tests for existing features:
delete
,delete-l
,roster
and the respective parser classes to increase coverage to 100% (Pull requests #198, #210, #218, #219) - Updated UnenrollCommand to take in an index of a lesson instead of a lesson code for the user’s ease of use (Pull request #150)
- Added lesson list and relevant methods to the
Model
to enable the establishing of the relationship betweenLesson
objects and theModel
(Pull request #64) - Updated the GUI for lesson cards to not show subject, grade and day to declutter the lesson card (Pull request #202)
- Refactored
seedu.addressBook
package toseedu.tuitione
package and replaced all occurrences of addressbook to tuitione (Pull request #128)
- Documentation:
- User Guide:
- Adapted documentation of existing features such as
add
,delete
in AddressBook3 to match their usage in TuitiONE (Pull request #22) - Added documentation for the features
unenroll
(Pull request #22) - Added quick start to UG (Pull request #129)
- Added clarification to feature usage and new questions to FAQ (Pull request #293)
- Adapted documentation of existing features such as
- Developer Guide:
- User Guide:
- Tools:
- Utilize SceneBuilder to build GUI Layout