Mohamed Hamas Project Portfolio Page
Project: Salesy
Salesy is a desktop program that helps food vendors in NUS manage details of their tasks, inventory and suppliers. It is optimised for CLI users so that tasks can be done faster by typing in commands. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.
Given below are my contributions to the project.
- New Feature:
- Implemented
Item
andPrice
field in person class (Pull Request #93)- The
Item
field contains the item that is being supplied by the supplier.ThePrice
field contains the price of the item that is being supplied by the supplier. - Updated
AddCommand
,AddCommandParser
,EditCommand
andEditCommandParser
to include Price and Item fields. - Updated
SampleDataUtil
to includeItem
andPrice
fields.
- The
- Implemented
ItemTest
andPriceTest
(Pull Request #103)- Added new test files for both
Item
andPrice
.
- Added new test files for both
- Implemented
SupplyItem
class (Pull Request #121)- The
SupplyItem
class represents the item that a supplier is supplying. - It contains fields such as
name
,currentStock
,minimumStock
andsupplier
for that item. - Update
SampleDataUtil
to contain sample supply items.
- The
- Implemented
Inventory
class (Pull Request #121)- Inventory class is a model used to store supply items
- Implemented
SupplyItemTest
andInventoryTest
(Pull Request #126)- Added new test files for both
SupplyItem
andInventory
.
- Added new test files for both
- Implemented
AddItem
command andAddItemParser
(Pull Request #147)- Feature helps to add new
SupplyItem
toInventory
- Also checks for duplicates before adding
SupplyItem
- Feature helps to add new
- Implemented
AddItemCommandTest
andAddItemCommandParserTest
(Pull Request #153)- Added new test files for both
AddItemCommand
andAddItemCommandParser
.
- Added new test files for both
-
Code contributed: RepoSense link
- Project management:
- Helped to review and merge pull requests on time.
- Added issues in Project so that it can be delegated to individuals.
- Contribution to team-based Tasks
- Fixed and reviewed bugs from PE Dry run
- Enhancements to existing features:
Person
test cases adapted to cater to new fieldsPrice
andItem
.- Added
Inventory
toModel
.
- Documentation:
- User Guide (Pull Request #160):
- Added
addItem
command. - Standardised formats for all commands.
- Enhanced
find
command by providing more details and examples. - Reformatted Command Summary.
- Added
- Developer Guide (Pull Request #121):
- Feature Implementation for
addItem
command. - Added
addItem
activity diagram. - Added state diagram for
addItem
.
- Feature Implementation for
- User Guide (Pull Request #160):
- Review/Mentoring contributions:
- Community: