Janelle Loh Jen Teng's Project Portfolio Page
Overview
TrackO is a desktop application that helps small home-based business owners manage their orders and inventory efficiently in the form of an integrated solution built using Java with around 15 kLOC. The user interacts with the application via a CLI, and the application responds with its GUI, created with JavaFX.
My role in this project was to design features related to order management. The following sections will give a more in-depth illustration of my contributions as well as the relevant documentation I have added to the user guide and developer guide.
Summary of Contributions
-
Code contributed: RepoSense Link
- Features and Enhancements Implemented:
- Feature: List Order Command
- Function: Lists all orders.
- Purpose: Helps user to see all their orders in one place.
- Relevant pull request(s): #66
- Feature: Find Order Command
- Function: Finds orders by given keywords or flags.
- Purpose: Allows the user to search by different fields, helping them better manage closely related orders.
- Enhancement: The find order command was originally implemented with the ability to only search by items
ordered (PR #66), the find order command was enhanced by adding the functionality of searching by more than one field at a time.
This enhancement was added in PR #125 and now allows users to search by payment and delivery status as well as by other relevant fields
such as customer name, address and name of item ordered.
- Highlights: Implementing a versatile predicate was challenging as I needed to take into account the different fields and consider each possible case for the find order command.
- Implications: This provides a more robust search functionality which allows the user to better manage their orders.
- Relevant pull request(s): #66, #125
- Enhancement: Price field to items
- Function: Field representing the price of a particular item.
- Purpose: Allows the user to keep track of the sell price and cost price of their inventory items.
- Relevant pull request(s): #103
- Feature: List Order Command
- Contributions to the User Guide:
- Contributions to the Developer Guide:
- Added implementation details and design considerations for the find order command as well as an activity and sequence diagram depicting the program flow.
- Added user profile, value proposition and user stories with differing priorities.
- Relevant pull request(s): #43
- Added instructions for testing for
findo
,listo
andsorto
commands.- Relevant pull request(s): #224
- Contributions to team-based tasks:
- Facilitated team discussions and delegation of work.
- Provided insights on potential implementations to certain features.
- Assisted in fixing various bugs detected.
- Wrote test cases to test coverage of the application.
- Contributed to the following test files:
FindOrderCommandParserTest
,PriceTest
,AddressTest
,EmailTest
,NameTest
,PhoneTest
,OrderDateTimeComparator
andOrderMatchesFlagsAndPrefixPredicateTest
- Relevant pull request(s): #209
- Contributed to the following test files:
- Updated
AboutUs.md
file with relevant roles and responsibilities.- Relevant pull request(s): #206
- Review/mentoring contributions:
- Provided timely feedback and suggestions to the pull requests of teammates.
- Relevant pull requests: #211
- Suggested alternative implementation details.
- Provided timely feedback and suggestions to the pull requests of teammates.
- Contributions beyond the project team:
- Assisted in detecting an above average number of bugs for other teams and offered solutions to resolving the bugs detected during the Practical Exam Dry Run.