Project: SoCompiler

Overview

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.

  • Module Class:
    • Added the Module Class and its associated classes.(Pull request #45)
    • The associated classes include:
      • LectureDetails
      • ModuleCode
      • TutorialDetails
      • ZoomLink
      • AssignmentDetails
  • Telegram Class:
    • Added the Telegram Class that is associated with a Person (Pull request #115)
  • Replaced Address with ModuleCode in Person:
    • Redid the tests for the affected classes that used Address in the Person Class. (Pull request #113)
  • Testing:
    • Did testing for the following classes:
      • Module
      • ModuleCode
      • LectureDetails
      • TutorialDetails
      • ZoomLink
      • AssignmentDetails
      • Telegram
      • UniqueModuleList
      • ModuleDetailsContainsKeywordPredicate
      • And others… (You can refer to the link under “Code contributed”!)
  • Bugs Fixed:
    • Found a bug relating to the edit module command while testing the application. Created issue #121. Fixed this bug after posting the issue onto GitHub. (Pull request #143)
    • Fixed documentation errors. (Pull requests #270, #272)
    • Fixed Tag and AssignmentDetails to accept non-alphanumerics. (Pull requests #249, #255)
  • Code contributed: RepoSense Link

  • Project management:
    • Helped to approve and merge Pull Requests by my team mates.
    • Did some light debugging and to create the issues on GitHub.
    • Made sure our team adheres to deadlines.
    • Managed the release of v1.3 of SoCompiler.
  • Enhancements to existing features:
    • Users can now add a Module to our application to keep track of details related to their modules that they are currently taking.
    • Users can now associate a Person to a ModuleCode and his/her Telegram handle.
  • Documentation:
    • User Guide:
      • Did the v1.3 iteration of the UG. (Pull request #122)
    • Developer Guide:
      • Did the Module Class Section in the DG.
      • Updated the Model Component in the DG.
      • Added UML diagrams for these classes:
        • Module
        • Model
        • AddModuleCommand
  • Community:
    • Reported bugs and suggestions for other teams in the class. (Examples: 1, 2, 3, 4)
  • Contributions to team-based tasks:
    • Helped to organise and categorise the bugs after the PE-D in our team’s Google Document. The bug list can be found under the section “Post PE-D Bug Lists”.
    • Helped to manage the issues posted by the nus-se-bot on our team’s issues page.
  • Tools:
    • Intellij
    • SourceTree
    • Git
    • GitHub