Sng Su May, Rachael's Project Portfolio Page
Project: JARVIS
JARVIS is a desktop application that allows a CS1101S TA to manage their students, tasks and lessons in an organised manner. 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 view the full list of students.
- What it does: Allows the user to see the full list of students.
- Justification: The default GUI that the user sees does not show the full list of students. Hence, this feature allows the user to view the full list to see all students in the system and their details recorded.
- New Feature: Added the ability to view the list of tasks.
- What it does: Allows the user to see the full list of tasks.
- Justification: The default GUI that the user sees does not show the full list of tasks. Hence, this feature allows the user to view the full list to see all tasks in the system and their details recorded.
- New Feature: Implement storage for lessons.
- What it does: Allows lessons to be saved in the hard disk whenever the lesson list changes.
- Justification: There was no existing feature allowing lessons to be saved into storage. This new feature allows the user to have their changes to the lessons they changed saved, so that the data is restored by loading from the hard disk when JARVIS starts up again.
- Highlights: The storage component for lessons is implemented using inheritance and polymorphism, representing the IS-A relationships between the lesson types (consultations, mastery checks and studios) and the lesson.
- Challenges faced: The implementation required careful design considerations to ensure minimal dependencies, and to avoid regressions in the code.
-
Code contributed: RepoSense link
- Project management:
- Contributed to ideation and team direction.
- Ensured timely submissions for tasks.
- Helped to test code to check for bugs.
- Enhancements to existing features:
- Wrote additional tests for storage component to increase coverage by 8.76% PR #170
- Documentation:
- User Guide:
- Developer Guide:
- Community: