Introduction

Hello, my name is Ranice. At the time of this project (AY19/20 Semester 2) I was a Year 2 Computer Science undergraduate.

I am the team leader of PROJECT: Volant (not by choice).

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.

Enhancements Implemented

  • Major Enhancement: Implemented mechanism for view switching through MainWindow.java

    • What it does
      Allows users to navigate between different pages in the application and execute commands in different contexts. More information about this enhancement can be found here.

    • Justification
      Rather than placing all features in one convoluted view, users are able to focus on one single view.

    • Highlights
      The implementation of the view switching mechanism was a bottleneck for our team project as in order to implement and test the other features of the application, developers must be able to switch between views.

      This was not easy to do, I spent a lot of time trying to figure out the mechanics of how to do it as it involves refactoring the logic of the program and the .fxml files in order to see the results. Because of this mechanism, every page has to have its own logic and model. This also allows for similar keywords to be used on each page. For more information on the implementation of this enhancement, please click here.

      Rather than creating custom commands for each page and a single logic component, it is neater to abstract and create a logic and model component for each page. That way commands with a single keyword e.g. add, delete can be used on multiple pages. This also makes it more convenient and user friendly for users.

  • Major Enhancement: Implemented all navigation commands

    • What it does
      Allows users to navigate between different pages conveniently through short commands such as back and goto.

    • Justification
      Rather than moving the mouse to click buttons, users can easily navigate through the pages without ever moving their hands away from the keyboard.

Map of Navigation Commands

navigation cheatsheet
  • Major Enhancement: Implemented Home Page of application

    • What it does
      Allows users to view and manipulate the trip list in the application, and view past and upcoming trips at a glance.

    • Justification
      Rather than implementing a single sorted list view, distinguishing between past and upcoming trips will make it more convenient for users to view their trips and a comprehensive glance.

  • Major Enhancement: Designed the GUI for the application

    • Justification
      I wanted to completely move away from the Address Book 3 design and differentiate our application from the rest of the teams. I also wanted the text of our GUI to be bigger and more readable.

    • Credits
      GUI design was inspired by Windows 1.0.

  • Major Enhancement: Implemented Help Windows for different views

    • What it does
      Every view on the application has a custom Help Window detailing the commands that can be used on each page.

    • Justification
      Implementing a general help page with every single command is not convenient for users as they have to scroll through the entire help page to find the commands for the page they are on. It is much more convenient to directly show users what commands can be used on the page they are specifically on.

Contributions to User Guide

Sections Written

Contributions to team-based tasks

  • Project Management

    • Managed overall team workflow as a team leader.

    • Managed and reviewed PRs by team members before merging to the team repo.

    • Managed and set up the team repo’s issue tracker.

    • Managed all releases for our application.

    • Managed DevOps related tasks such as setting up of the team repo, installing Travis, Codacy and Coveralls.

  • Team Website

    • Modified the asciidoctor.css file to create a more aesthetically pleasing and readable website.

  • Project Branding

    • Designed Volant’s logo and repo thumbnail.

    • Credits: Logo design was inspired+ by Patagonia.

      volantLogo

Contributions beyond the project team

Here is a link to the issues I have made in the module’s Github forum.
I have made a total of 7 issues, one sharing technical information and another which I resolved on my own.