Skip to content

Commit

Permalink
Merge pull request #503 from Eugenetanwl3881/w13/update-dg-effort
Browse files Browse the repository at this point in the history
Add Effort section of DG
  • Loading branch information
bryanljx authored Nov 6, 2022
2 parents eff9826 + ce91897 commit b43c31b
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions docs/_dg/Effort.md
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.

0 comments on commit b43c31b

Please sign in to comment.