Skip to content
This repository has been archived by the owner on Sep 29, 2022. It is now read-only.

Latest commit

 

History

History
85 lines (61 loc) · 4.92 KB

e0031374.adoc

File metadata and controls

85 lines (61 loc) · 4.92 KB

Jonas Ong - Project Portfolio

PROJECT: Tagline


Purpose of Personal Project Portfolio

This portfolio is to document my contributions made towards the project done in CS2103T. It highlights several of my code contributions as well as documentation additions to show the main feature I have been working on as part of the project.

About the project: Tagline

Tasked with enhancing the capabilities of a basic command line interface desktop addressbook application, my team of five chose to extend the functionality to include note-taking capabilities. Combining the existing contact infrastructure with tags and note support, we aim to make a more people-centric note taking platform we call Tagline. This application aims to help students more easily organize and find their notes based on the people the notes are connected to.

This is what our project looks like

frontpage

My role for this project is to implement the Group feature to allow for organizing Contact`s together into `Groups which can be used to manage notes as a whole. The following sections together with documentation added to the user and developer guides depict this enhancement in greater detail.

The following are the conventions used in this document:

  • GroupCommand - Texts with grey highlights indicates a class, object or a command that is used in Tagline.

  • Functional code - Texts in blue are linked to reference webpages with further examples

Summary of contributions

In this project, I my main feature was to develop a way to organize contact together into Groups. This allows users to organize contacts in a more natural way based on social circles of relationships rather than as an alphatically ordered list. It would also lay the groundwork for other features such as group tagging of notes.

  • Major enhancement: I added a range of features providing the ability to group contacts together for better organization

    • What it does: with group create a group of contacts can be created, contacts can be added or removed using group add and group remove commands. Groups can be searched for and displayed using group list and group find.

    • Justification: social circles exist in more than just a one to one relationship and can belong in a group with a shared feature be it an orientation group of friends who all know each other or a project group with common purpose. Having the capability to quickly reference other contacts in the same group would make the user experience much better compared to scrolling through an alphabetically ordered list in an addressbook.

    • Highlights: this enhancements supplements the existing structure of the addressbook.

  • Code contributed: The following links highlight samples of my code [Functional code] [Test code]

  • Other contributions:

    • Documentation:

      • Updated the developer guide to better reflect Model and Storage components after they have been changed to accommodate other features: NoteModel, StorageComponent

    • Community:

      • Contributed to forum discussions to clarify potential tripups (examples: 131

      • Reviewed and offered suggestions for other teams in class (examples: SecureIT#22

Contributions to the User Guide

The following sample highlights some of my additions to Tagline User Guide. This is primarily for group features I had developed.

The following excerpt for group add is chosen to represent other group command which are written in a similar style but ommitted due repetition. The sample aims to demonstrate my approach to writing documentation to help end users better understand the features of the product.

Sample: group add command

Contributions to the Developer Guide

The following sample highlights some of my additions to Tagline Developer Guide. This is primarily for group features I had developed.

The following excerpt demonstrate my approach to writing documentation to showcase how I write technical documentation to explain how my developed feature functions to aid future developers better understand how the feature functions and the design choices considered and made.