From ff430356182acc3e8012f4d3c82820256e00bc11 Mon Sep 17 00:00:00 2001 From: C Mahidharah Rajendran <84265216+Mahidharah@users.noreply.github.com> Date: Tue, 14 Nov 2023 06:33:35 +0800 Subject: [PATCH] Update mahidharah.md --- docs/team/mahidharah.md | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/docs/team/mahidharah.md b/docs/team/mahidharah.md index c3e58bbd4f7..ce5ec1b8f7a 100644 --- a/docs/team/mahidharah.md +++ b/docs/team/mahidharah.md @@ -8,53 +8,61 @@ title: Mahidharah's Project Portfolio Page CodeContact is a desktop app for managing contacts, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, CodeContact can get your contact management tasks done faster than traditional GUI apps. -Our product helps seamlessly integrate contact, client, and project management, simplifying access to coding-related contacts, facilitating collaboration, and offering command-line efficiency for project managers +Our product helps seamlessly integrate contact, client, and project management, simplifying access to coding-related contacts, facilitating collaboration, and offering command-line efficiency for project managers. Given below are my contributions to the project. -* **New Features**: `add-developer`, `add-client` & `add-project` + +* **New Feature 1**: `add-developer`, `add-client` & `add-project` * What it does: Adds a developer/client/project to the address book, making sure input parameters are valid and potential duplicates are found, highlighted to the user and rejected. * Justification: Decided to separate these as different commands instead of having a single `add` command to allow for more flexibility with parameters changes to these features in the future (from basic OOP principles). This also allows for more specific error messages to be displayed to users when they input invalid parameters, utilising polymorphism. * Highlights: * Credits: *{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}* -* **New Features**: `delete-developer` & `delete-client` + +* **New Feature 2**: `delete-developer` & `delete-client` * What it does: Deletes a developer/client from the address book. * Justification: Decided to separate these as different commands instead of having a single `delete` command to allow for more flexibility with parameters changes to these features in the future (from basic OOP principles). This also allows for more specific error messages to be displayed to users when they input invalid parameters, utilising polymorphism. * Highlights: * Credits: *{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}* - -* **New Feature**: `delete-project` + +* **New Feature 3**: `delete-project` * What it does: Deletes a project from the address book and accordingly removes it from the set of projects for all developers and clients. * Justification: I decided to implement the feature such that it triggers updates on developers and clients with hopes that this feature will be a major quality of life improvement for project managers, enabling them to remove projects easily without having to edit the information for relevant clients and developers to maintain integrity of the data. * Highlights: The feature uses the iterator java class and its for each remaining method effectively to simplify code and ensure efficiency. I also implemented such that the deadline field to be optional, and implemented the relevant logic. * Credits: *{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}* + + * **Enhancements to existing features**: * Contributed to the GUI component of CodeContact by creating relevant classes and FXML files for developer and client cards (Pull request [\#79](https://github.com/AY2324S1-CS2103T-T09-2/tp/pull/79)) * Ensured functional improvements use developer and client classes instead of person class (Pull request [\#79](https://github.com/AY2324S1-CS2103T-T09-2/tp/pull/79)) * Edited SampleData to include sample developers, clients and projects for easy testing for teammates (Pull request [\#79](https://github.com/AY2324S1-CS2103T-T09-2/tp/pull/79)) + * **Testing**: * Enabled test files to work for other team members and contributed greatly to testcode * Wrote testcases for model, logic and storage, and edited necessary test utility files to account for functional developments of CodeContact, speciafically developer and client features (Pull request [\#216](https://github.com/AY2324S1-CS2103T-T09-2/tp/pull/216), [\#222](https://github.com/AY2324S1-CS2103T-T09-2/tp/pull/222), [\#236](https://github.com/AY2324S1-CS2103T-T09-2/tp/pull/236)) * Wrote testcases for my functional contributions to Codecontact. (Pull request [\#216](https://github.com/AY2324S1-CS2103T-T09-2/tp/pull/216), [\#236](https://github.com/AY2324S1-CS2103T-T09-2/tp/pull/222), [\#236](https://github.com/AY2324S1-CS2103T-T09-2/tp/pull/236)) + * **Code contributed**: [RepoSense link](https://nus-cs2103-ay2324s1.github.io/tp-dashboard/?search=&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=docs~functional-code~test-code&since=2023-09-22&tabOpen=true&tabType=authorship&zFR=false&tabAuthor=Mahidharah&tabRepo=AY2324S1-CS2103T-T09-2%2Ftp%5Bmaster%5D&authorshipIsMergeGroup=false&authorshipFileTypes=docs~functional-code~test-code&authorshipIsBinaryFileTypeChecked=false&authorshipIsIgnoredFilesChecked=false) + * **Project management(team-based tasks contributions)**: * Responsible for the timely pivot of our team project in v1.2 after checking in with tutors and professors * Spearheaded the pivot by suggesting a new idea and directing the team to a new project which effectively carried over previous functional contributions * Actively contributed during team meetings and reminded team members of upcoming deadlines + * **Documentation Contributions**: * User Guide Contributions: * Added documentation for the features `delete-developer`, `delete-client`, `delete-project`, `add-developer`, `add-client`, `add-project` @@ -64,11 +72,13 @@ Given below are my contributions to the project. * Added PUML sequence diagrams for these implementations + * **Community (Review/mentoring contributions)**: * PRs reviewed (with non-trivial review comments): [\#155](https://github.com/AY2324S1-CS2103T-T09-2/tp/pull/155), [\##219](https://github.com/AY2324S1-CS2103T-T09-2/tp/pull/219) * Reported bugs and suggested ideal implementations for features for teammates * Some parts of the delete-project feature I added was adopted by team members and classmates, for instance the following implementation of validation checks for projects + * **Tools**: * Capitalised on GitHub copilot autocomplete features in creating testcases, enabling me to cover the most amount of functional code in testcases