<mxfile host="app.diagrams.net" modified="2026-04-21T00:00:00.000Z" agent="Codex" version="24.7.17" type="device">
  <diagram id="investment-monitor" name="투자 모니터링 시스템">
    <mxGraphModel dx="1280" dy="720" 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="title" value="투자 모니터링 시스템" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=24;fontStyle=1;fontColor=#1c1917;" vertex="1" parent="1">
          <mxGeometry x="60" y="40" width="360" height="40" as="geometry"/>
        </mxCell>
        <mxCell id="trigger" value="매일 오후 4시&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;Schedule Trigger&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f7f7f7;strokeColor=#78716c;fontColor=#1c1917;arcSize=8;" vertex="1" parent="1">
          <mxGeometry x="70" y="260" width="140" height="70" as="geometry"/>
        </mxCell>
        <mxCell id="kospiApi" value="코스피 API&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;Naver Finance&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#78716c;fontColor=#1c1917;arcSize=8;" vertex="1" parent="1">
          <mxGeometry x="290" y="160" width="150" height="70" as="geometry"/>
        </mxCell>
        <mxCell id="kospiSet" value="코스피 정리&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;현재가/등락률&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#78716c;fontColor=#1c1917;arcSize=8;" vertex="1" parent="1">
          <mxGeometry x="500" y="160" width="150" height="70" as="geometry"/>
        </mxCell>
        <mxCell id="watchlist" value="관심종목 테이블&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;삼성전자, SK하이닉스&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#78716c;fontColor=#1c1917;arcSize=8;" vertex="1" parent="1">
          <mxGeometry x="290" y="360" width="150" height="70" as="geometry"/>
        </mxCell>
        <mxCell id="stockApi" value="종목 시세 API&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;code별 HTTP&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#78716c;fontColor=#1c1917;arcSize=8;" vertex="1" parent="1">
          <mxGeometry x="500" y="360" width="150" height="70" as="geometry"/>
        </mxCell>
        <mxCell id="merge" value="코스피+종목&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;Merge append&lt;/font&gt;" style="rhombus;whiteSpace=wrap;html=1;fillColor=#fbefe9;strokeColor=#b5523a;fontColor=#1c1917;" vertex="1" parent="1">
          <mxGeometry x="730" y="245" width="120" height="100" as="geometry"/>
        </mxCell>
        <mxCell id="ai" value="AI 시장 분석&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;gpt-4o-mini&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fbefe9;strokeColor=#b5523a;fontColor=#1c1917;arcSize=8;" vertex="1" parent="1">
          <mxGeometry x="930" y="260" width="150" height="70" as="geometry"/>
        </mxCell>
        <mxCell id="email" value="HTML 보고서 + Gmail&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;daily report&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#eef4ff;strokeColor=#2563eb;fontColor=#1c1917;arcSize=8;" vertex="1" parent="1">
          <mxGeometry x="1160" y="260" width="160" height="70" as="geometry"/>
        </mxCell>
        <mxCell id="e1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#57534e;endArrow=block;endFill=1;" edge="1" parent="1" source="trigger" target="kospiApi">
          <mxGeometry relative="1" as="geometry"/>
        </mxCell>
        <mxCell id="e2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#57534e;endArrow=block;endFill=1;" edge="1" parent="1" source="trigger" target="watchlist">
          <mxGeometry relative="1" as="geometry"/>
        </mxCell>
        <mxCell id="e3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#57534e;endArrow=block;endFill=1;" edge="1" parent="1" source="kospiApi" target="kospiSet">
          <mxGeometry relative="1" as="geometry"/>
        </mxCell>
        <mxCell id="e4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#57534e;endArrow=block;endFill=1;" edge="1" parent="1" source="watchlist" target="stockApi">
          <mxGeometry relative="1" as="geometry"/>
        </mxCell>
        <mxCell id="e5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#57534e;endArrow=block;endFill=1;" edge="1" parent="1" source="kospiSet" target="merge">
          <mxGeometry relative="1" as="geometry"/>
        </mxCell>
        <mxCell id="e6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#57534e;endArrow=block;endFill=1;" edge="1" parent="1" source="stockApi" target="merge">
          <mxGeometry relative="1" as="geometry"/>
        </mxCell>
        <mxCell id="e7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#b5523a;endArrow=block;endFill=1;strokeWidth=2;" edge="1" parent="1" source="merge" target="ai">
          <mxGeometry relative="1" as="geometry"/>
        </mxCell>
        <mxCell id="e8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563eb;endArrow=block;endFill=1;strokeWidth=2;" edge="1" parent="1" source="ai" target="email">
          <mxGeometry relative="1" as="geometry"/>
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>

