From 5e43f7f0248397a776544e4f06a117f0800bb833 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 13 Apr 2024 08:22:19 +0000 Subject: [PATCH] deploy: 0d74014e5831e18c379a46cc667df67a3117c77a --- AboutUs.html | 4 +- AboutUs.page-vue-render.js | 4 +- Configuration.html | 2 +- Configuration.page-vue-render.js | 2 +- DevOps.html | 2 +- DevOps.page-vue-render.js | 2 +- DeveloperGuide.html | 4 +- DeveloperGuide.page-vue-render.js | 12 +- Documentation.html | 2 +- Documentation.page-vue-render.js | 2 +- Logging.html | 2 +- Logging.page-vue-render.js | 2 +- SettingUp.html | 2 +- SettingUp.page-vue-render.js | 2 +- Testing.html | 2 +- Testing.page-vue-render.js | 2 +- UserGuide.html | 17 +- UserGuide.page-vue-render.js | 219 +------------------- index.html | 2 +- index.page-vue-render.js | 2 +- siteData.json | 11 +- team/johndoe.html | 2 +- team/johndoe.page-vue-render.js | 2 +- team/yiwern5.html | 32 +++ team/yiwern5.page-vue-render.js | 13 ++ tutorials/AddRemark.html | 2 +- tutorials/AddRemark.page-vue-render.js | 2 +- tutorials/RemovingFields.html | 2 +- tutorials/RemovingFields.page-vue-render.js | 2 +- tutorials/TracingCode.html | 2 +- tutorials/TracingCode.page-vue-render.js | 2 +- 31 files changed, 104 insertions(+), 256 deletions(-) create mode 100644 team/yiwern5.html create mode 100644 team/yiwern5.page-vue-render.js diff --git a/AboutUs.html b/AboutUs.html index 0ce8f461114..d00fed12b78 100644 --- a/AboutUs.html +++ b/AboutUs.html @@ -21,9 +21,9 @@
  • About Us

    We are a team based in the School of Computing, National University of Singapore.

    Project team

    Yap Ho Wen

    [github] [portfolio]

    Yeo Zi Yi

    [github] -[portfolio]

    Tsui Yi Wern

    [github] [portfolio]

    Yong Li An

    [github] +[portfolio]

    Tsui Yi Wern

    [github] [portfolio]

    Yong Li An

    [github] [portfolio]

    Khoo Kiat Lun

    [github] -[portfolio]

    +[portfolio]

    + + + + + + + + +

    Project: EffiTrack

    EffiTrack is a desktop app for managing employees, tracking the efficiency of employees, +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, EffiTrack can get your contact management tasks done faster than traditional GUI apps.

    EffiTrack simplifies the task of measuring and monitoring employee efficiency for +HR departments.
    Instead of using time-consuming and error-prone methods like manual documentation or +outdated systems, EffiTrack offers a centralized platform for easy and accurate monitoring of employee performance.

    Given below are my contributions to the project.

    • New Feature: Added the ability to undo/redo previous commands.

      • What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command.
      • Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them.
      • Highlights: This enhancement affects existing commands and commands to be added in the future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands. (e.g. assign task, mark task, reassign task etc.)
      • Credits: Reused code from AddressBook Level 4.
    • New Feature: Added a history command that allows the user to navigate to previous commands.

      • Credits: Reused code from AddressBook Level 4.
    • Code contributed: RepoSense link

    • Project management:

      • Managed releases v1.3(trial), v1.3.1 (2 releases) on GitHub
      • Managed milestones v1.1 - v1.4b (7 milestones) on GitHub
    • Enhancements to existing features:

      • Updated the GUI color scheme (Pull requests #47, #69)
    • Documentation:

      • User Guide: +
        • Added documentation for the features undo, redo, and history #74
        • Did cosmetic tweaks to existing documentation of features: #178
      • Developer Guide: +
        • Added future enhancement section.
    + + + diff --git a/team/yiwern5.page-vue-render.js b/team/yiwern5.page-vue-render.js new file mode 100644 index 00000000000..417ec6dbbe9 --- /dev/null +++ b/team/yiwern5.page-vue-render.js @@ -0,0 +1,13 @@ + + var pageVueRenderFn = function anonymous( +) { +with(this){return _c('div',{attrs:{"id":"app"}},[_c('header',{attrs:{"sticky":""}},[_c('navbar',{attrs:{"type":"dark"},scopedSlots:_u([{key:"brand",fn:function(){return [_c('a',{staticClass:"navbar-brand",attrs:{"href":"/tp/index.html","title":"Home"}},[_v("EffiTrack")])]},proxy:true},{key:"right",fn:function(){return [_c('li',[_c('form',{staticClass:"navbar-form"},[_c('searchbar',{attrs:{"data":searchData,"placeholder":"Search","on-hit":searchCallback,"menu-align-right":""}})],1)])]},proxy:true}])},[_v(" "),_c('li',[_c('a',{staticClass:"nav-link",attrs:{"href":"/tp/index.html"}},[_v("Home")])]),_v(" "),_c('li',[_c('a',{staticClass:"nav-link",attrs:{"href":"/tp/UserGuide.html"}},[_v("User Guide")])]),_v(" "),_c('li',[_c('a',{staticClass:"nav-link",attrs:{"href":"/tp/DeveloperGuide.html"}},[_v("Developer Guide")])]),_v(" "),_c('li',[_c('a',{staticClass:"nav-link",attrs:{"href":"/tp/AboutUs.html"}},[_v("About Us")])]),_v(" "),_c('li',[_c('a',{staticClass:"nav-link",attrs:{"href":"https://github.com/AY2324S2-CS2103T-T14-1/tp","target":"_blank"}},[_c('span',[_c('span',{staticClass:"fab fa-github",attrs:{"aria-hidden":"true"}})])])])])],1),_v(" "),_c('div',{attrs:{"id":"flex-body"}},[_c('overlay-source',{attrs:{"id":"site-nav","tag-name":"nav","to":"site-nav"}},[_c('div',{staticClass:"site-nav-top"},[_c('div',{staticClass:"fw-bold mb-2",staticStyle:{"font-size":"1.25rem"}},[_v("Site Map")])]),_v(" "),_c('div',{staticClass:"nav-component slim-scroll"},[_c('site-nav',[_c('overlay-source',{staticClass:"site-nav-list site-nav-list-root",attrs:{"tag-name":"ul","to":"mb-site-nav"}},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/index.html"}},[_v("Home")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/UserGuide.html"}},[_v("User Guide")]),_v(" "),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon site-nav-rotate-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list"},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/UserGuide.html#quick-start"}},[_v("Quick Start")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/UserGuide.html#features"}},[_v("Features")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/UserGuide.html#faq"}},[_v("FAQ")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/UserGuide.html#faq"}},[_v("Command Summary")])])])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/DeveloperGuide.html"}},[_v("Developer Guide")]),_v(" "),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon site-nav-rotate-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list"},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/DeveloperGuide.html#acknowledgements"}},[_v("Acknowledgements")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/DeveloperGuide.html#setting-up-getting-started"}},[_v("Setting Up")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/DeveloperGuide.html#design"}},[_v("Design")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/DeveloperGuide.html#implementation"}},[_v("Implementation")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/DeveloperGuide.html#documentation-logging-testing-configuration-dev-ops"}},[_v("Documentation, logging, testing, configuration, dev-ops")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/DeveloperGuide.html#appendix-requirements"}},[_v("Appendix: Requirements")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/DeveloperGuide.html#appendix-instructions-for-manual-testing"}},[_v("Appendix: Instructions for manual testing")])])])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Tutorials\n\n"),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/tutorials/TracingCode.html"}},[_v("Tracing code")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/tutorials/AddRemark.html"}},[_v("Adding a command")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/tutorials/RemovingFields.html"}},[_v("Removing Fields")])])])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/tp/AboutUs.html"}},[_v("About Us")])])])])],1)],1)]),_v(" "),_m(0),_v(" "),_c('overlay-source',{attrs:{"id":"page-nav","tag-name":"nav","to":"page-nav"}},[_c('div',{staticClass:"nav-component slim-scroll"})]),_v(" "),_c('scroll-top-button')],1),_v(" "),_m(1)])} +}; + var pageVueStaticRenderFns = [function anonymous( +) { +with(this){return _c('div',{attrs:{"id":"content-wrapper"}},[_c('h3',{attrs:{"id":"project-effitrack"}},[_v("Project: EffiTrack"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#project-effitrack","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("EffiTrack is a "),_c('strong',[_v("desktop app for managing employees, tracking the efficiency of employees,\noptimized for use via a Command Line Interface")]),_v(" (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, EffiTrack can get your contact management tasks done faster than traditional GUI apps.")]),_v(" "),_c('p',[_v("EffiTrack simplifies the task of measuring and monitoring employee efficiency for\nHR departments. "),_c('br'),_v(" Instead of using time-consuming and error-prone methods like manual documentation or\noutdated systems, EffiTrack offers a centralized platform for easy and accurate monitoring of employee performance.")]),_v(" "),_c('p',[_v("Given below are my contributions to the project.")]),_v(" "),_c('ul',[_c('li',[_c('p',[_c('strong',[_v("New Feature")]),_v(": Added the ability to undo/redo previous commands.")]),_v(" "),_c('ul',[_c('li',[_v("What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command.")]),_v(" "),_c('li',[_v("Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them.")]),_v(" "),_c('li',[_v("Highlights: This enhancement affects existing commands and commands to be added in the future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands. (e.g. assign task, mark task, reassign task etc.)")]),_v(" "),_c('li',[_v("Credits: Reused code from AddressBook Level 4.")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("New Feature")]),_v(": Added a history command that allows the user to navigate to previous commands.")]),_v(" "),_c('ul',[_c('li',[_v("Credits: Reused code from AddressBook Level 4.")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Code contributed")]),_v(": "),_c('a',{attrs:{"href":"https://nus-cs2103-ay2324s2.github.io/tp-dashboard/?search=&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=docs~functional-code~test-code~other&since=2024-02-23&tabOpen=true&tabType=authorship&tabAuthor=yiwern5&tabRepo=AY2324S2-CS2103T-T14-1%2Ftp%5Bmaster%5D&authorshipIsMergeGroup=false&authorshipFileTypes=docs~functional-code~test-code~other&authorshipIsBinaryFileTypeChecked=false&authorshipIsIgnoredFilesChecked=false"}},[_v("RepoSense link")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Project management")]),_v(":")]),_v(" "),_c('ul',[_c('li',[_v("Managed releases "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("v1.3(trial)")]),_v(", "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("v1.3.1")]),_v(" (2 releases) on GitHub")]),_v(" "),_c('li',[_v("Managed milestones "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("v1.1")]),_v(" - "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("v1.4b")]),_v(" (7 milestones) on GitHub")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Enhancements to existing features")]),_v(":")]),_v(" "),_c('ul',[_c('li',[_v("Updated the GUI color scheme (Pull requests "),_c('a',{attrs:{"href":"https://github.com/AY2324S2-CS2103T-T14-1/tp/pull/47"}},[_v("#47")]),_v(", "),_c('a',{attrs:{"href":"https://github.com/AY2324S2-CS2103T-T14-1/tp/pull/69"}},[_v("#69")]),_v(")")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Documentation")]),_v(":")]),_v(" "),_c('ul',[_c('li',[_v("User Guide:\n"),_c('ul',[_c('li',[_v("Added documentation for the features "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("undo")]),_v(", "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("redo")]),_v(", and "),_c('code',{pre:true,attrs:{"class":"hljs inline no-lang"}},[_v("history")]),_v(" "),_c('a',{attrs:{"href":"https://github.com/AY2324S2-CS2103T-T14-1/tp/pull/74"}},[_v("#74")])]),_v(" "),_c('li',[_v("Did cosmetic tweaks to existing documentation of features: "),_c('a',{attrs:{"href":"https://github.com/AY2324S2-CS2103T-T14-1/tp/pull/178"}},[_v("#178")])])])]),_v(" "),_c('li',[_v("Developer Guide:\n"),_c('ul',[_c('li',[_v("Added future enhancement section.")])])])])])])])} +},function anonymous( +) { +with(this){return _c('footer',[_c('div',{staticClass:"text-center"},[_c('small',[_v("["),_c('span',[_c('strong',[_v("Powered by")])]),_v(" "),_c('img',{attrs:{"src":"https://markbind.org/favicon.ico","width":"30"}}),_v(" "),_c('a',{attrs:{"href":"https://markbind.org/"}},[_v("MarkBind 5.4.0")]),_v(", generated on Sat, 13 Apr 2024, 16:21:57 GMT+8]")])])])} +}]; + \ No newline at end of file diff --git a/tutorials/AddRemark.html b/tutorials/AddRemark.html index 337ccbd1e8e..12a15117744 100644 --- a/tutorials/AddRemark.html +++ b/tutorials/AddRemark.html @@ -174,7 +174,7 @@ return String.format(message, personToEdit); }

    Congratulations!

    Writing tests

    Tests are crucial to ensuring that bugs don’t slip into the codebase unnoticed. This is especially true for large code bases where a change might lead to unintended behavior.

    Let’s verify the correctness of our code by writing some tests!

    Of course you can simply add the test cases manually, like you've been doing all along this tutorial. The result would be like the test cases in here. Alternatively, you can get the help of IntelliJ to generate the skeletons of the test cases, as explained in the next section.

    Automatically generating tests

    The goal is to write effective and efficient tests to ensure that RemarkCommand#execute() behaves as expected.

    The convention for test names is methodName_testScenario_expectedResult. An example would be -execute_filteredList_success.

    Let’s create a test for RemarkCommand#execute() to test that adding a remark works. On IntelliJ IDEA you can bring up the context menu and choose to Go To > Test or use the appropriate keyboard shortcut.

    Using the context menu to jump to tests

    Then, create a test for the execute method.

    Creating a test for `execute`.

    Following convention, let’s change the name of the generated method to execute_addRemarkUnfilteredList_success.

    Let’s use the utility functions provided in CommandTestUtil. The functions ensure that commands produce the expected CommandResult and output the correct message. In this case, CommandTestUtil#assertCommandSuccess is the best fit as we are testing that a RemarkCommand will successfully add a Remark.

    You should end up with a test that looks something like this.

    Conclusion

    This concludes the tutorial for adding a new Command to AddressBook.

    +execute_filteredList_success.

    Let’s create a test for RemarkCommand#execute() to test that adding a remark works. On IntelliJ IDEA you can bring up the context menu and choose to Go To > Test or use the appropriate keyboard shortcut.

    Using the context menu to jump to tests

    Then, create a test for the execute method.

    Creating a test for `execute`.

    Following convention, let’s change the name of the generated method to execute_addRemarkUnfilteredList_success.

    Let’s use the utility functions provided in CommandTestUtil. The functions ensure that commands produce the expected CommandResult and output the correct message. In this case, CommandTestUtil#assertCommandSuccess is the best fit as we are testing that a RemarkCommand will successfully add a Remark.

    You should end up with a test that looks something like this.

    Conclusion

    This concludes the tutorial for adding a new Command to AddressBook.