This project portfolio aims to document my contributions to Mark, a project by my team of 5 Computer Science students from NUS.
Mark is a user-friendly bookmark manager desktop application targeted at NUS Computing students, mainly for use on a computer and for students who prefer getting things done by typing out commands via the command line interface (CLI).
My team was tasked to develop this application over the course of six weeks by morphing AddressBook (Level 3).
Here are some key features of Mark:
-
Save and annotate content from a website for convenient offline access
-
Set reminders for your to-dos
-
Organize your bookmarks automatically
In particular, my task was to help achieve the last point, and I did so by implementing an alternative way to organize bookmarks via folders.
Some special symbols and formatting are used later on in the text, so here is a list of them and what they mean:
Important
|
Important text critical to the usage of Mark. |
Tip
|
Helpful tips that can make using Mark easier. |
Note
|
Information that is good to know. |
This section serves to describe some of contributions I made to the development of Mark, such as enhancements, documentation, and code reviews.
-
Major enhancement: implemented folders in a hierarchical structure to organize bookmarks:
-
What it does: Allows users to have an alternate organization of their bookmarks, instead of showing all of them in one long list and having to search for them.
-
Justification: Users are familiar with organising their files on a computer into folders, so providing this functionality makes their transition to Mark smoother.
-
Highlights: This enhancement required knowledge of data structures and algorithms, as displaying, transforming, and other interactions with the folder hierarchy was quite challenging.
-
-
Minor enhancement: added a caching command that allows the user to "download" an copy of a website, for access when there is limited internet access.
-
Code contributed: Click [here] to see all of my code and documentation contributions to Mark.
-
Other contributions:
-
Enhancements to existing features:
-
Documentation:
-
Community:
-
Tools:
-
Integrated a third party library (Readability4J) to the project #121
-
-
Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users. |
(start of extract from User Guide) ../UserGuide.adoc
(end of extract from User 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. |
(start of extract from Developer Guide)
../DeveloperGuide.adoc (end of extract from Developer Guide)