Winson's Project Portfolio Page
Project: lesSON
lesSON is a desktop flashcard application for Computing students in University who struggle with memorisation and consolidation of knowledge. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java.
Given below are my contributions to the project.
- New Feature: Deck and Cards Operations #66:
- What it does: Allow the user to perform the basic operations based on the Card class by taking in the parameters required,
- Highlights: Users can now input add and edit commands based on the parameters specified by each command.
- New Feature: Practise (#71, #92)
- What it does: Allows users to look at the question of a specific card using its index.
- Justification: It allows users to test his knowledge under exam condition.
- Highlights: Practise allows users to access only the question of a flashcard, if command is entered without index, the flashcard at the top of the list will be practised.
- New Feature: Solve (#92, #95)
- What it does: Allows user to look at the answer of a specific card using its index.
- Justification: It is the main practical function of a flashcard application for users to learn from his mistake
- Highlights: Solve command reveals the answer to a flashcard to the users.
- New Feature: Set Difficulty #95
- What it does: Allows user to set a specific difficulty level for a question of a flashcard using its index.
- Justification: It is the main practical function of a flashcard application for users to evaluate the question solving process and the application and schedule their next practise based on the difficulty input.
- Highlights: Users set a level of difficulty (easy, medium or hard) for a question using
set
command, the deck of card will then be rearranged accordingly.
- New Feature MarkDown Syntax #117
- What it does: For advanced user or visual learners to stylised their flashcard, having ways to differentiate words by having different style can greatly enhance their learning process.
- Justification: It serves as a good supplementary function to enhance to current revision process for user.
- Highlights: Based on the syntax entered by the user, the corresponding styling will be reflected on the display card and the result view.
-
Code contributed: RepoSense link
- Project management:
- Enhancements to existing features:
- Card Class is changed to include difficulty attribute #71
- Deck Class is created to contain a list of Cards #66
- Enhanced DisplayResult and CardDisplay to support MarkDown syntax: bold, italic and underline. #117
- Fixed bug where application does not start without existing JSON file (Pull Requests #71, #206)
- Created test cases to increase codecov to 65% (Pull Requests #92, #190, #204, #206)
- Documentation:
- User Guide:
- Developer Guide:
- Added documentation to explain the functions and design consideration of
practise
,solve
andset
and how they synergise with Spaced-Repetition. #112 - Added extensions to use cases, to describe the cases when invalid parameters or incorrect command format is entered by the users. #131
- Added Planed Enhancement to support Markdown Syntax stacking #225
- Added documentation to explain the functions and design consideration of
- README:
- Removed trace of ab3 and revamped README file for lesSON. #50
- Community:
- Tools: Updated README.md with CI Status Badge #54