Project: Source Control

Source Control is a desktop application for CS1101S professors to manage the performance of their students. Users interact 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.

  • New Feature: Added the ability to add an individual student.
    • What it does: allows the user to add an individual student into the database. If groups are provided, then the student is added to the group too.
    • Justification: The feature is necessary for the target user as there needs to be a way to add in individual students after using the import function. This makes adding students to the database quicker for smaller number of additions than doing edits on the csv file.
    • Highlights: This feature is the alternative method for adding students into the database besides the import function. Implementation was not too challenging, but involved a lot of refactoring as a whole from the old AddressBook3 for the team.
  • Code contributed: RepoSense link

  • Project management:
    • Updated site-wide settings #43
  • Enhancements to existing features:
    • Revamped the base layout of the GUI (Pull requests #154, #156)
    • Minor GUI updates #106
    • Enhanced ABParser to take in two-word commands (Pull requests #95, #96, #97, #126, #127)
    • Revert ABParser back to take in only single word commands due to issues caused by alias command #239
    • Enhanced addalloc, addgroup, and addscore commands to show the list of students with naming conflicts #174
    • Wrote additional tests for existing features to increase coverage (Pull requests #98, #191)
  • Documentation:
    • User Guide:
      • Added documentation for the add feature #54
      • Did cosmetic tweaks to existing documentation of features clear, exit: #74
    • Developer Guide:
      • Updated NFR subsection #44
      • Added addstudent feature implementation (Pull requests #147, #190, #191, #288)
  • Community:
    • PRs reviewed (with non-trivial review comments): #148, #179, #183,

    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)