Project Portfolio Page
Project: FaculType
FaculType is a desktop app for managing faculty members and their modules, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI) created with JavaFX. It is written in Java, and has about 11 kLoC.
Given below are my contributions to the project.
- New Feature: Added the ability to assign contacts to modules
- What it does: Allows the user to assign a particular contact to one or more modules in the active semester.
- Justification: This feature improves the product by helping the user keep track of the assignments of faculty members to the modules that they instruct. This is one of the main value propositions of FaculType, as it allows faculty leaders to manage the relationship between faculty members and modules instead of managing faculty members and faculty modules separately.
- Highlights: This enhancement required an in-depth understanding of how data is stored inside the
Model
component. Development could only be done after the module management features were finished.
- New Feature: Added the ability to switch between semesters
- What it does: Allows the user to switch to the other semester’s module list.
- Justification: This feature improves the product by allowing the user to switch to another module configuration quickly. This is also one of the main value propositions of FaculType, because a particular semester/term tends to not change a lot from year to year, but the modules offered in Semester 1 might differ greatly from those offered in Semester 2 (and their instructors as well). The ability to switch to another configuration is much more convenient than having to erase and re-add module data each semester.
- Highlights: This enhancement required an in-depth analysis of design alternatives. A change to the
AddressBook
structure was also required. This feature was developed last and the result of all module management features now depend on the active semester.
- New Feature: Added the ability to add remarks
- What it does: Allows the user to add additional information or personal remarks to contacts.
- Justification: This feature improves the product by helping the user keep track of useful additional information about the contact that cannot be stored inside the contact’s attributes.
- Highlights: This enhancement required an understanding of how the application parses and executes commands. This was one of the first enhancements made for FaculType.
-
Code contributed: RepoSense link
- Project management:
- Managed all team releases (
v1.1
-v1.4
) on GitHub - Managed the issue tracker and created every issue for each iteration
- Assigned issues and delegated tasks to team members
- Led the weekly project meetings
- Recorded all demo videos
- Managed all team releases (
- Enhancements to existing features:
- Documentation:
- User Guide:
- Developer Guide:
- Community: