Audrey's Project Portfolio Page
Project: Warenager
Warenager is an inventory management application to help warehouse managers of small scale companies keep track of stocks in their warehouse. It optimizes inventory management tasks for warehouse managers including but not exhaustive of updating, searching and sorting stocks via Command Line Interface (CLI), while still having the benefits of a Graphical User Interface (GUI).
Given below are my contributions to the project.
- Code Contribution
- Here is the link to my code on the tP Code Dashboard.
- Features and Enhancements Implemented
- New Feature: Added the ability to update existing stocks in the inventory. (Pull requests
#101,
#157,
#214,
#222,
#258)
- What it does: Allows the user to update the details of the desired stocks.
- Justification: This feature allows the user to update stocks without the need to remove first and then add back the stocks with new details.
- Highlights: Multiple stocks are able to be updated in one step. User can update the name, source, low quantity threshold, quantity, and location details of a stock. The implementation was challenging as the implementation need to preserve data integrity if an error occurs while updating.
- New Feature: Added the ability to sort existing stocks in the inventory. (Pull request #151)
- What it does: Allows the user to sort the stocks in the inventory by the field the user wants.
- Justification: This feature allows the user to sort stocks according to the user’s preference for easier viewing.
- Highlights: User can sort by name, source, quantity, serial number, or location and in both ascending and descending order. The implementation was challenging since it requires comparators to sort the stocks.
- New Feature: Added the ability to suggest correct commands to the user. (Pull requests
#133,
#187,
#261)
- What it does: Suggests a correct command format to the user if the command the user entered is invalid.
- Justification: This feature allows the user to view and type the correct command form easily after entering an invalid command.
- Highlights: This feature uses the minimum edit distance heuristic to calculate the closest correct command word. The suggestion for the fields and prefixes is generated based on the user input and default parameters. The implementation was the most challenging since a lot of research on the algorithm for string comparison heuristic was needed.
- New Feature: Added the ability to update existing stocks in the inventory. (Pull requests
#101,
#157,
#214,
#222,
#258)
- Git & Repository:
- Created and set up project repository.
- Used GitHub Projects feature to create kanban boards to track user stories. (Link)
- Setup codecov for the team to track coverage for tests (Pull requests #69, #301)
- Managed the issue tracker: Link to issues created
- Reviews & Merging:
- Bugs & Forums:
- Testing:
- Documentation:
- User Guide:
- Developer Guide:
- Added implementation details, UML diagrams, use cases, and manual testing test cases of
update
,sort
, andsuggestion
features. (Pull requests #69, #145, #164, #274, #284, #293, #344) - Added sequence and class diagrams for
Logic
API. (Pull request #221) - Added user stories in the form of a table. (Pull requests #51, #284)
- Added effort appendix to justify project effort and workload. (Pull request #293)
- Added implementation details, UML diagrams, use cases, and manual testing test cases of
- Project Management:
- Managed releases
v1.1
-v1.4
(5 releases) on GitHub.
- Managed releases
- UI: