diff --git a/AboutUs.html b/AboutUs.html index a9424d94fbb..fd779da793a 100644 --- a/AboutUs.html +++ b/AboutUs.html @@ -26,9 +26,10 @@
  • About Us

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

    You can reach us at the email seer[at]comp.nus.edu.sg

    Project team

    Long Nguyen Tan

    [github] [portfolio]

    Aaron Joel Tan Tze Ern

    [github] -[portfolio]

    Lee Thien My

    [github] [portfolio]

    Mehta Riya Mehulbhai

    [github] -[portfolio]

    Wu Jingya

    [github] -[portfolio]

    +[portfolio]

    Lee Thien My

    [github] +[portfolio]

    Mehta Riya Mehulbhai

    [github] +[portfolio]

    Wu Jingya

    [github] +[portfolio]

    + + + + + + + + +

    Riya's Project Portfolio Page

    Project: Advanced&Efficient (A&E)

    Advanced&Efficient helps Emergency Department (ED) doctors in logging patient reports and connecting patients with +relevant departments and doctors under time pressure during an emergency.

    Given below are my contributions to the project.

    • Code contributed:

    • New Feature:

      • To be added soon
    • Project management:

      • To be added soon
    • Enhancements to existing features:

      • To be added soon
    • Documentation:

      • To be added soon
    • Community:

      • To be added soon
    • Tools:

      • To be added soon
    + + + diff --git a/team/riyamehta2211.page-vue-render.js b/team/riyamehta2211.page-vue-render.js new file mode 100644 index 00000000000..3385489d059 --- /dev/null +++ b/team/riyamehta2211.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("Advanced&Efficient (A&E)")])]},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/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/se-edu/addressbook-level3","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('h1',{attrs:{"id":"riya-s-project-portfolio-page"}},[_v("Riya's Project Portfolio Page"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#riya-s-project-portfolio-page","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h2',{attrs:{"id":"project-advanced-and-amp-efficient-a-and-amp-e"}},[_v("Project: Advanced&Efficient (A&E)"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#project-advanced-and-amp-efficient-a-and-amp-e","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Advanced&Efficient helps Emergency Department (ED) doctors in logging patient reports and connecting patients with\nrelevant departments and doctors under time pressure during an emergency.")]),_v(" "),_c('p',[_v("Given below are my contributions to the project.")]),_v(" "),_c('ul',[_c('li',[_c('p',[_c('strong',[_v("Code contributed")]),_v(":")]),_v(" "),_c('ul',[_c('li',[_c('a',{attrs:{"href":"https://nus-cs2103-ay2324s1.github.io/tp-dashboard/?search=riyamehta2211&breakdown=true"}},[_v("RepoSense link")])])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("New Feature")]),_v(":")]),_v(" "),_c('ul',[_c('li',[_v("To be added soon")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Project management")]),_v(":")]),_v(" "),_c('ul',[_c('li',[_v("To be added soon")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Enhancements to existing features")]),_v(":")]),_v(" "),_c('ul',[_c('li',[_v("To be added soon")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Documentation")]),_v(":")]),_v(" "),_c('ul',[_c('li',[_v("To be added soon")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Community")]),_v(":")]),_v(" "),_c('ul',[_c('li',[_v("To be added soon")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Tools")]),_v(":")]),_v(" "),_c('ul',[_c('li',[_v("To be added soon")])])])])])} +},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.1.0")]),_v(", generated on Thu, 12 Oct 2023, 13:37:57 GMT+8]")])])])} +}]; + \ No newline at end of file diff --git a/team/thienmy0.html b/team/thienmy0.html new file mode 100644 index 00000000000..3269c51a4b7 --- /dev/null +++ b/team/thienmy0.html @@ -0,0 +1,33 @@ + + + + + + + Advanced&Efficient (A&E) + + + + + + + + + + + + + +

    Thien My's Project Portfolio Page

    Project: Advanced&Efficient (A&E)

    Advanced&Efficient helps Emergency Department (ED) doctors in logging patient reports and connecting patients with relevant departments and doctors under time pressure during an emergency.

    Given below are my contributions to the project.

    • Code contributed +View my RepoSense report!

      • to be added soon
    • New Feature:

      • to be added soon
    • Enhancement to existing features:

      • to be added soon
    • Project management:

      • to be added soon
    • Documentation:

      • to be added soon
    • Community:

      • to be added soon
    • Tools:

      • to be added soon
    + + + diff --git a/team/thienmy0.page-vue-render.js b/team/thienmy0.page-vue-render.js new file mode 100644 index 00000000000..f56d55c2923 --- /dev/null +++ b/team/thienmy0.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("Advanced&Efficient (A&E)")])]},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/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/se-edu/addressbook-level3","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('h1',{attrs:{"id":"thien-my-s-project-portfolio-page"}},[_v("Thien My's Project Portfolio Page"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#thien-my-s-project-portfolio-page","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h2',{attrs:{"id":"project-advanced-and-amp-efficient-a-and-amp-e"}},[_v("Project: Advanced&Efficient (A&E)"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#project-advanced-and-amp-efficient-a-and-amp-e","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Advanced&Efficient helps Emergency Department (ED) doctors in logging patient reports and connecting patients with relevant departments and doctors under time pressure during an emergency.")]),_v(" "),_c('p',[_v("Given below are my contributions to the project.")]),_v(" "),_c('ul',[_c('li',[_c('p',[_v("Code contributed\n"),_c('a',{attrs:{"href":"https://nus-cs2103-ay2324s1.github.io/tp-dashboard/?search=thienmy0&breakdown=true"}},[_v("View my RepoSense report!")])]),_v(" "),_c('ul',[_c('li',[_v("to be added soon")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("New Feature")]),_v(":")]),_v(" "),_c('ul',[_c('li',[_v("to be added soon")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Enhancement to existing features")]),_v(":")]),_v(" "),_c('ul',[_c('li',[_v("to be added soon")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Project management")]),_v(":")]),_v(" "),_c('ul',[_c('li',[_v("to be added soon")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Documentation")]),_v(":")]),_v(" "),_c('ul',[_c('li',[_v("to be added soon")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Community")]),_v(":")]),_v(" "),_c('ul',[_c('li',[_v("to be added soon")])])]),_v(" "),_c('li',[_c('p',[_c('strong',[_v("Tools")]),_v(":")]),_v(" "),_c('ul',[_c('li',[_v("to be added soon")])])])])])} +},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.1.0")]),_v(", generated on Thu, 12 Oct 2023, 13:37:57 GMT+8]")])])])} +}]; + \ No newline at end of file diff --git a/team/wujy28.html b/team/wujy28.html new file mode 100644 index 00000000000..b0efb7fe3dd --- /dev/null +++ b/team/wujy28.html @@ -0,0 +1,32 @@ + + + + + + + Advanced&Efficient (A&E) + + + + + + + + + + + + + +

    Jingya's Project Portfolio Page

    Project: Advanced&Efficient (A&E)

    Advanced&Efficient helps Emergency Department (ED) doctors in logging patient reports and connecting patients with relevant departments and doctors under time pressure during an emergency.

    Given below are my contributions to the project.

    • Code contributed: RepoSense Link
    • Features implemented:
      • to be added soon
    • Enhancements implemented:
      • to be added soon
    • Contributions to the UG:
      • to be added soon
    • Contributions to the DG:
      • to be added soon
    • Contributions to team-based tasks:
      • to be added soon
    • Review/mentoring contributions:
      • to be added soon
    • Contributions beyond the project team:
      • to be added soon
    + + + diff --git a/team/wujy28.page-vue-render.js b/team/wujy28.page-vue-render.js new file mode 100644 index 00000000000..f1c396ce763 --- /dev/null +++ b/team/wujy28.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("Advanced&Efficient (A&E)")])]},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/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/se-edu/addressbook-level3","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('h1',{attrs:{"id":"jingya-s-project-portfolio-page"}},[_v("Jingya's Project Portfolio Page"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#jingya-s-project-portfolio-page","onclick":"event.stopPropagation()"}})]),_v(" "),_c('h2',{attrs:{"id":"project-advanced-and-amp-efficient-a-and-amp-e"}},[_v("Project: Advanced&Efficient (A&E)"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#project-advanced-and-amp-efficient-a-and-amp-e","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_v("Advanced&Efficient helps Emergency Department (ED) doctors in logging patient reports and connecting patients with relevant departments and doctors under time pressure during an emergency.")]),_v(" "),_c('p',[_v("Given below are my contributions to the project.")]),_v(" "),_c('ul',[_c('li',[_c('strong',[_v("Code contributed:")]),_v(" "),_c('a',{attrs:{"href":"https://nus-cs2103-ay2324s1.github.io/tp-dashboard/?search=wujy28&breakdown=true"}},[_v("RepoSense Link")])]),_v(" "),_c('li',[_c('strong',[_v("Features implemented:")]),_v(" "),_c('ul',[_c('li',[_v("to be added soon")])])]),_v(" "),_c('li',[_c('strong',[_v("Enhancements implemented:")]),_v(" "),_c('ul',[_c('li',[_v("to be added soon")])])]),_v(" "),_c('li',[_c('strong',[_v("Contributions to the UG:")]),_v(" "),_c('ul',[_c('li',[_v("to be added soon")])])]),_v(" "),_c('li',[_c('strong',[_v("Contributions to the DG:")]),_v(" "),_c('ul',[_c('li',[_v("to be added soon")])])]),_v(" "),_c('li',[_c('strong',[_v("Contributions to team-based tasks:")]),_v(" "),_c('ul',[_c('li',[_v("to be added soon")])])]),_v(" "),_c('li',[_c('strong',[_v("Review/mentoring contributions:")]),_v(" "),_c('ul',[_c('li',[_v("to be added soon")])])]),_v(" "),_c('li',[_c('strong',[_v("Contributions beyond the project team:")]),_v(" "),_c('ul',[_c('li',[_v("to be added soon")])])])])])} +},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.1.0")]),_v(", generated on Thu, 12 Oct 2023, 13:37:57 GMT+8]")])])])} +}]; + \ No newline at end of file diff --git a/tutorials/AddRemark.html b/tutorials/AddRemark.html index 64ea7ca9241..c86fabaafe8 100644 --- a/tutorials/AddRemark.html +++ b/tutorials/AddRemark.html @@ -29,7 +29,7 @@ import seedu.address.model.Model; /** - * Changes the remark of an existing person in the address book. + * Changes the remark of an existing patient in the address book. */ public class RemarkCommand extends Command { @@ -41,8 +41,8 @@ } }

    Hook RemarkCommand into the application

    Now that we have our RemarkCommand ready to be executed, we need to update AddressBookParser#parseCommand() to recognize the remark keyword. Add the new command to the switch block by creating a new case that returns a new instance of RemarkCommand.

    You can refer to the changes in this diff.

    Run the application

    Run Main#main and try out your new RemarkCommand. If everything went well, you should see something like this:

    Output displayed

    Change RemarkCommand to throw an exception

    While we have successfully printed a message to ResultDisplay, the command does not do what it is supposed to do. Let’s change the command to throw a CommandException to accurately reflect that our command is still a work in progress.

    The relationship between RemarkCommand and Command

    Following the convention in other commands, we add relevant messages as constants and use them.

    RemarkCommand.java:

        public static final String MESSAGE_USAGE = COMMAND_WORD
    -            + ": Edits the remark of the person identified "
    -            + "by the index number used in the last person listing. "
    +            + ": Edits the remark of the patient identified "
    +            + "by the index number used in the last patient listing. "
                 + "Existing remark will be overwritten by the input.\n"
                 + "Parameters: INDEX (must be a positive integer) "
                 + "r/ [REMARK]\n"
    @@ -66,8 +66,8 @@
         private final String remark;
     
         /**
    -     * @param index of the person in the filtered person list to edit the remark
    -     * @param remark of the person to be updated to
    +     * @param index of the patient in the filtered patient list to edit the remark
    +     * @param remark of the patient to be updated to
          */
         public RemarkCommand(Index index, String remark) {
             requireAllNonNull(index, remark);
    @@ -136,14 +136,14 @@
         return new RemarkCommand(index, remark);
     }
     

    Don’t forget to update AddressBookParser to use our new RemarkCommandParser!

    If you are stuck, check out the sample -here.

    Add Remark to the model

    Now that we have all the information that we need, let’s lay the groundwork for propagating the remarks added into the in-memory storage of person data. We achieve that by working with the Person model. Each field in a Person is implemented as a separate class (e.g. a Name object represents the person’s name). That means we should add a Remark class so that we can use a Remark object to represent a remark given to a person.

    Add a new Remark class

    Create a new Remark in seedu.address.model.person. Since a Remark is a field that is similar to Address, we can reuse a significant bit of code.

    A copy-paste and search-replace later, you should have something like this. Note how Remark has no constrains and thus does not require input -validation.

    Make use of Remark

    Let’s change RemarkCommand and RemarkCommandParser to use the new Remark class instead of plain String. These should be relatively simple changes.

    Add a placeholder element for remark to the UI

    Without getting too deep into fxml, let’s go on a 5 minute adventure to get some placeholder text to show up for each person.

    Simply add the following to seedu.address.ui.PersonCard.

    PersonCard.java:

    @FXML
    +here.

    Add Remark to the model

    Now that we have all the information that we need, let’s lay the groundwork for propagating the remarks added into the in-memory storage of patient data. We achieve that by working with the Person model. Each field in a Person is implemented as a separate class (e.g. a Name object represents the patient’s name). That means we should add a Remark class so that we can use a Remark object to represent a remark given to a patient.

    Add a new Remark class

    Create a new Remark in seedu.address.model.patient. Since a Remark is a field that is similar to Address, we can reuse a significant bit of code.

    A copy-paste and search-replace later, you should have something like this. Note how Remark has no constrains and thus does not require input +validation.

    Make use of Remark

    Let’s change RemarkCommand and RemarkCommandParser to use the new Remark class instead of plain String. These should be relatively simple changes.

    Add a placeholder element for remark to the UI

    Without getting too deep into fxml, let’s go on a 5 minute adventure to get some placeholder text to show up for each patient.

    Simply add the following to seedu.address.ui.PatientCard.

    PersonCard.java:

    @FXML
     private Label remark;
     

    @FXML is an annotation that marks a private or protected field and makes it accessible to FXML. It might sound like Greek to you right now, don’t worry — we will get back to it later.

    Then insert the following into main/resources/view/PersonListCard.fxml.

    PersonListCard.fxml:

    <Label fx:id="remark" styleClass="cell_small_label" text="\$remark" />
     

    That’s it! Fire up the application again and you should see something like this:

    ![remarkshowsupineachentry](../images/addremark/remark shows up in each entry](../images/add-remark/Remark.png)

    Modify Person to support a Remark field

    Since PersonCard displays data from a Person, we need to update Person to get our Remark displayed!

    Modify Person

    We change the constructor of Person to take a Remark. We will also need to define new fields and accessors accordingly to store our new addition.

    Update other usages of Person

    Unfortunately, a change to Person will cause other commands to break, you will have to modify these commands to use the updated Person!

    Use the Find Usages feature in IntelliJ IDEA on the Person class to find these commands.

    Refer to this commit and check that you have got everything in order!

    Updating Storage

    AddressBook stores data by serializing JsonAdaptedPerson into json with the help of an external library — Jackson. Let’s update JsonAdaptedPerson to work with our new Person!

    While the changes to code may be minimal, the test data will have to be updated as well.

    You must delete AddressBook’s storage file located at /data/addressbook.json before running it! Not doing so will cause AddressBook to default to an empty address book!

    Check out this commit -to see what the changes entail.

    Finalizing the UI

    Now that we have finalized the Person class and its dependencies, we can now bind the Remark field to the UI.

    Just add this one line of code!

    PersonCard.java:

    public PersonCard(Person person, int displayedIndex) {
    +to see what the changes entail.

    Finalizing the UI

    Now that we have finalized the Person class and its dependencies, we can now bind the Remark field to the UI.

    Just add this one line of code!

    PersonCard.java:

    public PersonCard(Person patient, int displayedIndex) {
         //...
    -    remark.setText(person.getRemark().value);
    +    remark.setText(patient.getRemark().value);
     }
     

    The remark label is bound properly!

    Putting everything together

    After the previous step, we notice a peculiar regression — we went from displaying something to nothing at all. However, this is expected behavior as we are yet to update the RemarkCommand to make use of the code we've been adding in the last few steps.

    Update RemarkCommand and RemarkCommandParser

    In this last step, we modify RemarkCommand#execute() to change the Remark of a Person. Since all fields in a Person are immutable, we create a new instance of a Person with the values that we want and save it with Model#setPerson().

    RemarkCommand.java:

    //...
    @@ -158,28 +158,28 @@
                 throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX);
             }
     
    -        Person personToEdit = lastShownList.get(index.getZeroBased());
    -        Person editedPerson = new Person(
    -                personToEdit.getName(), personToEdit.getPhone(), personToEdit.getEmail(),
    -                personToEdit.getAddress(), remark, personToEdit.getTags());
    +        Person patientToEdit = lastShownList.get(index.getZeroBased());
    +        Person editedPatient = new Person(
    +                patientToEdit.getName(), patientToEdit.getPhone(), patientToEdit.getEmail(),
    +                patientToEdit.getAddress(), remark, patientToEdit.getTags());
     
    -        model.setPerson(personToEdit, editedPerson);
    +        model.setPerson(patientToEdit, editedPatient);
             model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS);
     
    -        return new CommandResult(generateSuccessMessage(editedPerson));
    +        return new CommandResult(generateSuccessMessage(editedPatient));
         }
     
         /**
          * Generates a command execution success message based on whether
          * the remark is added to or removed from
    -     * {@code personToEdit}.
    +     * {@code patientToEdit}.
          */
    -    private String generateSuccessMessage(Person personToEdit) {
    +    private String generateSuccessMessage(Person patientToEdit) {
             String message = !remark.value.isEmpty() ? MESSAGE_ADD_REMARK_SUCCESS : MESSAGE_DELETE_REMARK_SUCCESS;
    -        return String.format(message, personToEdit);
    +        return String.format(message, patientToEdit);
         }
     

    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.

    [Powered by MarkBind 5.1.0, generated on Wed, 4 Oct 2023, 1:54:58 GMT+8]
    +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.

    [Powered by MarkBind 5.1.0, generated on Thu, 12 Oct 2023, 13:37:57 GMT+8]