Project: Plannit

Plannit is an all-in-one application that streamlines the execution of module deliverables by empowering NUS students with the ability to manage tasks, links and module-mates (i.e., students in the same module) to increase their productivity.

Given below are my contributions to the project.

New Features: Added goto and home commands

  • What it does:
    Allow users to navigate to specific modules and home page to have an overview of details stored in Plannit.
  • Justification:
    Our application aims to streamline the execution of module deliverables, the goto command is implemented to allow users to view precise information relevant to a particular module such as the tasks, links and person which are tied to that module, which is critical for our value proposition.
  • Highlights
    The navigation function introduces a new concept of home page and module page which is previously not found in AB3. Hence, deliberate considerations have to be put into designing the behaviour to maximise user experience.
    Additionally, The implementation of the navigation system involves constant updating of UniqueModuleList, UniquePersonList and isHome status. Hence, it is not trivial as stringent checks are required to ensure the proper integration between Logic, Model and Ui to ensure what is executed matches what is seen by the user and that isHome status is set to the correct state as an incorrect state would jeopardize a user’s experience.
Search (#81)

Enhancements to existing features: find and list commands
To ensure that the search functionality complements the navigation functionality, much thought has been put into its design.

  • Implemented the follow search commands: find-module, find-person, list-module and list-person.
  • Modified existing AB3’s predicate to allow users to search by module and person name prefixes to better suit our project needs.
  • Added constraints that users can only use the search commands at the home page for better user experience.

Code contributed: RepoSense link

Documentation:

  • User Guide:
    • Added documentation for the following features:
      • home and goto (#50)
      • find-module, list-module, find-person and list-person (#81)
    • Updated UG with tips and notes and fixed some minor issues (#161)
  • Developer Guide (#87):
    • Added implementation details for home, goto, find-module and list-module command.

Contribution to team-based-tasks:

  • Facilitated team discussions and weekly meetings by setting up a Discord channel.
  • Created first draft of README.md to match Plannit (#32)
  • Implemented initial model framework for Link, Task and Module (#59)

Review contributions:

Contributions beyond project team: