diff options
author | Gunther6070 <haydenhartman10@yahoo.com> | 2025-03-18 07:49:29 -0400 |
---|---|---|
committer | Gunther6070 <haydenhartman10@yahoo.com> | 2025-03-18 07:49:29 -0400 |
commit | bd41fc58b5537a12072625bbf75baf75d5ed2274 (patch) | |
tree | 64f6b52fbd4714a29be0102ac988cb7ab02dbb33 | |
parent | 03077b567f41aa639efa065742481e91830ade57 (diff) | |
parent | f063bf6e8634386f6ae3a3cf13fe2228e74454c9 (diff) | |
download | JellySolutions-bd41fc58b5537a12072625bbf75baf75d5ed2274.tar.gz JellySolutions-bd41fc58b5537a12072625bbf75baf75d5ed2274.tar.bz2 JellySolutions-bd41fc58b5537a12072625bbf75baf75d5ed2274.zip |
Merge branch 'main' into funding_basket
-rw-r--r-- | docs/DesignDoc.md | 13 | ||||
-rw-r--r-- | docs/architecture-tiers-and-layers.drawio | 195 | ||||
-rw-r--r-- | docs/architecture-tiers-and-layers.png | bin | 77956 -> 82794 bytes | |||
-rw-r--r-- | etc/Acceptance Test Plan.xlsx | bin | 30285 -> 30698 bytes | |||
-rw-r--r-- | ufund-ui/src/app/components/cupboard/cupboard.component.html | 2 | ||||
-rw-r--r-- | ufund-ui/src/app/components/need-list/need-list.component.ts | 6 |
6 files changed, 119 insertions, 97 deletions
diff --git a/docs/DesignDoc.md b/docs/DesignDoc.md index 5d673b2..0a92bac 100644 --- a/docs/DesignDoc.md +++ b/docs/DesignDoc.md @@ -17,6 +17,8 @@ geometry: margin=1in Our project is intended to create a space to fund aquatic conservation, from physical ecosystems such as coral reefs to aquatic creatures such as jellyfish. Users will be able to donate funds, both physical and monetary, to individal 'needs', and see how close to reaching a funding goal each need is. ### Purpose + +The purpose of this project is to provide an avenue for companies to crowd-fund and for users to contribute to funds of their choosing. > _**[Sprint 2 & 4]** Provide a very brief statement about the project and the most > important user group and user goals._ @@ -34,6 +36,8 @@ Our project is intended to create a space to fund aquatic conservation, from phy This section describes the features of the application. +The requirements for this u-fund project to be functional include a system for organizations (administrators) to create funding goals (needs) that can be satisfied by clients (users). + > _In this section you do not need to be exhaustive and list every > story. Focus on top-level features from the Vision document and > maybe Epics and critical Stories._ @@ -101,7 +105,7 @@ Dashboard:  Cupboard: - + Need page:  @@ -186,6 +190,8 @@ In our model tier we have a Need class, a User class, and a UserAuth class. The Currently around 100 tests, with roughly 95% coverage overall. Model tier is above 95% individually. ### Acceptance Testing + +We have 24 passing Acceptance Tests and 5 failing Acceptance Tests. 4 of these failures are unable to be tested because of a missing feature, as it is not a requirement for our sprint backlog. All issues that have been found are easily fixable during the next sprint. > _**[Sprint 2 & 4]** Report on the number of user stories that have passed all their > acceptance criteria tests, the number that have some acceptance > criteria tests failing, and the number of user stories that @@ -207,4 +213,7 @@ Currently around 100 tests, with roughly 95% coverage overall. Model tier is abo >_**[Sprint 1, 2, 3 & 4]** Throughout the project, provide a time stamp **(yyyy/mm/dd): Sprint # and description** of any _**major**_ team decisions or design milestones/changes and corresponding justification._ **(2025/02/12): Sprint #1: Decided on the U-fund theme as Aquatic / Coral Reef.** -**(2025/02/15): Sprint #1: Outlined structure of Back-End Application.**
\ No newline at end of file + +**(2025/02/15): Sprint #1: Outlined structure of Back-End Application.** + +**(2025/03/17): Sprint #2: Decided on Important Stories for Sprint 2 Backlog, and reworked Design Architecture.**
\ No newline at end of file diff --git a/docs/architecture-tiers-and-layers.drawio b/docs/architecture-tiers-and-layers.drawio index e3fb576..f60cd70 100644 --- a/docs/architecture-tiers-and-layers.drawio +++ b/docs/architecture-tiers-and-layers.drawio @@ -1,234 +1,243 @@ -<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0" version="26.0.13"> +<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:136.0) Gecko/20100101 Firefox/136.0" version="26.0.14"> <diagram name="Page-1" id="P8hgUCnVgUD2r0shnHkA"> - <mxGraphModel dx="1105" dy="566" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0"> + <mxGraphModel dx="1313" dy="673" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> - <mxCell id="Ork7YycwdDH3GpRj4XOS-1" value="View" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-1" value="View" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="1" vertex="1"> <mxGeometry x="125" y="220" width="120" height="120" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-3" value="ViewModel" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1"> - <mxGeometry x="285" y="220" width="240" height="120" as="geometry" /> + <mxCell id="Ork7YycwdDH3GpRj4XOS-3" value="ViewModel" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="1" vertex="1"> + <mxGeometry x="285" y="220" width="355" height="120" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-4" value="Model" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1"> - <mxGeometry x="565" y="220" width="355" height="120" as="geometry" /> + <mxCell id="Ork7YycwdDH3GpRj4XOS-4" value="Model" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="1" vertex="1"> + <mxGeometry x="680" y="220" width="240" height="120" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-5" value="Web Interface" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-5" value="Web Interface" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1"> <mxGeometry x="135" y="270" width="100" height="50" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-6" value="User" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-6" value="User" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1"> <mxGeometry x="65" y="250" width="30" height="60" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-7" value="<div>REST API</div><div>(CupboardController)</div>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-7" value="<div>REST API</div><div>(CupboardController)</div>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1"> <mxGeometry x="300" y="270" width="115" height="50" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-8" value="<div>Service</div><div>(TBD)</div>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;dashed=1;dashPattern=8 8;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-8" value="<div>Service</div>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1"> <mxGeometry x="435" y="270" width="80" height="50" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-9" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#ffe6cc;strokeColor=#d79b00;" edge="1" parent="1" target="Ork7YycwdDH3GpRj4XOS-5"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-9" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" target="Ork7YycwdDH3GpRj4XOS-5" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="105" y="295" as="sourcePoint" /> <mxPoint x="415" y="370" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-10" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#ffe6cc;strokeColor=#d79b00;" edge="1" parent="1" target="Ork7YycwdDH3GpRj4XOS-7"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-10" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" target="Ork7YycwdDH3GpRj4XOS-7" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="235" y="294.78" as="sourcePoint" /> <mxPoint x="265" y="294.78" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-11" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;" edge="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-11" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="415" y="294.78" as="sourcePoint" /> <mxPoint x="435" y="295" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-12" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="Ork7YycwdDH3GpRj4XOS-13"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="515" y="294.78" as="sourcePoint" /> - <mxPoint x="555" y="295" as="targetPoint" /> - </mxGeometry> + <mxCell id="Ork7YycwdDH3GpRj4XOS-13" value="Model" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1"> + <mxGeometry x="690" y="270" width="100" height="50" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-13" value="Model" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1"> - <mxGeometry x="575" y="270" width="100" height="50" as="geometry" /> - </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-14" value="Persistence" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1"> - <mxGeometry x="695" y="270" width="100" height="50" as="geometry" /> + <mxCell id="Ork7YycwdDH3GpRj4XOS-14" value="Persistence" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1"> + <mxGeometry x="810" y="270" width="100" height="50" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-15" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="Ork7YycwdDH3GpRj4XOS-13" target="Ork7YycwdDH3GpRj4XOS-14"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-15" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="Ork7YycwdDH3GpRj4XOS-13" target="Ork7YycwdDH3GpRj4XOS-14" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="675" y="294.78" as="sourcePoint" /> <mxPoint x="695" y="295" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-17" value="Storage" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-17" value="Storage" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1"> <mxGeometry x="980" y="270" width="100" height="50" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-19" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1" source="Ork7YycwdDH3GpRj4XOS-5"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-19" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" source="Ork7YycwdDH3GpRj4XOS-5" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="195" y="440" as="sourcePoint" /> <mxPoint x="185" y="380" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-20" value="<div>Angular</div>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-20" value="<div>Angular</div>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1"> <mxGeometry x="305" y="100" width="100" height="20" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-21" value="Frameworks" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-21" value="Frameworks" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> <mxGeometry x="235" y="125" width="60" height="30" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-22" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-22" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="357.19" y="320" as="sourcePoint" /> <mxPoint x="357" y="380" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-26" value="Any Modern Browser" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-26" value="Any Modern Browser" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> <mxGeometry x="530" y="120" width="100" height="40" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-27" value="Platform" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-27" value="Platform" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> <mxGeometry x="460" y="125" width="60" height="30" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-32" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-32" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="1029.5700000000002" y="320" as="sourcePoint" /> <mxPoint x="1030" y="380" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-33" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-33" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="474.76" y="320" as="sourcePoint" /> <mxPoint x="474.57" y="380" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-34" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-34" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="624.76" y="320" as="sourcePoint" /> - <mxPoint x="624.5699999999999" y="380" as="targetPoint" /> + <mxPoint x="739.76" y="320" as="sourcePoint" /> + <mxPoint x="739.5699999999999" y="380" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-35" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-35" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="744.76" y="320" as="sourcePoint" /> - <mxPoint x="744.5699999999999" y="380" as="targetPoint" /> + <mxPoint x="859.76" y="320" as="sourcePoint" /> + <mxPoint x="859.5699999999999" y="380" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-36" value="Usage" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-36" value="Usage" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> <mxGeometry x="50" y="390" width="60" height="30" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-38" value="TBD" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-38" value="TBD" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1"> <mxGeometry x="135" y="380" width="100" height="40" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-39" value="SpringBoot" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-39" value="SpringBoot" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1"> <mxGeometry x="307.5" y="380" width="100" height="40" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-41" value="REST API" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-41" value="REST API" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1"> <mxGeometry x="305" y="120" width="100" height="20" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-43" value="Java" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-43" value="Java" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" parent="1" vertex="1"> <mxGeometry x="305" y="140" width="100" height="20" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-44" value="TypeScript" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-44" value="TypeScript" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1"> <mxGeometry x="305" y="160" width="100" height="20" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-45" value="Any Modern Operating System" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-45" value="Any Modern Operating System" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> <mxGeometry x="740" y="120" width="100" height="40" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-46" value="OS" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-46" value="OS" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> <mxGeometry x="670" y="125" width="60" height="30" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-48" value="Need" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" vertex="1" parent="1"> - <mxGeometry x="575" y="380" width="100" height="20" as="geometry" /> + <mxCell id="Ork7YycwdDH3GpRj4XOS-48" value="Need" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" parent="1" vertex="1"> + <mxGeometry x="690" y="380" width="100" height="20" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-56" value="DAO" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" vertex="1" parent="1"> - <mxGeometry x="695" y="380" width="100" height="20" as="geometry" /> + <mxCell id="Ork7YycwdDH3GpRj4XOS-56" value="DAO" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" parent="1" vertex="1"> + <mxGeometry x="810" y="380" width="100" height="20" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-58" value="FileDAO" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" vertex="1" parent="1"> - <mxGeometry x="695" y="400" width="100" height="20" as="geometry" /> + <mxCell id="Ork7YycwdDH3GpRj4XOS-58" value="FileDAO" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" parent="1" vertex="1"> + <mxGeometry x="810" y="400" width="100" height="20" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-61" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="Ork7YycwdDH3GpRj4XOS-14" target="Ork7YycwdDH3GpRj4XOS-60"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="795" y="295" as="sourcePoint" /> - <mxPoint x="1010" y="295" as="targetPoint" /> - </mxGeometry> - </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-60" value="Controller" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1"> - <mxGeometry x="810" y="270" width="100" height="50" as="geometry" /> + <mxCell id="Ork7YycwdDH3GpRj4XOS-60" value="Controller" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="1" vertex="1"> + <mxGeometry x="530" y="270" width="100" height="50" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-63" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="Ork7YycwdDH3GpRj4XOS-60" target="Ork7YycwdDH3GpRj4XOS-17"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-63" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="Ork7YycwdDH3GpRj4XOS-14" target="Ork7YycwdDH3GpRj4XOS-17" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="910" y="295" as="sourcePoint" /> + <mxPoint x="930" y="260" as="sourcePoint" /> <mxPoint x="1010" y="295" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-18" value="<div>File</div><div>I/O</div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-18" value="<div>File</div><div>I/O</div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> <mxGeometry x="920" y="280" width="60" height="30" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-69" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-69" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="859.76" y="320" as="sourcePoint" /> - <mxPoint x="859.5699999999999" y="380" as="targetPoint" /> + <mxPoint x="579.76" y="320" as="sourcePoint" /> + <mxPoint x="579.5699999999999" y="380" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-70" value="<div>Cupboard</div><div>Controller</div>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" vertex="1" parent="1"> - <mxGeometry x="810" y="380" width="100" height="30" as="geometry" /> - </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-72" value="TBD" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1"> - <mxGeometry x="435" y="380" width="80" height="40" as="geometry" /> - </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-73" value="<div>Remote</div><div>Storage Location</div>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1"> - <mxGeometry x="980" y="380" width="100" height="30" as="geometry" /> + <mxCell id="Ork7YycwdDH3GpRj4XOS-70" value="<div>Cupboard</div><div>Controller</div>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" parent="1" vertex="1"> + <mxGeometry x="530" y="380" width="100" height="30" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-74" value="Any Modern Browser" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-74" value="Any Modern Browser" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> <mxGeometry x="135" y="480" width="100" height="40" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-76" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-76" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="184.47" y="420" as="sourcePoint" /> <mxPoint x="184.47" y="480" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-77" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-77" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="356.19" y="420" as="sourcePoint" /> <mxPoint x="356" y="480" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-78" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-78" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="1028.5700000000002" y="420" as="sourcePoint" /> <mxPoint x="1029" y="480" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-79" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-79" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="473.76" y="420" as="sourcePoint" /> + <mxPoint x="474" y="440" as="sourcePoint" /> <mxPoint x="473.57" y="480" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-80" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-80" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1" source="Ork7YycwdDH3GpRj4XOS-48"> <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="623.76" y="420" as="sourcePoint" /> - <mxPoint x="623.5699999999999" y="480" as="targetPoint" /> + <mxPoint x="738.76" y="420" as="sourcePoint" /> + <mxPoint x="738.5699999999999" y="480" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-81" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-81" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="743.76" y="420" as="sourcePoint" /> - <mxPoint x="743.5699999999999" y="480" as="targetPoint" /> + <mxPoint x="858.76" y="420" as="sourcePoint" /> + <mxPoint x="858.5699999999999" y="480" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-82" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-82" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1" source="Ork7YycwdDH3GpRj4XOS-70"> <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="858.76" y="420" as="sourcePoint" /> - <mxPoint x="858.5699999999999" y="480" as="targetPoint" /> + <mxPoint x="578.76" y="420" as="sourcePoint" /> + <mxPoint x="578.5699999999999" y="480" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-83" value="Any Modern Operating System" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-83" value="Any Modern Operating System" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> <mxGeometry x="307.5" y="480" width="602.5" height="40" as="geometry" /> </mxCell> - <mxCell id="Ork7YycwdDH3GpRj4XOS-84" value="Any Modern Operating System" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1"> + <mxCell id="Ork7YycwdDH3GpRj4XOS-84" value="Any Modern Operating System" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"> <mxGeometry x="980" y="480" width="100" height="40" as="geometry" /> </mxCell> + <mxCell id="52uoB4Gf5a0lLT2oJs9e-1" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="Ork7YycwdDH3GpRj4XOS-60" target="Ork7YycwdDH3GpRj4XOS-13"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="800" y="305" as="sourcePoint" /> + <mxPoint x="820" y="305" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="52uoB4Gf5a0lLT2oJs9e-2" value="" style="endArrow=classic;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="Ork7YycwdDH3GpRj4XOS-8" target="Ork7YycwdDH3GpRj4XOS-60"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="810" y="315" as="sourcePoint" /> + <mxPoint x="830" y="315" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="52uoB4Gf5a0lLT2oJs9e-3" value="Cupboard.json" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1"> + <mxGeometry x="980" y="380" width="100" height="20" as="geometry" /> + </mxCell> + <mxCell id="52uoB4Gf5a0lLT2oJs9e-4" value="User.json" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1"> + <mxGeometry x="980" y="400" width="100" height="20" as="geometry" /> + </mxCell> + <mxCell id="52uoB4Gf5a0lLT2oJs9e-5" value="UserService" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1"> + <mxGeometry x="425" y="380" width="100" height="20" as="geometry" /> + </mxCell> + <mxCell id="52uoB4Gf5a0lLT2oJs9e-6" value="CupboardService" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1"> + <mxGeometry x="425" y="400" width="100" height="20" as="geometry" /> + </mxCell> + <mxCell id="52uoB4Gf5a0lLT2oJs9e-7" value="AuthService" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1"> + <mxGeometry x="425" y="420" width="100" height="20" as="geometry" /> + </mxCell> </root> </mxGraphModel> </diagram> diff --git a/docs/architecture-tiers-and-layers.png b/docs/architecture-tiers-and-layers.png Binary files differindex 02647b2..4d0bdae 100644 --- a/docs/architecture-tiers-and-layers.png +++ b/docs/architecture-tiers-and-layers.png diff --git a/etc/Acceptance Test Plan.xlsx b/etc/Acceptance Test Plan.xlsx Binary files differindex 1128f15..dd55e20 100644 --- a/etc/Acceptance Test Plan.xlsx +++ b/etc/Acceptance Test Plan.xlsx diff --git a/ufund-ui/src/app/components/cupboard/cupboard.component.html b/ufund-ui/src/app/components/cupboard/cupboard.component.html index 172360d..0d64475 100644 --- a/ufund-ui/src/app/components/cupboard/cupboard.component.html +++ b/ufund-ui/src/app/components/cupboard/cupboard.component.html @@ -19,7 +19,7 @@ <input type="submit" value="Submit"> </form> <button (click)="back()">Close</button> - <span *ngIf="statusText">{{statusText | async}}</span> + <span *ngIf="statusText">‼️{{statusText | async}}</span> </div> <div id="update-form"> diff --git a/ufund-ui/src/app/components/need-list/need-list.component.ts b/ufund-ui/src/app/components/need-list/need-list.component.ts index 5bb3887..e1c0de1 100644 --- a/ufund-ui/src/app/components/need-list/need-list.component.ts +++ b/ufund-ui/src/app/components/need-list/need-list.component.ts @@ -24,7 +24,8 @@ export class NeedListComponent { ngOnInit(): void { this.refresh() - this.close(); + + this.close(); } private showElement(element: any) { @@ -56,6 +57,7 @@ export class NeedListComponent { close() { this.hideElement(document.getElementById('search-form')); this.showElement(document.getElementById('search-button')); + this.hideElement(document.getElementById('search-status')); } private searchDelay: any; @@ -73,6 +75,8 @@ export class NeedListComponent { this.cupboardService.searchNeeds(currentSearchValue).subscribe((n) => { this.searchResults = n; console.log(currentSearchValue, this.searchResults); + this.showElement(document.getElementById('search-results')); + this.showElement(document.getElementById('search-status')); if (this.searchResults.length === this.needs.length) { this.updateSearchStatus("Please refine your search"); this.searchResults = []; |