Tan Le Jun - Project Portfolio Page
Overview
iGraduate
is a command line application that acts as a centralised hub for NUS students
majoring in Information Security to plan their academic journey. With tools like the
storing of modules, listing of modules that can be taken, an academic progression indicator
and a CAP calculator, iGraduate will help students check his/her graduation progress, view modules
taken based on programme requirements and make informed decisions about future modules.
Summary of Contributions
- Code contributed: RepoSense link
Enhancements implemented:
Implemented AddCommand
class of iGraduate with Ke Wen
The AddCommand class is responsible for executing the add
command, and takes in additional parameters, module name,
module code, module type, number of MCs and/or prerequisites. The AddCommand class helps the users to add their
modules into the module list.
Considerations
The add
command is important to iGraduate because we want to give the users freedom to plan what modules to take,
instead of giving them a study plan in-built by our team. Therefore, we decided to allow users to add modules on their own
as long as the module details are entered correctly and that they have cleared all prerequisites.
Implemented CapCommand
class of iGraduate
The CapCommand class is responsible for executing the cap
command, which helps to display the user’s current CAP
and degree classification.
Considerations
The cap
Command is important to iGraduate because our app’s focus is to help user’s easily access their academic
records and all details regarding it. Hence, we decided to show both the CAP score and degree classification with the
cap
command.
Contributions to documentation
User Guide
For the user guide, I made some minor edits to improve grammar, correct spelling and improve the phrasing of the guide to be more audience-centric and beginner-friendly.
Contributions to DG
For the Design and Implementation sections of the DG, I contributed to the command component as well as some diagrams in the DG, namely the AddCommand class diagram and the delete command sequence diagram. I used PlantUML to create the diagrams. For the Product Scope section of the DG, I contributed by writing the target user profile and value proposition component of the section. I also wrote the Non-Functional Requirements section of the and the Instructions for manual testing section of the DG, by giving positive and negative test cases for the commands in iGraduate, as well as the expected output in the application.
Contributions to team-based tasks
I helped to write non-feature specific portions of the UG and DG such as the Product Scope and Instructions for manual testing sections of the DG. I also helped to create some user stories and assign issues to my group mates as well as myself. Lastly helped to fix some bugs and gave inputs to the discussions in the team.
Reviews and PRs
I helped the team with repository maintenance, mostly about git (Pull Requests, Branches, Merge Conflicts etc). Here is a list of pull requests I helped to review and merge:
#51, #54, #72, #75, #79, #80, #96, #102, #108, #109, #116, #117, #119, #127, #133, #157, #160, #164.
Contributions beyond the project team
- Performed bug hunting and recommended fixes on other products such as Healthier.
- Reviewed User Guide and Developer Guide for other teams and provided constructive suggestions for improvement.