Michael Lee'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 a feature called
Enroll(Pull requests #75, #79, #84, #98) that established bi-directional linkages betweenStudent(previouslyPerson) andLessonentities.- What it does: Allows users to enroll a student of a specific
gradeinto a lesson with that same respectivegrade. - Justification: A key feature in the application in order to establish the bi-directional linkages between a
Studentand aLesson. - Highlights:
- A
Studentcan be enrolled into aLessonif and only if:- The
Studentis not currently enrolled in the specificLesson. - The
Studenthas the same grade as theLesson. - The
Studentmust not currently be enrolled in 10 or moreLessons. - The
Lessonmust not currently have 15 or moreStudentsenrolled.
- The
- Abstracting logic for ease of usage within other packages.
- Ensuring that model updates the
StudentandLessonto reflect the bi-directional linkage.
- A
- What it does: Allows users to enroll a student of a specific
- Enhancements to existing features:
- Updated the GUI logos such that they are the same for both Mac OS and Windows OS: (Pull requests #280).
- Updated the GUI to wrap texts for
Name,Email, andAddress: (Pull requests #280). - Changed EnrollCommand to accept
lessonIndexinstead oflessonCode: (Pull requests #147). - Wrote additional tests for existing features to increase coverage for new entities and constraints: (Pull requests #207, #190, #197, #147, #112, #98).
- Updated
Findfeature to allow partial word searches: (Pull requests #116). - Refactored
Personpackage intoStudentpackage: (Pull requests #117). - Refactored
Tagpackage intoRemarkpackage: (Pull requests #140).
-
Code contributed: RepoSense link.
- Project management:
- Managed release
v1.3.trial.
- Managed release
- Documentation:
- User Guide:
- Added documentation for the features
Enroll. - Added documentation for About, Introduction, and Quick Start.
- Did cosmetic and functional (and structural) tweaks overall: (Pull requests #298, #220, #169).
- Added documentation for the features
- Developer Guide:
- User Guide:
- Community:
- Tools:
- Utilize SceneBuilder to build GUI Layout