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.
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
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
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 usinggroup add
andgroup remove
commands. Groups can be searched for and displayed usinggroup list
andgroup 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
andStorage
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
-
-
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 |
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. |