Teng Jian Ling's Project Portfolio Page
Project: Medmoriser
Medmoriser is a desktop app to help medical students organise, memorise and revise their content. The user interacts with it using a CLI, and it has a GUI created with JavaFX and is written in Java.
Given below are my contributions to the project.
-
Code contributed: RepoSense Link
- New feature: Added a
next
command for the user to move on to the next question in the quiz.- What it does: allows the user to be tested on another question based on the same keywords provided for the current quiz session, without having to end the quiz first.
- Justification: This feature improves the product significantly because a user may want to test themselves on multiple questions with the same keywords specified, and the app should provide a convenient way for them to do this.
- Highlights: The implementation of this enchancement was challenging due to the following reasons:
- This enhancement required an in-depth analysis of design alternatives to find the best design choice.
- There was a need to make sure repeated questions are not shown
- There was a need to detect when there are no more questions with the keyword specified
- There was a need to check whether there is an ongoing quiz when this command is entered
- It required changes to existing commands such as
QuizCommand
andAnswerCommand
- Enhancements to Existing features:
- Changed the usage message in the
edit
command to the context of questions and answers: #41 - Renamed all uses of
QuestionSet
andquestionSet
toQAndA
andqAndA
to avoid confusion between sets and lists: #43, #44, #64 - Changed restrictions on
question
,answer
, andtag
fields when adding a QAndA: #66 - Changed implementation of
QuizCommand
andQuizCommandParser
to include ability to start a quiz based on multiple keywords or tags: #73 - Wrote the following additional tests:
QuizCommandTest
,QuizCommandParserTest
,ExitCommandTest
: #73- increased code coverage by 2.96%
- Updated the GUI for quiz to be centralised and remove the question index number: #83
- Removed unnecessary ‘F1’ from the help menu: #143
- Wrote the following addtional tests:
AnswerCommandTest
andAnswerCommandParserTest
: #157- increased code coverage by 1.54%
- Changed the usage message in the
- Documentation:
- Community: