forked from nus-cs2103-AY2223S1/tp
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #503 from Eugenetanwl3881/w13/update-dg-effort
Add Effort section of DG
- Loading branch information
Showing
1 changed file
with
9 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,14 @@ | ||
<!-- markdownlint-disable-file first-line-h1 --> | ||
This section shares with you about the difficulty in implementing FoodRem and the challenges faced. | ||
|
||
### Difficulty Level | ||
Implementing FoodRem was not a straightforward task. Given below is a summary of the effort our team has put into to develop FoodRem as well as some challenges faced. | ||
|
||
The implementation of FoodRem was not a straightforward task. | ||
### Morphing of AB3 to FoodRem | ||
|
||
### Challenges Faced | ||
As we wanted to morph AB3 to fit into our idea of FoodRem, we had to refactor a large portion of the initial codebase and implement several new classes to get the basic minimum viable product of FoodRem. This included creating the `Item` class and its associated inner field classes. For the`Tag` class, we also created a separate class for it so that we are able to have more flexibility in creating more commands that can make use of the `Tag` class. This is so that we can implement tag commands that can bring even more value to our user that the initial AB3 implementation does not support (e.g. deleting a tag for all items, finding all items with a certain tag) We also had to update how the application will store our items and tags separately. In addition, many previous commands of AB3 had to be refactored or changed, and we added several new commands into FoodRem as well. Eventually, we were able to successfully implement both the Item and Tag classes and all their associated commands. | ||
|
||
The main challenge we faced was attempting to implement a batch feature. | ||
<!-- TODO: (bla bla... Let's come up with something here.) --> | ||
One challenge we ran into during the project was implementing a batch feature for our items. We wanted to be able to create same items but of different batches (i.e. same name but different bought date and expiry date). However, this would require another major refactoring of the classes we have, as well as the commands that we have implemented thus far in the project. Given the tight timeline of the team project, we eventually decided to drop this feature since we will not be able to deliver the full functionality (along with updating every other command we have implemented thus far) in time. If given more time, this would have been a feature which we would have implemented as it is a relevant feature that will be used in the real world which brings value to our target users. | ||
|
||
|
||
### Revamping of UI | ||
|
||
We wanted a simple yet appelaing user interface for our application users. As such we decided to change the original UI of AB3 into our own new FoodRem UI. As our team is not familiar with JavaFX initially, it took us considerable time and effort to produce an eventual satisfactory and working UI that we were proud to adopt and incorporate into our application. |