Sam Ng Man Sing - Project Portfolio Page
Project: TraceYourProj
Overview
TraceYourProj is a desktop app for tracking online resources for data science projects, optimized for use via a Command Line Interface (CLI).
Summary of Contributions
Given below are my contributions to the project.
Features implemented
- Feature 1: Added an add command.
- What it does : Allows user to add a resource to a project.
- Justification : This feature is a fundamental command of the product that is for users to add a resource to the target project.
- Feature 2: Added data feature implicitly
- What it does : Updates the last modified data when the resource is added or edited
- Justification : This feature improves the product significantly because it updates the last modified dates automatically when a resource is added or edited such that users could know when they have created/modified resources.
Other code implementation
- Code contributed: RepoSense link
- Wrote fundamental classes such as CommandParse and InputParser
- Wrote JUnit tests and Integration tests related to CommandParse, InputParser and
add
feature. - Wrote assertion, exception handling and logging related to
add
methods.
Contribution
User Guide
- Edited Quick Start, Notes about command, command summary and FAQ [GitHub]
- Added instructions, sample inputs & outputs for
add
feature. [GitHub]
Developers Guide
- Added documentations & sequence diagram for
add
feature. [GitHub] - Added Architecture and its diagram under Design. [GitHub]
- Added
Logic Components
and its UML class diagram under Design. [GitHub]
Team-based tasks
- Set up the GitHub team organisation
- Refactor source code
- Try to make the code in line with coding standard
- Adopt abstraction to split long methods into multiple short methods.
- Adopt better encapsulation by separating a large class into smaller classes.
- Reduced coupling between classes (In previous design, both
Main
andLogic
stores the address ofModel
. In the current version, onlyLogic
stores the address ofModel
.) - Post/resolve issues on the Issue tracker
- Released TraceYourProj v2.0
- Developer Guide & User Guide:
- Edit typo
- Enrich content
- Review/mentoring contributions:
- Reviewed PRs: GitHub
- Resolved minor conflicts from some PRs.
- Provided my suggestions when teammates encountered problems. Example: Use print( … + “\n”) instead of println(…) to deal with different line separator problem.
Contributions beyond the project team