Rayasam Harshini's Project Portfolio Page
Project: ForgetfulNUS
ForgetfulNUS is a desktop glossary app for students taking German 1 (LAG1201) and German 2 (LAG2201) in NUS to practise and test their vocabulary. This app is optimised for use via a Command Line Interface (CLI).
Here are my contributions to this project:
- New Feature: Added the ability to save quiz scores.
- What it does: Allows the user to view scores for previous rounds of testing, along with a list of German words tested in each round. Scores are saved to local storage and can be accessed even after exiting and reopening the application.
- Justification: This feature improves the product significantly because a user can keep track of their progress when quizzing. Not only can users view previous scores to check if they are making progress, they can also see the words tested to identify potential weak areas.
- Highlights: This enhancement required significant additions to the Storage component to save scoring information in a separate .json file. Given that scores are saved in a similar way to flashcards in the glossary, this enhancement was challenging as it required analysis of code to extract several class methods into interfaces to minimise code duplication. Significant modifications were also made to the Model component to allow flashcards tested to be tracked along with the scores.
- New Feature: Added the ability to clear all quiz scores.
- What it does: allows the user to permanently delete the history of saved scores, including all scores saved in past sessions.
- Justification: This feature improves the user experience by allowing users to get a fresh start. This could be especially useful for returning users picking up the application after a while, who may feel that previous scores do not reflect their current understanding.
-
Code contributed: RepoSense link
- Project management:
- Added all original user stories as issues to the project Kanban board.
- Enhancements to existing features:
- Documentation:
- User Guide:
- Developer Guide:
- Significantly changed UML class diagram of Storage component from AddressBook-3 to reflect modified class relationships;
edited UML class diagram of Model to reflect classes created when adding the
score
feature (Pull request #242) - Added implementation details of the
scores
feature. (Pull requests #122, #249) - Added score testing workflow in the ‘Instructions for Manual Testing’ (Pull request #242)
- Added non-functional requirements and glossary based on team discussion (Pull request #72)
- Significantly changed UML class diagram of Storage component from AddressBook-3 to reflect modified class relationships;
edited UML class diagram of Model to reflect classes created when adding the