aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGunther6070 <haydenhartman10@yahoo.com>2025-03-18 07:49:29 -0400
committerGunther6070 <haydenhartman10@yahoo.com>2025-03-18 07:49:29 -0400
commitbd41fc58b5537a12072625bbf75baf75d5ed2274 (patch)
tree64f6b52fbd4714a29be0102ac988cb7ab02dbb33
parent03077b567f41aa639efa065742481e91830ade57 (diff)
parentf063bf6e8634386f6ae3a3cf13fe2228e74454c9 (diff)
downloadJellySolutions-bd41fc58b5537a12072625bbf75baf75d5ed2274.tar.gz
JellySolutions-bd41fc58b5537a12072625bbf75baf75d5ed2274.tar.bz2
JellySolutions-bd41fc58b5537a12072625bbf75baf75d5ed2274.zip
Merge branch 'main' into funding_basket
-rw-r--r--docs/DesignDoc.md13
-rw-r--r--docs/architecture-tiers-and-layers.drawio195
-rw-r--r--docs/architecture-tiers-and-layers.pngbin77956 -> 82794 bytes
-rw-r--r--etc/Acceptance Test Plan.xlsxbin30285 -> 30698 bytes
-rw-r--r--ufund-ui/src/app/components/cupboard/cupboard.component.html2
-rw-r--r--ufund-ui/src/app/components/need-list/need-list.component.ts6
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:
![The Tiers & Layers of the Architecture](DashboardPage.jpeg)
Cupboard:
-![The Tiers & Layers of the Architecture](CuboardPage.jpeg)
+![The Tiers & Layers of the Architecture](CupboardPage.jpeg)
Need page:
![The Tiers & Layers of the Architecture](NeedPage.jpeg)
@@ -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="&lt;div&gt;REST API&lt;/div&gt;&lt;div&gt;(CupboardController)&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
+ <mxCell id="Ork7YycwdDH3GpRj4XOS-7" value="&lt;div&gt;REST API&lt;/div&gt;&lt;div&gt;(CupboardController)&lt;/div&gt;" 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="&lt;div&gt;Service&lt;/div&gt;&lt;div&gt;(TBD)&lt;/div&gt;" 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="&lt;div&gt;Service&lt;/div&gt;" 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="&lt;div&gt;Angular&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
+ <mxCell id="Ork7YycwdDH3GpRj4XOS-20" value="&lt;div&gt;Angular&lt;/div&gt;" 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="&lt;div&gt;File&lt;/div&gt;&lt;div&gt;I/O&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+ <mxCell id="Ork7YycwdDH3GpRj4XOS-18" value="&lt;div&gt;File&lt;/div&gt;&lt;div&gt;I/O&lt;/div&gt;" 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="&lt;div&gt;Cupboard&lt;/div&gt;&lt;div&gt;Controller&lt;/div&gt;" 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="&lt;div&gt;Remote&lt;/div&gt;&lt;div&gt;Storage Location&lt;/div&gt;" 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="&lt;div&gt;Cupboard&lt;/div&gt;&lt;div&gt;Controller&lt;/div&gt;" 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
index 02647b2..4d0bdae 100644
--- a/docs/architecture-tiers-and-layers.png
+++ b/docs/architecture-tiers-and-layers.png
Binary files differ
diff --git a/etc/Acceptance Test Plan.xlsx b/etc/Acceptance Test Plan.xlsx
index 1128f15..dd55e20 100644
--- a/etc/Acceptance Test Plan.xlsx
+++ b/etc/Acceptance Test Plan.xlsx
Binary files differ
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 = [];