Introduction

Hello, my name is Zeke. At the time of this project (AY19/20), I was a Year 2 Computer Science undergraduate at the National University of Singapore. Additionally, I am a software developer in Team Volant. That’s the team that is working on this wonderful travel companion app! We’re really passionate about this project, so we hope that you enjoy the product as much as we enjoy the process.

You can find out more about who I am at these links:

PROJECT: Volant

Volant is a travel assistant desktop application aimed at assisting solo travellers with the logistics of planning their travels. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java and it is primarily based off of the Address Book 3 application developed by the CS2103T teaching team.

Summary of Contributions

You can view my code contributions to this project on RepoSense.

  • Major Enhancement: Implemented storage for the entire project.

    • What it does: Allowed users to save and load their data when using the project.

    • Highlights: The implementation of the storage was a bottleneck for our team project as in order to implement and test the functionalities of our features, developers had to have data to work with.

      This was a challenging task as the functionality of our app required the storage to work and I had to figure it out so fast so my team could meet the assigned deadline. The task involved understanding of how data was originally stored in address book in json file which I have previously read up on, but was not completely familiar with. As a result, I had to trace the entire workings of the program in order to figure out the project.

  • Major Enhancement: Implemented the Itinerary page (with Nguyen).

    • What it does: Allows users to view and manipulate the itinerary activities in the application.

  • Major Enhancement: Implemented exceptions for catching logic bugs for Trip and Itinerary feature.

    • Justification: In placing these exceptions, the functionality of the project is not compromised.

    • What it does: Catches logically invalid commands that the user may enter. E.g. The timing for an activity in the itinerary being outside of the date range of the trip.

  • Major Enhancement: Implemented the GUI for the application.

  • Testing: Did JUnit testing for ITINERARY (with Nguyen)

    • Highlights: I added JUnit tests for itinerary’s model and storage, while Nguyen added JUnit tests for itinerary’s commands and parsers.

  • Other Contributions

    • Documentation

      • Did cosmetic tweaks to existing contents of the User Guide:

      • PRs reviewed(with non-trivial review comments):

Contributions to User Guide

Sections Written