Project: TrackerGuru (Lucius)

TrackerGuru is a desktop address book application for property agents managing large client portfolios. It features a Command Line Interface (CLI) optimized for fast typists with a JavaFX GUI. Written in Java with ~10,000 LoC. Given below are my contributions to the project.

  • New Feature: Role Field

    • What it does: Introduces a Role field for contacts (e.g., Buyer, Seller), enabling agents to tag clients by their business relationship.
    • Justification: Property agents handle diverse client roles. This allows them to recall context-specific relationships.
    • Highlights:
      • Designed an extensible role parsing and validation framework, supporting mixed-case inputs and compound names like Co-buyer while validating against copy-paste errors like - Tenant.
      • Added duplicate and case-sensitivity checks to prevent redundant roles (e.g. r/Buyer r/buyer).
      • Integrated seamlessly into add/edit commands, JSON storage, and UI display.
      • Wrote comprehensive test coverage for role parsing, validation, and persistence.
  • Code contributed: RepoSense link (~943 total lines: 290 functional code, 327 test code, 326 documentation)

  • Project management:

    • Managed 26 PRs with clear descriptions, labels, and milestones.
    • Reviewed 41 PRs for teammates.
    • Coordinated integration of the Role feature across Logic, Model, Storage, and UI layers.
  • Documentation:

    • User Guide: 1) Refined Quick Start Section 2) Owned Role documentation throughout UG 3) Refined Clear Command Section 4) Owned Data Storage sections.
    • Developer Guide: 1) Owned Instructions for manual testing, Product Scope and User Stories 2) Updated Glossary 3) Refined UML Diagrams.
  • Community:

    • Reviewed teammates' PRs with detailed feedback
    • Helped debug role-related validation issues
    • Participated in team planning and guided teammates with feature enhancements
  • Tools: Jackson (JSON), JUnit 5, TestFX, PlantUML, GitHub Actions CI/CD