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
) andLesson
entities.- What it does: Allows users to enroll a student of a specific
grade
into a lesson with that same respectivegrade
. - Justification: A key feature in the application in order to establish the bi-directional linkages between a
Student
and aLesson
. - Highlights:
- A
Student
can be enrolled into aLesson
if and only if:- The
Student
is not currently enrolled in the specificLesson
. - The
Student
has the same grade as theLesson
. - The
Student
must not currently be enrolled in 10 or moreLessons
. - The
Lesson
must not currently have 15 or moreStudents
enrolled.
- The
- Abstracting logic for ease of usage within other packages.
- Ensuring that model updates the
Student
andLesson
to 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
lessonIndex
instead 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
Find
feature to allow partial word searches: (Pull requests #116). - Refactored
Person
package intoStudent
package: (Pull requests #117). - Refactored
Tag
package intoRemark
package: (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