Skip to content

Latest commit

 

History

History
100 lines (73 loc) · 5.3 KB

onearmyj.adoc

File metadata and controls

100 lines (73 loc) · 5.3 KB

Chen Yi Jun - Project Portfolio

PROJECT: Plan²travel

The purpose of this document is to document the contribution that I have made in the project: Plan²travel as a student undertaking the module CS2103T under NUS School of Computing.


1. Introduction

Plan²travel is a desktop travel planning application. The application is targeted at fellow university students who travel infrequently and would greatly benefit from an application that helps organize their travelling information when they plan their own itinerary. Plan²travel has the ability to store and display information such as activities, accommodations, contacts and an itinerary which comprises of a list of day. Each day is displayed with a list of activities that is scheduled.

The user interacts with the application using a Command Line Interface (CLI), and it has Graphical User Interface GUI created with JavaFX.

It is cross-platform and can be compiled for both Windows and Mac OS.

Below is a screenshot of our application:

Plan2TravelSS

2. Summary of contributions

Below is a summary of the contributions that I have made to the project.

2.1. Major enhancement:

  • Added the ability to undo/redo previous commands

    • What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command.

      Note
      Only undoable commands can be undone by the 'undo' command.
    • Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them.

    • Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands.

  • Functional Code Contributed: Update 1 | Update 2 | Update 3 | Update 4 | Update 5 | Update 6 | Update 7 | Final Update

  • Test Code Contributed: Test 1 | Test 2

2.2. Minor enhancement:

  • Morph original code base for Model and Storage package

    • What I did: I modified the entire model package from the original code base and added new model class files, such as Accommodation, Activity and Contact. I also remove traces of unused codes from the previous code base. Aside morphing model, I also morphed the storage package, allowing the application’s data to be saved into 4 different json data files instead.

    • Justification: Morphing has to be done to the old code base in order to fit the goals of our application. Once the code base is morphed, the team is able to proceed with implementing their individual features of the application.

    • Highlights: I gained a deeper understanding of how the different components of the code base worked, especially for storage component. With the insights gained, I was able to advise my teammates on how they should approach their implementations when working with these components.

  • Functional Code Contributed: Update 1 | Update 2 | Final Update

  • Test Code Contributed: Test

2.3. Other Contributions:

  • Tools:

  • Documentation:

    • Contributed to the User Guide and Developer Guide for this project. See below for more details.

  • Community:

Overall Code Contribution here

3. Contributions to the User Guide

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

4. 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.