Project: Lifebook

Lifebook is a desktop task management application used for teaching Software Engineering principles. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.

Given below are my contributions to the project.

  • Link Feature: Added the ability to add a link to a task. (Pull requests #86, #100)
    • What it does: allows the user to add a meeting link or collaborative link to a task.
    • Justification: This feature improves the product significantly because finding Zoom links or Google Drive links can be tedious for the users and the app should provide a convenient way for the users to find the links easily.
    • Highlights: This enhancement affects the model of the task. The implementation was quite challenging as UI matters must also be taken into consideration.
  • Code contributed: RepoSense link

  • Bug fixing:
    • Add checks for invalid data during data input #268 #270
  • Project management:
    • Setting up the GitHub team repository and website
  • Enhancements to existing features:
    • Added ‘all’ (refactored to ‘task’) to list feature (Pull request #54)
    • Added optional to links in tasks for defensive programming (Pull request #105)
    • Added tests for link classes in model (Pull request #155)
  • Documentation:
    • User Guide:
      • Added documentation for the features link. #18
    • Developer Guide:
      • Added user stories and use case for the link feature. #43
  • Contributions to the Developer Guide:
    • Storage component documentation
  • Contributions to the User Guide:
    • Link meeting command
  • Community:
    • PRs reviewed: #17, #104, #224
    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3)