Kok Chun Khai's Project Portfolio Page
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.
- Code Contribution: RepoSense Summary
- Features Contributed:
- UI/UX Design:
- What it does: Enhances user experience and general improvement of usability.
- Highlights:
- Rearranged structure of javafx to better fit our product.
- Overhauled outlook of software for a more modern, sleek look with an updated color scheme.
- Redesigned UI layout to accommodate for the newly introduced module list.
- Included features to improve user experience such as a copy button for long links and email addresses
- Redesigned sizing of app window and list widths to be able to accommodate for general user inputs as well as the average lengths of module coded and titles.
- Fixed bugs from AB3’s UI such as overlapping tags and overflowing texts
- NUSModule Data Fetching and Verification:
- What it does: Automatically matches user’s valid desired module code to the respective module title.
- Justification: Increases recognizability of modules whilst allowing it so that users do not need to manually key in long module titles.
- Credits: Integration of functionality was done with the help of
@Yingming23
. - To Note: Currently only works for modules in the current semester, will be implementing it such that users can select their preferred academic year to query from, as well as input custom modules.
- Add Module Command:
- What it does: Adds a module to the SoCompiler data archive, similar to the add-command introduced in AB3.
- Justification: Allows user to add modules to a separate list from the Person for a better overview and clarity.
- Edit Module Command:
- What it does: Allows user to edit details of previously entered modules.
- Justification: We felt that a separate command for editing modules would simplify the user experience,
preventing them from editing details contents the wrong list.
- UI/UX Design:
- Tests:
- Project management:
- Set up Codecov code coverage tracking for project repo.
- Initial set up and transition of project documentations and website from AB3 to SoCompiler.
- Managed releases
v1.2.1
andv1.3
on GitHub. - Set up and managed meeting documents and other important information here.
- Documentation:
- Community:
- PRs reviewed (with non-trivial review comments): #109, #119, #235*
- Reported bugs and suggestions for other teams in the class: Reported bugs and provided suggestions for another team (link)
*note that the majority of bugs/issues discovered are discussed during our weekly meeting, and this list does not include bugs/issues/suggestions during such sessions.