Project: FoodWhere

FoodWhere is a desktop application for managing your food stall addresses and reviews. While it has a GUI, most of the user interactions happen using a CLI (Command Line Interface).

FoodWhere is written in Java, with about 10 kLoC.

Given below are my contributions to the project.

  • New Feature: Added the ability to edit stall and review entries
    • What it does: allows the user to edit created stall and review entries by using the edit commands, sedit and redit for editing stall and review entries respectively. (#168, #172)
    • Justification: This feature improves the product significantly as a user can make mistakes when creating a stall or review entry, this feature would be able to provide a convenient way to rectify them.
  • Enhancement: Modified Person class in model to Stall in breath-first approach
    • First, data classes of Person that do not fit the application needs were removed and affected code and tests refactored. (#86)
    • Next, Person class is modified to Stall and affected functional code and tests in the codebase are refactored. (#92)
    • Finally, reference to new data class Review is added and wrote test cases related to Review data class. (#110, #140)
  • Code Contributed
  • Project Management
    • Lead bi-weekly team meeting as team lead.
    • Enforced deadlines by creating and managing milestones.
    • Ensured application is released, v1.1 - v1.4, on time on GitHub.
    • Approved and merged PRs of implementations done by teammates.
  • Documentation
    • User Guide
      • Created draft version and wrote skeleton for teammates to fill in (Link)
    • Developer Guide
      • Added use cases writeup. (#42, #270)
      • Added implementation details of review add, delete, edit and list with appropriate supporting UML diagrams. (#186, #319, #317, #321)
      • Updated details of the model component and its corresponding UML diagrams to match the implementation of FoodWhere. (#186)
      • Added manual testing instructions in appendix. (#349)
  • Community
    • Set up tags in GitHub.
    • Reviewed PRs and provide non-trivial comments. (#136, #324, #333)
    • Ensured README is updated with the latest feature additions to application. (#24, #242)
    • Carried out UAT and took project demo screenshots for v1.2
    • Wrote and coordinated UAT for v1.3. (Link)
    • Reported bugs and gave suggestions to another team’s project during PE-Dry Run. (Link)
    • Wrote test cases for the edit commands and its parsers to improve code coverage. (#140, #357)
  • Tools
    • IntelliJ IDEA
    • JavaFX Scene Builder