oc-p10-content-recommendation/docs/mvp_architecture.drawio

74 lines
5.9 KiB
Text

<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" version="28.2.0">
<diagram name="Page-1" id="lPX4fftWSFRPvx1-ms2C">
<mxGraphModel dx="1072" dy="590" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="_P8RtxWXA342eOwfOj1I-1" value="🖥️ Streamlit Dashboard" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="210" y="274" width="80" height="60" as="geometry" />
</mxCell>
<mxCell id="_P8RtxWXA342eOwfOj1I-2" value="&lt;div&gt;🔧 Azure Serverless API (function app)&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="340" y="230" width="460" height="220" as="geometry" />
</mxCell>
<mxCell id="_P8RtxWXA342eOwfOj1I-3" value="&lt;div&gt;☁️ Azure Storage Account&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="340" y="131.51" width="460" height="70" as="geometry" />
</mxCell>
<mxCell id="_P8RtxWXA342eOwfOj1I-6" value="📊 function app logs, metadatas" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="350" y="161.51" width="440" height="30" as="geometry" />
</mxCell>
<mxCell id="_P8RtxWXA342eOwfOj1I-7" value="&lt;div&gt;&lt;div&gt;💾 Local Datas&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="620" y="260" width="170" height="180" as="geometry" />
</mxCell>
<mxCell id="_P8RtxWXA342eOwfOj1I-8" value="&lt;div&gt;📝 Functions&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="360" y="260" width="230" height="180" as="geometry" />
</mxCell>
<mxCell id="_P8RtxWXA342eOwfOj1I-9" value="&lt;div&gt;🛠️ utils&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="370" y="350" width="210" height="80" as="geometry" />
</mxCell>
<mxCell id="_P8RtxWXA342eOwfOj1I-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=open;startFill=0;" edge="1" parent="1" source="_P8RtxWXA342eOwfOj1I-10" target="_P8RtxWXA342eOwfOj1I-9">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="_P8RtxWXA342eOwfOj1I-10" value="🐍 function_app.py" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="370" y="288" width="210" height="32" as="geometry" />
</mxCell>
<mxCell id="_P8RtxWXA342eOwfOj1I-12" value="📂 data_loader.py" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="490" y="380" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="_P8RtxWXA342eOwfOj1I-13" value="🎯 content_based.py" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="380" y="380" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="_P8RtxWXA342eOwfOj1I-15" value="&lt;div&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;🧠 embeddings_azure_50d.pkl&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="630" y="294" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="_P8RtxWXA342eOwfOj1I-16" value="🖱️ clicks_sample.csv" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="630" y="340" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="_P8RtxWXA342eOwfOj1I-17" value="🏷️ articles_metadata.csv" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="630" y="390" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="_P8RtxWXA342eOwfOj1I-18" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=1.002;exitY=0.638;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="_P8RtxWXA342eOwfOj1I-7">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="580" y="401.03999999999996" as="sourcePoint" />
<mxPoint x="618.0500000000001" y="355.76" as="targetPoint" />
<Array as="points">
<mxPoint x="600" y="401" />
<mxPoint x="600" y="350" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_P8RtxWXA342eOwfOj1I-19" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.32;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" target="_P8RtxWXA342eOwfOj1I-2">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="290" y="300.59" as="sourcePoint" />
<mxPoint x="340.4599999999999" y="299.40999999999997" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="_P8RtxWXA342eOwfOj1I-23" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="_P8RtxWXA342eOwfOj1I-2" target="_P8RtxWXA342eOwfOj1I-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="520" y="270" as="sourcePoint" />
<mxPoint x="570" y="220" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>