Overview

NotUS is a quick and simple, Command Line Interface (CLI) based, note-taking application for keyboard-inclined users. NotUS allows for users to categorize notes by tagging as well as pinning the more important notes. NotUS is also designed to assist in planning timetables to highlight possible clashes.

  • In-charge of Events and Timetable of the code: Handles area of events, reminders and timetable scheduling and reviews changes done in this area.

Summary of Contributions

Features implemented

  1. Set up and designed the architecture used for Event scheduling in the timetable.
    • Handled Event, RecurringEvent, Timetable, Reminder and other relevant Command subclasses for Event scheduling functionality.
    • Event functionality was designed with scalability in mind. Immutability was largely enforced to ensure consistency of Events even across re-occurrences.
  2. Implemented Single-Responsibility-Principle, Tell-Don’t-Ask, and Liskov Substitution Principle in Designs.
    • Designed to reduce circular dependencies to reduce coupling.
  3. Assisted in the development of two common Parser methods.

Code contributed

Reposense Link

Contributions to User Guide

  1. Maintain portions on commands related to Events.
    • add-e
      • Added ability to add an event with custom end timings, multiple reminders and can be set to recurring.
  • edit-e
    • Provide functionality to edit any Event that is stored in the Timetable without deleting and adding it back.
  • list-e
    • Provided an “overloaded” command where a user can see only all stored timetable or timetable for a specific year/month.
  • delete-e
    • Provided a functionality to delete events stored. Removes all recurring one if used on a recurring event.
  • remind-e
    • Gets all reminders for today and displays it to the user.

Contributions to Developer Guide

  1. AddEventCommand Sequence Diagram
  2. RemindCommand Sequence Diagram
  3. Timetable Class Diagram
  4. Event and RecurringEvent Class Diagram

Community

  1. Code Review
  2. Code Cleanup
  3. Assist in Standardization
  4. Provided Assistance in Event Functionality Saving & Edge Case