Project: Dictionote

Dictionote is a desktop application that helps CS2103T students in finding information about the module’s materials, writing notes about them, and sharing these notes with others. It is optimised for Command Line Interface (CLI) users so that searching and writing operations can be done quickly by typing in commands.

Given below are my contributions to the project.

  • New Feature: Added the ability to create, read, update and delete notes. (Done together with Otto Alexander Sutianto (https://github.com/godjuansan/)).
    • What it does: Allows the user to to create, read, update and delete notes via command
    • Justification: This is essential as Dictionote is a note-taking app.
    • Highlights: Supports full CRUD operation fully with CLI (Command Line Interface).
  • New Feature: Added the ability to track the creation and the last-edit time of a note
    • What it does: Provides each note their time of creation and last edit for easier tracking by the user.
    • Justification: User may forget when they created a note (for instance, someone wants to recall from which week a particular note is written). This provides them an easy way to keep track.
  • New Feature: Added a sort command to rearrange notes based on time last edited or alphabetically.
    • What it does: Allows the user to sort their notes based on their needs (for example, to see which notes have been edited recently). Two options are available, either sorting alphabetically or sorting based on the last edit time.
    • Justification: When there are a lot of notes, there is a need to have some order in these notes so the user can easily see which notes have been edited recently.
  • New Feature: Added a search command to filter notes that have the content containing the keyword.

    • What it does: Allows the user to search their notes with keywords (based on content or tags).
    • Justification: After creating a note, users need to reopen them to review. By using the search function, users can find the desired note quickly by supplying the keywords needed.

Code contributed: RepoSense link

  • Project Management and Contributions:
    • Attended weekly meetings and contribute ideas.
    • Managed workload for Note features between myself and Otto (https://github.com/godjuansan/).
  • Enhancement Features:
    • Update Help Feature : Update listCommand and ListCommandNoteCommand (Pull requests #167)
    • Add Note Feature : Sort Note by time. (Pull requests #154)
    • Add Note Feature : Find Note. (Pull requests #123)
    • Add Note Feature : Add timestamp to Note (Pull requests #77)
    • Add Note Feature : Edit Note (Pull requests #64)
    • Add Note Feature : Delete Note (Pull requests #60)
    • Add Note Feature : Add Note (Pull requests #53)
  • Documentation:
    • User Guide:
      • Added documentation for the features sortnote and findnote (Pull requests #125)
      • Added documentation for the features addnote, deletenote, markasdonenote, editnote, shownote, listnote (Pull requests #97)
    • Developer Guide:
      • Update Model class diagram (Pull requests #143)
      • Added user stories for note related feature (Pull requests #125)
      • Added implementation details for note related feature (Pull requests #173)
  • Community:
    • Reviewed PRs and giving suggestions to teammates: (examples: 1, 2, 3)
    • Contributed to forum discussions (examples: 1, 2, 3, 4)
    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3, 4, 5)