Project: SoCompiler

SoCompiler is the sole app that university students will need to streamline their everyday routines. 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.

  • Find Commands:
    • Added Find command for both contacts and modules, namely findp and findm, as well as their associated classes(PR #95).
    • The associated classes include:
      • FindModuleCommandParser
      • FindPersonCommandParser
      • ModuleDetailsContainsKeywordPredicate
      • PersonDetailsContainsKeywordPredicate

  • About Us and README
  • Testing:
    • Wrote test cases for the following classes:
      • AddressBookParser
      • ListCommand
      • FindCommand
      • FindModuleCommand
      • FindPersonCommand
      • FindCommandParser
      • FindModuleCommandParser
      • FindPersonCommandParser
      • ModuleDetailsContainsKeywordPredicate
      • PersonDetailsContainsKeywordPredicate

  • Code contributed:
  • Project management:
    • Created issues to be completed by team for v1.3.
    • Helped to review and close pull requests for other team members.
    • Fixed and closed most issues opened post mock PE and post UG review (cs2101), updated on team google doc on bugs fixed.

  • Enhancements to existing features:
    • find command now searches keyword across both modules and contacts, instead of only contacts
    • All find commands now searches not just person name/module code, but all available fields(PR #117).
    • list command now list the entire list for both contacts and modules(PR #89).

  • Documentation:
    • User Guide:
      • Helped design the layout of the UG.
      • Fixed majority of bugs found in UG, such as during mock PE(PR #225)
      • Added sections on Find Commands(PR #129), Person fields and Module fields.
    • Developer Guide:
      • Updated DG to its final draft(PR #256).
      • Added UML diagrams for find command(PR #111).

  • Community:
  • Tools used:
    • Intellij
    • SourceTree
    • Git
    • GitHub