Ong Zheng Lin's Project Portfolio Page
Project: TimesTable
TimesTable is a desktop class management application for tuition teachers to keep track of their students and classes. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 25 kLoC.
Given below are my contributions to the project.
- New feature: Added a schedule command that filters and sort students by their class timing (V1.2)
- What it does: Allows the user to filter students by day of which they are attending their class, so that user can see who he is teaching and when.
- Justification: Provides early functionality to sort students by their class timing during the early phases of
the application. Provides some early work towards functions like
sort
and back-end processing ofTuitionClass
andClassTiming
. - Highlights: Provide a foundation for later iteration which improved the functionality of
TuitionClass
andClassTiming
. - Pull request: #62, #71
- New feature: Added the basic GUI for the
TuitionClass list
in theclasses
tab- What it does: Allows the user to view the classes currently in TimesTable.
- Justification: Allows the user to know the details of classes currently in TimesTable, so that they can have a better idea of their workload and schedule.
- Highlights: Provide a foundation for later improvement and iterations in the
classes
tab. - Commits: 1
- New feature Added the backend support for
UniqueClassList
andTuitionClass
- What it does: Create support for adding and removing
TuitionClass
inUniqueClassList
by ensuring no overlap and proper updates from and to storage. - Justification: Ensures that there is smooth reading of the JSON file into the model and overlapping class timing between tuition classes are not allowed during editing and adding of class.
- Highlights: Provide support for
AddClassCommand
,EditClassCommand
and safe reading of JSON file into model. - Commits: 1, 2, 3
- What it does: Create support for adding and removing
-
Code contributed: Reposense
- Enhancements to existing features:
- Link the
JSON
file andUniqueClassList
in model, allowing the model to save (Commits 1, 2, 3) - Wrote additional tests for existing features to increase coverage (Pull request #234, #259, #281)
- Bug fixes for features
Class size
inclasses
tab andStudent list
inclasses
tab (Pull request #106, #137, #246, #249, #251, #252) - Fix old test cases which were outdated due to change in commands (Pull request #115, #155)
- Link the
- Documentation
- User Guide:
- Developer Guide
- Added use cases (Pull request #17, #265)
- Updated
Storage
component and UML diagram #290 - Added sequence diagrams and implementation detail for
AddClassCommand
and edited other UML diagrams (Pull request #294, #295, #333) - Added challenges faced in
AddClassCommand
#344 - Added documentation and sequence diagrams for
DeleteClassCommand
#320 #333, #339) - Added documentation and sequence diagrams for
DeleteClassCommand
(Pull request #320, #333) - Added method for manual testing of
deleteclass
,removefromclass
,findtag
andview
#332
- Community