Add documentation details on the frontend service
Signed-off-by: Akashdeep Dhar <akashdeep.dhar@gmail.com>
This commit is contained in:
parent
fb4445bf53
commit
b4694dbf48
3 changed files with 291 additions and 0 deletions
3
docs/_static/w2fm_frsv.svg
vendored
Normal file
3
docs/_static/w2fm_frsv.svg
vendored
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 34 KiB |
180
docs/webhook2fedmsg/diagrams/w2fm_frsv.drawio
Normal file
180
docs/webhook2fedmsg/diagrams/w2fm_frsv.drawio
Normal file
|
@ -0,0 +1,180 @@
|
|||
<mxfile host="app.diagrams.net" modified="2024-03-28T06:10:52.085Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0" etag="88O6d6K2UpbZFMD3WjuK" version="24.2.0" type="device">
|
||||
<diagram name="Page-1" id="TKOU_Uu_NVry3_k4btUY">
|
||||
<mxGraphModel dx="1118" dy="1724" 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="AMYYshvy3nneHbcysKbS-3" value="<font style="font-size: 10px;" face="JetBrains Mono">W2FM service</font>" style="swimlane;whiteSpace=wrap;html=1;rounded=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="100" y="70" width="810" height="580" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-15" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="AMYYshvy3nneHbcysKbS-3" source="AMYYshvy3nneHbcysKbS-2" target="AMYYshvy3nneHbcysKbS-13">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-63" value="<font face="JetBrains Mono"><span style="font-size: 8px;">Add service</span></font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="AMYYshvy3nneHbcysKbS-15">
|
||||
<mxGeometry x="0.018" y="1" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-2" value="<font face="JetBrains Mono"><span style="font-size: 10px;">Listing<br>page</span></font>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rounded=1;" vertex="1" parent="AMYYshvy3nneHbcysKbS-3">
|
||||
<mxGeometry x="340" y="40" width="80" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-1" value="<font style="font-size: 10px;" face="JetBrains Mono">Landing<br>page</font>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rounded=1;" vertex="1" parent="AMYYshvy3nneHbcysKbS-3">
|
||||
<mxGeometry x="20" y="40" width="80" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-13" value="<font face="JetBrains Mono"><span style="font-size: 10px;">Add new<br>service<br>page</span></font>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rounded=1;" vertex="1" parent="AMYYshvy3nneHbcysKbS-3">
|
||||
<mxGeometry x="660" y="40" width="80" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-16" value="<font face="JetBrains Mono"><span style="font-size: 10px;">Edit new<br>service<br>page</span></font>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rounded=1;" vertex="1" parent="AMYYshvy3nneHbcysKbS-3">
|
||||
<mxGeometry x="660" y="220" width="80" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-17" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.011;entryY=0.532;entryDx=0;entryDy=0;entryPerimeter=0;curved=1;" edge="1" parent="AMYYshvy3nneHbcysKbS-3" source="AMYYshvy3nneHbcysKbS-2" target="AMYYshvy3nneHbcysKbS-16">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-64" value="<font face="JetBrains Mono"><span style="font-size: 8px;">Edit service</span></font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="AMYYshvy3nneHbcysKbS-17">
|
||||
<mxGeometry x="0.2567" y="15" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-18" value="<font face="JetBrains Mono"><span style="font-size: 10px;">View<br>messages<br>page</span></font>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rounded=1;" vertex="1" parent="AMYYshvy3nneHbcysKbS-3">
|
||||
<mxGeometry x="660" y="410" width="80" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-33" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;curved=1;" edge="1" parent="AMYYshvy3nneHbcysKbS-3" source="AMYYshvy3nneHbcysKbS-13" target="AMYYshvy3nneHbcysKbS-2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-62" value="<font face="JetBrains Mono"><span style="font-size: 8px;">Save or Back</span></font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="AMYYshvy3nneHbcysKbS-33">
|
||||
<mxGeometry x="-0.1602" y="1" relative="1" as="geometry">
|
||||
<mxPoint x="11" y="-1" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-44" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="AMYYshvy3nneHbcysKbS-3" source="AMYYshvy3nneHbcysKbS-13" target="AMYYshvy3nneHbcysKbS-1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="700" y="210" />
|
||||
<mxPoint x="60" y="210" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-57" value="<span style="font-family: &quot;JetBrains Mono&quot;; font-size: 8px;">Logout</span>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="AMYYshvy3nneHbcysKbS-44">
|
||||
<mxGeometry x="0.3275" y="-3" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-45" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;curved=1;" edge="1" parent="AMYYshvy3nneHbcysKbS-3" source="AMYYshvy3nneHbcysKbS-2" target="AMYYshvy3nneHbcysKbS-1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-56" value="<font style="font-size: 8px;" data-font-src="https://fonts.googleapis.com/css?family=JetBrains+Mono" face="JetBrains Mono">Logout</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="AMYYshvy3nneHbcysKbS-45">
|
||||
<mxGeometry x="-0.0147" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-46" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;curved=1;" edge="1" parent="AMYYshvy3nneHbcysKbS-3" source="AMYYshvy3nneHbcysKbS-16" target="AMYYshvy3nneHbcysKbS-1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="700" y="400" />
|
||||
<mxPoint x="60" y="400" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-58" value="<span style="font-family: &quot;JetBrains Mono&quot;; font-size: 8px;">Logout</span>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="AMYYshvy3nneHbcysKbS-46">
|
||||
<mxGeometry x="-0.0188" y="-5" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-47" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;curved=1;" edge="1" parent="AMYYshvy3nneHbcysKbS-3" source="AMYYshvy3nneHbcysKbS-16" target="AMYYshvy3nneHbcysKbS-2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-61" value="<span style="font-family: &quot;JetBrains Mono&quot;; font-size: 8px;">Back</span>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="AMYYshvy3nneHbcysKbS-47">
|
||||
<mxGeometry x="0.0855" y="-40" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-48" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;curved=1;" edge="1" parent="AMYYshvy3nneHbcysKbS-3" source="AMYYshvy3nneHbcysKbS-18" target="AMYYshvy3nneHbcysKbS-2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-60" value="<font face="JetBrains Mono"><span style="font-size: 8px;">Back</span></font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="AMYYshvy3nneHbcysKbS-48">
|
||||
<mxGeometry x="-0.2375" y="-58" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-49" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;curved=1;" edge="1" parent="AMYYshvy3nneHbcysKbS-3" source="AMYYshvy3nneHbcysKbS-18" target="AMYYshvy3nneHbcysKbS-1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="700" y="560" />
|
||||
<mxPoint x="60" y="560" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-59" value="<span style="font-family: &quot;JetBrains Mono&quot;; font-size: 8px;">Logout</span>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="AMYYshvy3nneHbcysKbS-49">
|
||||
<mxGeometry x="-0.3151" y="-2" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-50" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;curved=1;" edge="1" parent="AMYYshvy3nneHbcysKbS-3" source="AMYYshvy3nneHbcysKbS-2" target="AMYYshvy3nneHbcysKbS-18">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="510" y="100" />
|
||||
<mxPoint x="510" y="470" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-65" value="<span style="font-family: &quot;JetBrains Mono&quot;; font-size: 8px;">View messages</span>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="AMYYshvy3nneHbcysKbS-50">
|
||||
<mxGeometry x="0.0201" y="2" relative="1" as="geometry">
|
||||
<mxPoint y="-1" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-4" value="<font style="font-size: 10px;" face="JetBrains Mono">Noggin service</font>" style="swimlane;whiteSpace=wrap;html=1;rounded=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="200" y="-130" width="240" height="180" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-5" value="<font face="JetBrains Mono"><span style="font-size: 10px;">Authentic<br>check<br>page</span></font>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rounded=1;" vertex="1" parent="AMYYshvy3nneHbcysKbS-4">
|
||||
<mxGeometry x="80" y="40" width="80" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-7" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;curved=1;exitX=1.002;exitY=0.503;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="AMYYshvy3nneHbcysKbS-1" target="AMYYshvy3nneHbcysKbS-5">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="210" y="180" as="sourcePoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-39" value="<font face="JetBrains Mono" style="font-size: 8px;">Attempting login</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="AMYYshvy3nneHbcysKbS-7">
|
||||
<mxGeometry x="0.0682" y="-1" relative="1" as="geometry">
|
||||
<mxPoint y="-1" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-11" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;curved=1;" edge="1" parent="1" source="AMYYshvy3nneHbcysKbS-5" target="AMYYshvy3nneHbcysKbS-2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-41" value="<font data-font-src="https://fonts.googleapis.com/css?family=JetBrains+Mono" face="JetBrains Mono" style="font-size: 8px;">Login succeeded</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="AMYYshvy3nneHbcysKbS-11">
|
||||
<mxGeometry x="-0.0743" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-29" value="<font style="font-size: 10px;" face="JetBrains Mono">Datagrepper service</font>" style="swimlane;whiteSpace=wrap;html=1;rounded=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="570" y="670" width="240" height="180" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-31" value="<font face="JetBrains Mono"><span style="font-size: 10px;">Message<br>Details</span></font>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rounded=1;" vertex="1" parent="AMYYshvy3nneHbcysKbS-29">
|
||||
<mxGeometry x="80" y="40" width="80" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-51" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=1.002;entryY=0.498;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.457;exitY=1.006;exitDx=0;exitDy=0;exitPerimeter=0;curved=1;" edge="1" parent="1" source="AMYYshvy3nneHbcysKbS-5" target="AMYYshvy3nneHbcysKbS-1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-55" value="<font style="font-size: 8px;" data-font-src="https://fonts.googleapis.com/css?family=JetBrains+Mono" face="JetBrains Mono">Login failed</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="AMYYshvy3nneHbcysKbS-51">
|
||||
<mxGeometry x="-0.2725" y="-20" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-53" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=1.004;entryY=0.538;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.998;exitY=0.502;exitDx=0;exitDy=0;exitPerimeter=0;curved=1;" edge="1" parent="1" source="AMYYshvy3nneHbcysKbS-18" target="AMYYshvy3nneHbcysKbS-31">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="880" y="540" />
|
||||
<mxPoint x="880" y="775" />
|
||||
<mxPoint x="730" y="775" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AMYYshvy3nneHbcysKbS-54" value="<font data-font-src="https://fonts.googleapis.com/css?family=JetBrains+Mono" face="JetBrains Mono" style="font-size: 8px;">Viewing message information</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rounded=1;" vertex="1" connectable="0" parent="AMYYshvy3nneHbcysKbS-53">
|
||||
<mxGeometry x="-0.2645" y="-1" relative="1" as="geometry">
|
||||
<mxPoint y="4" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
108
docs/webhook2fedmsg/frsv.rst
Normal file
108
docs/webhook2fedmsg/frsv.rst
Normal file
|
@ -0,0 +1,108 @@
|
|||
.. _frsv:
|
||||
|
||||
Frontend service
|
||||
================
|
||||
|
||||
The following is an interaction diagram of the pages in the frontend service.
|
||||
|
||||
.. image:: ../_static/w2fm_frsv.svg
|
||||
:target: ../_images/w2fm_frsv.svg
|
||||
|
||||
Suggestion
|
||||
----------
|
||||
|
||||
The use of a progressive web framework is strongly recommended to ensure that
|
||||
the frontend and backend elements of the system are decoupled. It can also help
|
||||
with adding support for a variety of viewport dimensions without having to
|
||||
develop code for each ones in a dedicated fashion. The use of a frontend that
|
||||
uses asynchronous HTTP requests to populate the contents of the DOM can also
|
||||
improve the interaction quality with the said service.
|
||||
|
||||
Furthermore, the client side code can help restrict the number of requests sent
|
||||
to the backend service by setting a global count of API requests possible from
|
||||
the frontend with respect to time. We can expect reduced load on the
|
||||
infrastructure as a result of the said design from the frontend users while the
|
||||
API requests made from the webhook services for event invocation can remain
|
||||
free from such restrictions due to their scheduled nature.
|
||||
|
||||
Pages expected
|
||||
--------------
|
||||
|
||||
The following set of pages can be expected for minimal functionality.
|
||||
|
||||
Please note that more pages can be implemented as per functions requested.
|
||||
|
||||
#. **Landing page**
|
||||
|
||||
a. A minimal page with the name and purpose of the service and a clearly
|
||||
visible login button should suffice.
|
||||
b. Clicking on the login button should take people to the Fedora Account
|
||||
System landing page for the access.
|
||||
c. This is only visible to people who have not yet logged into the service
|
||||
or have not yet signed up for it.
|
||||
|
||||
#. **Listing page**
|
||||
|
||||
a. A minimal page with a list of existing services associated with the user
|
||||
and a button for adding new services should help.
|
||||
b. Clicking on the aforementioned button should lead people to the page for
|
||||
adding new services.
|
||||
c. Clicking on the gear icon beside an existing service element should take
|
||||
them to the page where it can be updated.
|
||||
d. Clicking on the message icon beside an existing service element should
|
||||
take them to the associated messages page.
|
||||
e. Clicking on the log out button from the avatar icon should revoke access
|
||||
and take the users to the landing page.
|
||||
f. This is only visible to people who have logged in the service and those
|
||||
who have not will see the landing page.
|
||||
|
||||
#. **New service page**
|
||||
|
||||
a. A minimal page with the appropriate fields required to create a new
|
||||
service and buttons to save or cancel should help.
|
||||
b. Pressing the save button should send those contents to the API service
|
||||
and take users to the listing page.
|
||||
c. Pressing the cancel button should not interact with the API service and
|
||||
simply take users to the listing page.
|
||||
d. An alert section or modal should be used to inform users of any issues
|
||||
with the form filled or the response received.
|
||||
e. Clicking on the log out button from the avatar icon should revoke access
|
||||
and take the users to the landing page.
|
||||
f. This is only visible to people who have logged in the service and those
|
||||
who have not will be redirected to the landing page.
|
||||
|
||||
#. **Edit service page**
|
||||
|
||||
a. A minimal page with the appropriate fields required to edit an existing
|
||||
service and buttons to save or cancel should help.
|
||||
b. Pressing the save button should send those contents to the API service
|
||||
and take users to the listing page.
|
||||
c. Pressing the cancel button should not interact with the API service and
|
||||
simply take users to the listing page.
|
||||
d. An alert section or modal should be used to inform users of any issues
|
||||
with the form filled or the response received.
|
||||
e. Clicking on the log out button from the avatar icon should revoke access
|
||||
and take the users to the landing page.
|
||||
f. This is only visible to people who have logged in the service and those
|
||||
who have not will be redirected to the landing page.
|
||||
|
||||
#. **View messages page**
|
||||
|
||||
a. A minimal page with a list of message entries associated with the said
|
||||
service and a back button should help.
|
||||
b. Pressing the back button should not interact with the API service and
|
||||
take the users back to the listing page.
|
||||
c. Clicking on the message should take them to the Datagrepper page
|
||||
associated with the message signature.
|
||||
d. A count of the messages should be available on the header and effective
|
||||
pagination should be implemented.
|
||||
e. Clicking on the log out button from the avatar icon should revoke access
|
||||
and take the users to the landing page.
|
||||
f. This is only visible to people who have logged in the service and those
|
||||
who have not will be redirected to the landing page.
|
||||
|
||||
Recommendations
|
||||
---------------
|
||||
|
||||
1. `VueJS <https://vuejs.org/>`_
|
||||
2. `ReactJS <https://react.dev/>`_
|
Loading…
Add table
Add a link
Reference in a new issue