Wu Lezheng's Project Portfolio Page
Project: PetCode
PetCode is a software app that aims to facilitate better working experience and boost business management efficiency for pet sale coordinators.
Given below are my contributions to the project.
- Functionality: Added the
order
package to themodel
component. (Pull request: #82)- What it does: Added an
Order
class and its subcomponents. - Justification: These models lay the foundation so that existing and added operations/commands could be performed using these models.
- Highlights: Some of the SOLID principles of OOP are applied in these classes.
- What it does: Added an
- Functionality: Extended
person
to different categories. (Pull request: #82)- What it does: Extended the
Person
class intoBuyer
,Supplier
, andDeliverer
, with their respective attributes. - Justification: These models lay the foundation so that existing and added operations/commands could be performed on them.
- Highlights: Some of the SOLID principles of OOP are applied in these classes.
- What it does: Extended the
- New Feature: Added a popup window for adding command. (Pull request: #159)
- What it is about: Added a popup window with prompt text for adding buyers with orders and suppliers with pets, without the need to input any prefixes.
- Justification: There is repetitive entering of multiple indexes when the users want to add a buyer with orders or to add a supplier with pets, which is very demanding in terms of memorisation.
- Highlights: The popup window is designed to improve the user experience (UX), with keyboard shortcuts and prompt texts. It also shows how UI, model and logic components can be linked.
- New Feature: Extended the
EditCommand
(Pull request: #205)- What it does: Extended the
EditCommand
toEditBuyerCommand
,EditDelivererommand
andEditSupplierCommand
. - Justification:
Buyer
,Deliverer
andSupplierr
can have different attributes. Making a separateEditCommand
for each of them allows customised editing even more distinct attributes are added to them in the future. - Highlights: This makes use of polymorphism.
- What it does: Extended the
-
Code contributed: RepoSense link
- Project management:
- Managed releases
v1.3
on GitHub (Link to v1.3 release) - Recorded and managed the majority of the meeting discussions in the meeting minutes in the Google Drive folder.
- Created and assigned issues to team members on GitHub.
- Created labels and categorised issues on GitHub.
- Managed releases
- Enhancements to existing features:
- Documentation:
- User Guide:
- Added documentation for the feature:
Adding a person with a popup window
. (Pull request: #159) - Added documentation for the feature:
Editing attributes of a contact
. (Pull request: #205) - Added documentation for the feature:
Listing contacts or items
. (Pull request: #207) - Proofread the whole UG. (Pull requests: #356, #364, #365)
- Added documentation for the feature:
- Developer Guide:
- User Guide:
- Community:
- Tools:
- Used JavaFX and Scene Builder to modify the UI.
- Used PlantUML to add more UML diagrams in the developer guide.