Leong Yuan Kun's Project Portfolio Page
Project: EmployeeManager
EmployeeManager is a desktop application used by Human Resource (HR) staff in a small or medium-sized company (of 50 - 200 employees). EmployeeManager has HR management features to provide HR staff a convenient way to access and update employee details.
Given below are my contributions to the project.
- Code contributed: RepoSense link
- New features implemented:
- Added
sort
command to sort the displayed persons list based on any of their attribute. - Added
export
command to allow the data file to be exported to another location on the disk. - Added
import
command to allow a data file to be imported into the application. - Added GUI option for importing and exporting of files.
- The
export
andimport
features were challenging to implement as they were OS-dependent due to the different file systems. Handling the file path was one of the challenge as they have different restrictions and format. There were also many scenarios where the commands might fail. For example, the files and folders might not have the proper R/W permissions, certain folders might be protected etc.
- Added
- Enhancements to existing features:
- Added
Id
as a field to thePerson
class. - Extended
Model
to support filtered and sorted person list forfind
andsort
commands. Originally, AB3 only has aFilteredList<Person>
. To support sorting as well, anotherSortedList<Person>
is used. - Modified
FindCommand
to support searching by any attribute instead of just name.
- Added
- Documentation:
- User Guide:
- Added documentation for features:
sort
,import
,export
. - Added Prefix summary section.
- Added Specifying data file path section.
- Added documentation for features:
- Developer Guide:
- Added implementation details for
sort
,import
, andexport
. - Updated Model diagram and description.
- Added SortSequenceDiagram and FileCommandClassDiagram
- Updated target user profile & value proposition.
- Added use cases for
sort
,import
andexport
. - Added instructions for manual testing for
import
andexport
. - Added some planned enhancements.
- Added implementation details for
- User Guide:
- Contributions to team-based tasks:
- Set up GitHub team organisation and repository.
- Incorporated artifact building in the project workflow to streamline testing when reviewing pull requests.
- Released v1.2 JAR File.
- Review/mentoring contributions:
- Contributions beyond the project team: