Project: Productiv

Productiv is a desktop application for product managers to organise their product-related information. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 20 kLoC.

Given below are my contributions to the project.

Code contributed: RepoSense

New features and Enhancements
  • New Feature: Added the Calendar feature.
    • What it does: displays all Deliverables and Meetings in a single sorted-by-time list in the dashboard
    • Justification: allows product managers to check their deliverables and meetings together in one place
    • Highlights: This new feature requires a thorough design analysis. Amendments and discussions were done to prevent couplings and preserve cohesiveness
  • New Feature: Added the auto-sorting of Deliverables and Meetings
    • What it does: auto-sorts Deliverables and Meetings in ascending chronological order.
    • Justification: allows product managers to view their most urgent deliverables and meetings quickly, in neat sorted-by-time lists
    • Highlights: Before settling with the current sorting implementation, an in-depth analysis of the PriorityQueue and binary search implementations was done
  • Enhancement: Designed the current UI/UX of Productiv.
    • What it does: enhances the UI/UX of Productiv to be slick, clean, and intuitive.
    • Justification: Good UI/UX plays a significant role in user satisfaction and retention.
    • Highlights: Designing the UI/UX is challenging but essential as Productiv has four modes. Many designs were made and improved upon, before reaching the current clutter-free design.
Project management
  • Organised and led some weekly team meetings.
  • Fascilitated and delegated tasks.
  • Ensured that tasks were completed on time.
Contributions to team-based tasks
  • Restructured AB3 to allow the addition of the deliverable, meeting, and mode components #38
  • Created the skeleton of the Meeting component #47
  • Filled application with synchronized seed data that make sense and reflective of product managers’ busy schedule #237
  • Updated user and developer guides that are not specific to my responsibilities
Community
  • Reported bugs and suggestions for a team (link to issues)
  • Reviewed PRs with non-trivial comments (examples: #32, #98, #108, #52)
  • Total PRs reviewed: 20+, Total comments given: 80+
Documentation
  • User Guide
    • Wrote the Introduction section #296
    • Co-wrote the Meeting subsection in the Feature section
    • Added and edited all diagrams #296
    • Wrote the Command Summary tables #194
  • Developer Guide
    • Updated the Architecture sequence diagram and Model component object diagram #242
    • Added the implementation details and diagrams of the Calendar and auto-sort feature #242