Jin Yuan'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:
Card
#63- What it does: Key class for flashcards to be created by users.
- Justification: This class, along with the
question
andanswer
classes, allow for uses to create a flashcard object using lesSON. - Highlights: The created flashcard will be displayed in the deck on the GUI.
- New Feature:
Priority Queue
#84- What it does: Allows the flashcards created by users to be sorted by priority.
- Justification: This allows users to practise their set of flashcards in a dynamic order, depending on the urgency of the card, making the revision session more effective..
- Highlights: The cards now contain a priority field which determines the order in which they are displayed in the deck on the GUI.
- New Feature:
Solve Count
(#125, #127)- What it does: Allows users to view how many times they have completed a specific flashcard.
- Justification: This allows users to keep track of their learning for each specific card and enable them to gauge their familiarity with it.
- Highlights: Solve count will be displayed at the bottom of each card, along with the question and due date of the card.
- New Feature:
Goal
#132- What it does: Allows users to set their target number of flashcards to complete for the session, as well as view how many they have completed for the session.
- Justification: This allows users to track their learning for the day and set realistic goals for themselves to achieve in their practice sessions.
- Highlights: On starting the app, goal will be set to deck size. Maximum target cannot be more than 2147483647.
-
Code contributed: RepoSense link
- Enhancements to existing features:
- Added test cases for classes
question
,answer
andcard
. This included creatingTypicalCards
andCardBuilder
classes to facilitate testing. #63 - Added priority field to card to facilitate priority queue feature. Added new cards to
TypicalCards
and new test cases forUniqueCardList
to test the new feature. #84 - Added more test cases for
Card
to test forSolveCount
. #125
- Added test cases for classes
- Documentation:
- User Guide:
- Updated glossary with keywords used #119
- Updated formatting and images in UG for add and delete features #119
- Fixed bugs identified during PE-D relating to documentation in UG #201
- Updated formatting of UG for features #214
- Added exit feature into UG #215
- Revamped the UG with a new standardised format. This included formatting, images as well as overall standardisation for each feature. (#218, #221, #222, #226, #229, #232, #234)
- Developer Guide:
- User Guide:
- Community:
- Reviewed 10 total PRs for lesSON
- Reported bugs and suggestions for other teams Issues