PROJECT: FoodieBot


Overview

Our team was tasked to create a new application by morphing the existing AddressBook Level 3 application and building on from it. We decided to create FoodieBot, a one-stop application to solve all the dining issue on campus. FoodieBot still uses the CLI from the AddressBook Level 3, however, we have changed the GUI to suit FoodieBot and also implemented new functionality for FoodieBot.

FoodieBot was created with NUS students and staffs as well as visitors of NUS in mind. FoodieBot provides a simple to use navigation system to help direct users to the canteen which they want to go to. The application has a randomize function to help the users select a stall to dine at when they cannot decide. FoodieBot comes with a budget function as well to help the users track their meal spending on campus.

Summary of contributions

This section shows a summary of my coding, documentation, and other helpful contribution to the team project.

Enhancement added: I added the ability to randomize the stalls to get an option.

  • What it does: The randomize command gives the user a random stall option for them to dine at.

  • Justification: This randomize command aids in the decision making for the user when they do not know what to eat.

  • Hightlight: randomize command provides an option without any restriction. However, the random option provided can be filter down to a specific canteen or a type of food like (eg, spicy, halal, etc.).

  • Credits: -

Code contributed: [Functional code

Other contributions:

  • Enhancements to existing features:

    • Implemented the randomize function (Pull requests #93, #108, #145, #148)

    • Created a new UI for the randomize option, such that user will be redirected to a new screen after entering randomize command. (Pull request #121)

  • Documentation:

    • Made it more user centric (Pull request #204)

    • Provided a skeleton to follow (Pull request #90)

    • Included images of FoodieBot and the steps (Pull request #204)

Contributions to the User Guide

Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users.

Contributions to the Developer Guide

Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project.