Role: Developer

Responsibilities: Developing, testing, events

PROJECT: Student Planner


Overview

Student Planner is a all-in-one desktop manager application that allows students to manage their contacts, tasks, events and expenses. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.

Summary of contributions

  • Major enhancement: Added Events management

    • What it does: Allows the user to manage their events.

    • Justification: This feature allows the user to keep track of new and existing events. Being a student with a busy schedule, he/she may not be able to keep track of all of his/her events, hence this feature will help them access their event schedule with just a few commands.

  • Code contributed: [Overview]

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.

Adding an event : addEvent

Adds an event to the event book
Format: addEvent n/NAME s/EVENT DATE t/EVENT TIME [c/CONTACT]…​

  • NAME can contain any number of alphanumeric characters and spaces.

  • DATE must be of the format DD/MM/YYYY.

  • TIME must be 4 digits long in the 24-Hour format, eg. 1030.

  • A new event will be added to the bottom of the event book, and displayed at the bottom of the events panel.

An event can have any number of contacts (including 0).

Examples: * addEvent n/Dinner s/11/11/2018 t/1900 c/Alex * `addEvent n/Secondary school meetup s/24/10/2018 t/1200 `

Deleting an event : deleteEvent

Deletes an event from the event book
Format: deleteEvent INDEX

  • Deletes the event at the specified INDEX.

  • The index refers to the index number shown in the displayed event list.

  • The index must be a positive integer 1, 2, 3, …​

Examples: * deleteEvent 1

Clearing the event book : clearEvent

Clears the entire event book
Format: clearEvent

  • Clears the entire event book and creates a new instance of event book with no entries

Editing an event : editEvent

Edits specific details of the event
Format: editEvent INDEX [n/EVENT NAME] [s/EVENT DATE] [t/EVENT TIME] [c/EVENT CONTACTS]…​

  • Edits an event at the specified INDEX

  • The index refers to the index number shown in the displayed event list.

  • The index must be a positive integer 1, 2, 3, …​

An edit must consist of at least 1 parameter to edit.

Examples: * editEvent 2 t/1900 * editEvent 1 n/Watch The Incredibles t/1800

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.

Use case: Add Event (UC12)

MSS

  1. User requests to add an event

  2. StudentPlanner adds new event with given details

    Use case ends.

Extensions

  • 2a. A similar event exists

    • 2a1. StudentPlanner prompts user that a similar event exists. Event is not added.

      Use case ends.

  • 2b. Insufficient or Invalid details provided.

    • 2b1. StudentPlanner shows required command format to user. Event is not added.

      Use case ends.

  • Note: Manual Testing portion below

Adding a new event

  1. Adding a new event to the event book

    1. Prerequisites: The event must not already exist in student planner

    2. Test case: addEvent n/Watch Avengers 4 movie s/26/05/2018 t/1700 c/John
      Expected: A new event is added to the event book panel, and a success message will show on the results display panel.

    3. Test case: `addEvent n/Watch Avengers 4 movie t/1700 c/John `
      Expected: No event is added and error details will be shown on the result display panel.

Deleting an event

  1. Deletes an event from the event book

    1. Prerequisites: The event book must not be empty

    2. Test case: deleteEvent 1
      Expected: The first event in the event book will be deleted and the first entry on the events panel will disappear.

    3. Test case: deleteEvent 0
      Expected: No event is deleted and an error message will be displayed on the results display panel.

    4. Test case: (If event book has only 1 event) deleteEvent 2
      Expected: No event is deleted and an error message will be displayed on the results display panel.

Editing an event

  1. Edits certain parameters of an event

    1. Prerequisites: The event book must not be empty

    2. Test case: editEvent 1 t/1900
      Expected: The time of the first event in the event book will be changed to "1900" and the time of the first event entry in the events panel will be changed to 1900.

    3. Test case: editEvent 2
      Expected: No event is edited and an error message will be displayed on the results display panel.

Clearing an event

  1. Clears the entire event book

    1. Test case: clearEvent
      Expected: The event book will be cleared and the events panel will not show any entries