Project: Managera

Managera is a desktop app that provides event organisers with a convenient method of keeping track of upcoming events and the details of their participants. It does not handle communication between the event organiser and the participants. This project is adapted from SE-EDU AddressBook - Level 3.

Given below are my contributions to the project.

  • New Model: Event
    • Initialize a new class, Event, with basic implementation and its components for the team to work on, for their features.
  • New Feature: Added ability to edit events.
    • What it does: Allow users to edit event details (name, date and time).
    • Justification: Sometimes when users type too fast, they might have typos. Having to delete the event and re-add might reduce their productivity. Moreover, in the real world, events may sometimes get postponed too. Hence, this feature caters to these scenarios.
    • Highlights: This feature affects the choice of data structure our team uses. We planned to use priority queue to store events so the event list are automatically sorted in chronological order. However, with edit events made possible, we find that it complicates the implementation to re-order it after each edit. Our team decided to provide another feature to provide the option for users to choose whether they want to sort the events or leave it as it is.
  • New Feature: Added ability to filter events by date and optionally time.
    • What it does: Allow users to filter for events occurring on a specific date and optionally time.
    • Justification: When there are many events on Managera, it is hard to eyeball for events that occurs on a specific day.
  • New Feature: Added ability to sort events in chronological order.
    • What it does: Allow users to rearrange all existing events in chronological order.
    • Justification: After adding multiple events or ad hoc events, the timeline of events may become too messy for users to keep track of. Moreover, when events are edited, the timeline of events may get messed up too. Hence, this feature caters to users who want to sort the events.
  • Code contributed: RepoSense link

  • Enhancements to existing features:
    • Improved features to deal with dependencies more accurately (Pull requests #115, #126)
    • Modified showDetails and showParticipants commands to use Index (Pull request #147)
    • Wrote additional tests for existing features to increase coverage from 66.63% to 71.62% (Pull requests #89)
  • Documentation:
    • User Guide:
      • Added documentation for the features sortEvents, filterEvents and editEvent.
    • Developer Guide:
      • Added implementation details of the filterEvents feature.
      • Updated existing class diagrams to fit our project’s structure.
      • Improve the phrasing of use cases.
  • Team based Task:
    • Set up the GitHub team org/repo
    • Set up tools e.g., GitHub workflow, CodeCov
  • Community: