Prittam Ravi's Project Portfolio Page
Project: Coydir
Coydir is a desktop application used by Human Resource Executives to streamline processes in managing their staffing. The user interacts with it using a CLI, and it has a GUI created with JavaFX.
Coydir is a project adapted from AddressBook - Level 3.
Given below are my contributions to the project.
Summary of Contributions
Code Contributed
Enhancements Implemented
- New Features
- Implemented
batch-add
feature.- Created a
BatchAddCommand
class to handle the logic (Refer to code here) andBatchAddCommandParser
class to handle the parsing of the user input (Refer to code here). - Use Case: User can add multiple employees at once if they have the data in the form of a
.csv
file. - Why: Without this command, users will have to manually input each employee using an add command. This is especially troublesome when the user has to transfer their database over or if there has been a recruitment cycle and they have multiple employees joining.
- Constraints: This implementation was rather difficult as it was rather different from all the commands
implemented before. Moreover, having to read from an external file made it a bit more difficult to test.
One functionality of this feature is that if there is any error, the command will be aborted
and the database will be reverted to previous state. This was a bit more tricky as the functions
only returned
ReadOnlyDatabase
. Therefore, I had to find a workaround for that.
- Created a
- Implemented
Leave
class.- Created the
Leave
class one of the key components we are tracking in our application. - Use Case: Building blocks to track stuff like leaves taken so far, whether employee is on leave etc.
- Constraints: Was not too difficult other than the part about writing into
JSON Adapted Person
. which was slightly more complicated as I had to make sure that the Priority Queue of theLeave
will be stored in thedatabase.json
.
- Created the
- Wrote test cases for
BatchAddCommand
,BatchAddCommandParser
andLeave
.
- Implemented
- Existing Features
- Removed all instances of
AddressBook
and changed it toDatabase
. - Fixed multiple bugs (Refer to #120, #138, #142).
- Removed all instances of
Contributions to the UG
- Added documentation for following parts:
batch-add
command.clear
command.exit
command.- Navigating User Guide.
- Interface Layout.
Contributions to the DG
- Added implementation details for Batch-Add Function
- Wrote use stories
- Wrote use cases
Contributions to the team-based tasks
- Helped to create and distribute issues.
- Did manual testing of the application to find bugs.
- Was in-charge of keeping track of deadlines and division of labour.