Project: Trackr

Trackr is a desktop address book 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.

  • Added the ability to add tasks to a task list and list tasks.
    • What it does:
      • Allows users to add tasks with task description, deadline of task and completion status (DONE / NOT DONE) of task.
    • Justification: This feature is made to cater to the needs of home business owners as they usually have a lot of tasks (such as ordering supplies, making deliveries) to deal with and the app provides a convenient way to record down and get an overview of their tasks.
    • Credits: Code is adapted from AddressBook-Level3 project created by the SE-EDU initiative

  • Added the ability to edit existing tasks.
    • What it does:
      • Allows users to edit existing tasks so that they can keep tasks details correct and up to date.
      • Justification: This feature improves the product because users may sometimes key in the wrong info and this feature allows users to modify wrong task details easily.
      • Credits: Code is adapted from AddressBook-Level3 project created by the SE-EDU initiative

  • New Feature: Added the ability to sort orders and tasks according to a given criteria.
    • What it does:
      • Allows users to sort tasks or orders according to a given criteria.
    • Justification: This feature improves the product significantly because home business owners has a lot of orders and tasks and may wish to quickly find out which orders or tasks are more urgent at one glance. This feature provides a convenient way for the home business owners to do so.
    • Highlights: Users are able to sort the tasks or orders based on various criterias (Task Name, Task Deadline, Task Status, Time added, Task Status and Deadline)
    • Credits: Code is adapted from AddressBook-Level3 project created by the SE-EDU initiative

  • Code contributed: RepoSense link
    All the functional and test codes reused or adapted are reused from and adapated from AddressBook-Level3 project created by the SE-EDU initiative.
    Code used for rake symbol used in Edit Command Activity Diagram in the DG is reused from this Plant Uml forum.

  • Project management:
    • Managed project documentation (UG & DG)
      • Checked and updated UG to match with actual product #276
      • Checked and standardise format of UG & DG #85 #86
    • Add and edit comments for code #295
    • Add test cases to improve test coverage #89
    • Update site-wide settings #52

  • Documentation:
    • User Guide (UG):
      • Drafted out documentation for the features tag_supplier, edit_supplier, edit_task, delete and find
      • Updated actual UG documentation for the features add_task and edit_task #54
      • Added UG documentation for the features sort_tasks and sort_orders #183, #193
      • Checked that UG matches with the actual product and updated UG accordingly #276

    • Developer Guide:
      • Updated Glossary to include definitions of meaningful words and phrases #70
      • Updated Product Scope (Target User Profile & Value Proposition) and Acknowledgements #57
      • Added user stories #57, #152
      • Added UML Class Diagram and updated documentation for Storage #152
      • Added documentation and activity diagram for Edit and Sort features #173, #286

  • Community:
  • Tools:
    • Java 11, JavaFx, Jekyll