Skip to content

Latest commit

 

History

History
95 lines (57 loc) · 5.11 KB

huiminlim.adoc

File metadata and controls

95 lines (57 loc) · 5.11 KB

Lim Hui Min - Project Portfolio

PROJECT: FlashCard Pro

Overview

FlashCard Pro is an application designed for students of all fields who prefer to use a desktop app for managing flashcards, as well as teachers who would like to provide resources (in the form of custom flashcard decks) to support their students’ learning.

It has a GUI but most of the user interactions happen using a CLI (Command Line Interface). The GUI is to support the user if he/she prefers using the GUI to interact with FlashCard Pro.

Summary of contributions

  • Major enhancement: expanded the functionality and type of FlashCards.

    • Worked on parsing and validation of inputs for create, add (Front and Back flash card and Multiple Choice flash card), edit (Front and Back flash card and Multiple Choice flash card), delete CLI functionality.

    • Allows the user to assign priorities to each flash card.

    • Allows the creation of a random set of flash cards for the test function. The set of flash cards created for the test will have a proportion of high priority and low priority cards.

    • Expanded the cards to support Multiple Choice cards on top of ordinary Front and Back flash cards.

    • Added support for shuffling choices of Multiple Choice cards when displaying the Multiple Choice cards in test mode.

    • Wrote JUnit tests for MultipleChoiceCard and FrontBackCard.

  • Justification:

    • This feature allows the user to explore multiple modes of learning using flash cards.

    • The priorities also allow the user to customize his/her own test deck set, so that he/she can vary the difficulty of the test.

    • The creation of test subset also allows the user to take the test with a different set of cards each time, allowing the user to learn more from each test.

    • The shuffling allows the user to take the test of Multiple Choice Cards with greater learning value since the options are changed.

  • Highlights:

    • This enhancement allowed the user to have more flexibility in exploring various types of flash cards to support the usage of the test function.

    • In addition, this feature is challenging because it requires in-depth analysis and design of the Regex parser to determine which card type (Front and Back card or Multiple Choice card) is created.

    • Also, this feature is tightly related to other components, such as:

      • In test mode, the cards need to be designed such that the display and logic for test is coherent with the designs of multiple flash cards.

  • Code contributed: [Functional code][Test code]

  • Other contributions:

    • Project management:

    • Testing:

      • Did product testing to ensure that the command parsing were accurate, and various system integration tests.

      • Debugged certain command related bugs: #294, #333, #318, #355, #358

      • Alerted team about bugs found in issue tracker: #146, #99, #109

    • Enhancements to existing features:

      • Wrote the regular expression parsing, user input validation, and command execution for:

        • add Front and Back, Multiple Choice Card addition.

        • edit Front and Back Card, Multiple Choice Card.

        • delete Flash card and deck.

    • Documentation:

    • Community:

      • PRs reviewed (with non-trivial review comments): #205, #91

      • Contributed to forum discussions (examples: #137)

Contributions to the User Guide

Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users.

Contributions to the Developer Guide

Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project.