rokumatsumoto/boyutluseyler

View on GitHub
doc/development/db/domain_model.svg

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.42.3 (20191010.1750)
 -->
<!-- Title: Boyutluseyler Pages: 1 -->
<svg width="1902pt" height="959pt"
 viewBox="0.00 0.00 1901.60 958.60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(28.8 929.8)">
<title>Boyutluseyler</title>
<polygon fill="white" stroke="transparent" points="-28.8,28.8 -28.8,-929.8 1872.8,-929.8 1872.8,28.8 -28.8,28.8"/>
<text text-anchor="middle" x="922" y="-886.6" font-family="Arial BoldMT" font-size="13.00">Boyutluseyler domain model</text>
<!-- m_Ahoy::Event -->
<g id="node1" class="node">
<title>m_Ahoy::Event</title>
<path fill="none" stroke="black" d="M1278,-92.5C1278,-92.5 1398,-92.5 1398,-92.5 1404,-92.5 1410,-98.5 1410,-104.5 1410,-104.5 1410,-174.5 1410,-174.5 1410,-180.5 1404,-186.5 1398,-186.5 1398,-186.5 1278,-186.5 1278,-186.5 1272,-186.5 1266,-180.5 1266,-174.5 1266,-174.5 1266,-104.5 1266,-104.5 1266,-98.5 1272,-92.5 1278,-92.5"/>
<text text-anchor="start" x="1306.34" y="-173.2" font-family="Arial BoldMT" font-size="11.00">Ahoy::Event</text>
<polyline fill="none" stroke="black" points="1266,-167.5 1410,-167.5 "/>
<text text-anchor="start" x="1273" y="-154" font-family="ArialMT" font-size="10.00">name </text>
<text text-anchor="start" x="1300.79" y="-154" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1273" y="-141" font-family="ArialMT" font-size="10.00">properties </text>
<text text-anchor="start" x="1320.25" y="-141" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">jsonb</text>
<text text-anchor="start" x="1273" y="-128" font-family="ArialMT" font-size="10.00">time </text>
<text text-anchor="start" x="1294.67" y="-128" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">datetime</text>
<text text-anchor="start" x="1273" y="-115" font-family="ArialMT" font-size="10.00">user_id </text>
<text text-anchor="start" x="1308.58" y="-115" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) FK</text>
<text text-anchor="start" x="1273" y="-102" font-family="ArialMT" font-size="10.00">visit_id </text>
<text text-anchor="start" x="1306.34" y="-102" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) FK</text>
</g>
<!-- m_Ahoy::Visit -->
<g id="node2" class="node">
<title>m_Ahoy::Visit</title>
<path fill="none" stroke="black" d="M1394,-223.5C1394,-223.5 1514,-223.5 1514,-223.5 1520,-223.5 1526,-229.5 1526,-235.5 1526,-235.5 1526,-500.5 1526,-500.5 1526,-506.5 1520,-512.5 1514,-512.5 1514,-512.5 1394,-512.5 1394,-512.5 1388,-512.5 1382,-506.5 1382,-500.5 1382,-500.5 1382,-235.5 1382,-235.5 1382,-229.5 1388,-223.5 1394,-223.5"/>
<text text-anchor="start" x="1426.11" y="-499.2" font-family="Arial BoldMT" font-size="11.00">Ahoy::Visit</text>
<polyline fill="none" stroke="black" points="1382,-493.5 1526,-493.5 "/>
<text text-anchor="start" x="1389" y="-480.5" font-family="ArialMT" font-size="10.00">app_version </text>
<text text-anchor="start" x="1446.26" y="-480.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1389" y="-467.5" font-family="ArialMT" font-size="10.00">browser </text>
<text text-anchor="start" x="1427.34" y="-467.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1389" y="-454.5" font-family="ArialMT" font-size="10.00">device_type </text>
<text text-anchor="start" x="1445.15" y="-454.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1389" y="-441.5" font-family="ArialMT" font-size="10.00">ip </text>
<text text-anchor="start" x="1399.56" y="-441.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1389" y="-428.5" font-family="ArialMT" font-size="10.00">landing_page </text>
<text text-anchor="start" x="1451.84" y="-428.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">text</text>
<text text-anchor="start" x="1389" y="-415.5" font-family="ArialMT" font-size="10.00">os </text>
<text text-anchor="start" x="1402.34" y="-415.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1389" y="-402.5" font-family="ArialMT" font-size="10.00">os_version </text>
<text text-anchor="start" x="1440.14" y="-402.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1389" y="-389.5" font-family="ArialMT" font-size="10.00">platform </text>
<text text-anchor="start" x="1427.9" y="-389.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1389" y="-376.5" font-family="ArialMT" font-size="10.00">referrer </text>
<text text-anchor="start" x="1424.56" y="-376.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">text</text>
<text text-anchor="start" x="1389" y="-363.5" font-family="ArialMT" font-size="10.00">referring_domain </text>
<text text-anchor="start" x="1467.37" y="-363.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1389" y="-350.5" font-family="ArialMT" font-size="10.00">started_at </text>
<text text-anchor="start" x="1436.25" y="-350.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">datetime</text>
<text text-anchor="start" x="1389" y="-337.5" font-family="ArialMT" font-size="10.00">user_agent </text>
<text text-anchor="start" x="1441.82" y="-337.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">text</text>
<text text-anchor="start" x="1389" y="-324.5" font-family="ArialMT" font-size="10.00">user_id </text>
<text text-anchor="start" x="1424.58" y="-324.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) FK</text>
<text text-anchor="start" x="1389" y="-311.5" font-family="ArialMT" font-size="10.00">utm_campaign </text>
<text text-anchor="start" x="1457.37" y="-311.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1389" y="-298.5" font-family="ArialMT" font-size="10.00">utm_content </text>
<text text-anchor="start" x="1446.81" y="-298.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1389" y="-285.5" font-family="ArialMT" font-size="10.00">utm_medium </text>
<text text-anchor="start" x="1449.58" y="-285.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1389" y="-272.5" font-family="ArialMT" font-size="10.00">utm_source </text>
<text text-anchor="start" x="1444.02" y="-272.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1389" y="-259.5" font-family="ArialMT" font-size="10.00">utm_term </text>
<text text-anchor="start" x="1434.01" y="-259.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1389" y="-246.5" font-family="ArialMT" font-size="10.00">visit_token </text>
<text text-anchor="start" x="1439.02" y="-246.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1389" y="-233.5" font-family="ArialMT" font-size="10.00">visitor_token </text>
<text text-anchor="start" x="1447.92" y="-233.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
</g>
<!-- m_Ahoy::Visit&#45;&gt;m_Ahoy::Event -->
<g id="edge14" class="edge">
<title>m_Ahoy::Visit&#45;&gt;m_Ahoy::Event</title>
<path fill="none" stroke="black" d="M1381.85,-226.13C1376.24,-215.17 1370.81,-204.57 1365.8,-194.79"/>
<polygon fill="black" stroke="black" points="1368.6,-193.35 1361.7,-186.77 1363,-196.22 1368.6,-193.35"/>
</g>
<!-- m_Blueprint -->
<g id="node3" class="node">
<title>m_Blueprint</title>
<path fill="none" stroke="black" d="M185,-314.5C185,-314.5 305,-314.5 305,-314.5 311,-314.5 317,-320.5 317,-326.5 317,-326.5 317,-409.5 317,-409.5 317,-415.5 311,-421.5 305,-421.5 305,-421.5 185,-421.5 185,-421.5 179,-421.5 173,-415.5 173,-409.5 173,-409.5 173,-326.5 173,-326.5 173,-320.5 179,-314.5 185,-314.5"/>
<text text-anchor="start" x="221.29" y="-408.2" font-family="Arial BoldMT" font-size="11.00">Blueprint</text>
<polyline fill="none" stroke="black" points="173,-402.5 317,-402.5 "/>
<text text-anchor="start" x="180" y="-389.5" font-family="ArialMT" font-size="10.00">content_type </text>
<text text-anchor="start" x="240.04" y="-389.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="180" y="-376.5" font-family="ArialMT" font-size="10.00">preview </text>
<text text-anchor="start" x="217.24" y="-376.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">boolean</text>
<text text-anchor="start" x="180" y="-363.5" font-family="ArialMT" font-size="10.00">size </text>
<text text-anchor="start" x="200.56" y="-363.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer ∗</text>
<text text-anchor="start" x="180" y="-350.5" font-family="ArialMT" font-size="10.00">thumb_url </text>
<text text-anchor="start" x="227.25" y="-350.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="180" y="-337.5" font-family="ArialMT" font-size="10.00">url </text>
<text text-anchor="start" x="193.89" y="-337.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="180" y="-324.5" font-family="ArialMT" font-size="10.00">url_path </text>
<text text-anchor="start" x="218.92" y="-324.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
</g>
<!-- m_DesignBlueprint -->
<g id="node6" class="node">
<title>m_DesignBlueprint</title>
<path fill="none" stroke="black" d="M185,-105.5C185,-105.5 305,-105.5 305,-105.5 311,-105.5 317,-111.5 317,-117.5 317,-117.5 317,-161.5 317,-161.5 317,-167.5 311,-173.5 305,-173.5 305,-173.5 185,-173.5 185,-173.5 179,-173.5 173,-167.5 173,-161.5 173,-161.5 173,-117.5 173,-117.5 173,-111.5 179,-105.5 185,-105.5"/>
<text text-anchor="start" x="204.17" y="-160.2" font-family="Arial BoldMT" font-size="11.00">DesignBlueprint</text>
<polyline fill="none" stroke="black" points="173,-154.5 317,-154.5 "/>
<text text-anchor="start" x="180" y="-141" font-family="ArialMT" font-size="10.00">blueprint_id </text>
<text text-anchor="start" x="234.48" y="-141" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
<text text-anchor="start" x="180" y="-128" font-family="ArialMT" font-size="10.00">design_id </text>
<text text-anchor="start" x="225.59" y="-128" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
<text text-anchor="start" x="180" y="-115" font-family="ArialMT" font-size="10.00">position </text>
<text text-anchor="start" x="217.25" y="-115" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer</text>
</g>
<!-- m_Blueprint&#45;&gt;m_DesignBlueprint -->
<g id="edge17" class="edge">
<title>m_Blueprint&#45;&gt;m_DesignBlueprint</title>
<path fill="none" stroke="black" d="M245,-314.47C245,-271.08 245,-210.81 245,-173.8"/>
</g>
<!-- m_Category -->
<g id="node4" class="node">
<title>m_Category</title>
<path fill="none" stroke="black" d="M444,-666.5C444,-666.5 564,-666.5 564,-666.5 570,-666.5 576,-672.5 576,-678.5 576,-678.5 576,-735.5 576,-735.5 576,-741.5 570,-747.5 564,-747.5 564,-747.5 444,-747.5 444,-747.5 438,-747.5 432,-741.5 432,-735.5 432,-735.5 432,-678.5 432,-678.5 432,-672.5 438,-666.5 444,-666.5"/>
<text text-anchor="start" x="479.68" y="-734.2" font-family="Arial BoldMT" font-size="11.00">Category</text>
<polyline fill="none" stroke="black" points="432,-728.5 576,-728.5 "/>
<text text-anchor="start" x="439" y="-715.5" font-family="ArialMT" font-size="10.00">description </text>
<text text-anchor="start" x="490.14" y="-715.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">text</text>
<text text-anchor="start" x="439" y="-702.5" font-family="ArialMT" font-size="10.00">list_order </text>
<text text-anchor="start" x="482.91" y="-702.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (2)</text>
<text text-anchor="start" x="439" y="-689.5" font-family="ArialMT" font-size="10.00">name </text>
<text text-anchor="start" x="466.79" y="-689.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string (50) ∗</text>
<text text-anchor="start" x="439" y="-676.5" font-family="ArialMT" font-size="10.00">slug </text>
<text text-anchor="start" x="460.12" y="-676.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
</g>
<!-- m_Design -->
<g id="node5" class="node">
<title>m_Design</title>
<path fill="none" stroke="black" d="M426.5,-249.5C426.5,-249.5 581.5,-249.5 581.5,-249.5 587.5,-249.5 593.5,-255.5 593.5,-261.5 593.5,-261.5 593.5,-474.5 593.5,-474.5 593.5,-480.5 587.5,-486.5 581.5,-486.5 581.5,-486.5 426.5,-486.5 426.5,-486.5 420.5,-486.5 414.5,-480.5 414.5,-474.5 414.5,-474.5 414.5,-261.5 414.5,-261.5 414.5,-255.5 420.5,-249.5 426.5,-249.5"/>
<text text-anchor="start" x="484.88" y="-473.2" font-family="Arial BoldMT" font-size="11.00">Design</text>
<polyline fill="none" stroke="black" points="414.5,-467.5 593.5,-467.5 "/>
<text text-anchor="start" x="422" y="-454.5" font-family="ArialMT" font-size="10.00">allow_comments </text>
<text text-anchor="start" x="499.25" y="-454.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">boolean ∗</text>
<text text-anchor="start" x="422" y="-441.5" font-family="ArialMT" font-size="10.00">cached_tag_names </text>
<text text-anchor="start" x="512.06" y="-441.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">text</text>
<text text-anchor="start" x="422" y="-428.5" font-family="ArialMT" font-size="10.00">category_id </text>
<text text-anchor="start" x="476.48" y="-428.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
<text text-anchor="start" x="422" y="-415.5" font-family="ArialMT" font-size="10.00">description </text>
<text text-anchor="start" x="473.14" y="-415.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">text ∗</text>
<text text-anchor="start" x="422" y="-402.5" font-family="ArialMT" font-size="10.00">downloads_count </text>
<text text-anchor="start" x="502.62" y="-402.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer ∗</text>
<text text-anchor="start" x="422" y="-389.5" font-family="ArialMT" font-size="10.00">home_popular_at </text>
<text text-anchor="start" x="502.62" y="-389.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">datetime</text>
<text text-anchor="start" x="422" y="-376.5" font-family="ArialMT" font-size="10.00">hourly_downloads_count </text>
<text text-anchor="start" x="535.41" y="-376.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">float ∗</text>
<text text-anchor="start" x="421.67" y="-363.5" font-family="ArialMT" font-size="10.00">hourly_downloads_count_at </text>
<text text-anchor="start" x="548.98" y="-363.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">datetime</text>
<text text-anchor="start" x="422" y="-350.5" font-family="ArialMT" font-size="10.00">license_type </text>
<text text-anchor="start" x="480.37" y="-350.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="422" y="-337.5" font-family="ArialMT" font-size="10.00">likes_count </text>
<text text-anchor="start" x="474.81" y="-337.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer ∗</text>
<text text-anchor="start" x="422" y="-324.5" font-family="ArialMT" font-size="10.00">model_file_format </text>
<text text-anchor="start" x="504.26" y="-324.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="422" y="-311.5" font-family="ArialMT" font-size="10.00">name </text>
<text text-anchor="start" x="449.79" y="-311.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string (120) ∗</text>
<text text-anchor="start" x="422" y="-298.5" font-family="ArialMT" font-size="10.00">popularity_score </text>
<text text-anchor="start" x="498.15" y="-298.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">float ∗</text>
<text text-anchor="start" x="422" y="-285.5" font-family="ArialMT" font-size="10.00">printing_settings </text>
<text text-anchor="start" x="497.6" y="-285.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">text</text>
<text text-anchor="start" x="422" y="-272.5" font-family="ArialMT" font-size="10.00">slug </text>
<text text-anchor="start" x="443.12" y="-272.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="422" y="-259.5" font-family="ArialMT" font-size="10.00">user_id </text>
<text text-anchor="start" x="457.58" y="-259.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
</g>
<!-- m_Category&#45;&gt;m_Design -->
<g id="edge18" class="edge">
<title>m_Category&#45;&gt;m_Design</title>
<path fill="none" stroke="black" d="M504,-666.35C504,-624.56 504,-556.55 504,-496.11"/>
<polygon fill="black" stroke="black" points="507.15,-495.87 504,-486.87 500.85,-495.87 507.15,-495.87"/>
</g>
<!-- m_FriendlyId::Slug -->
<g id="node9" class="node">
<title>m_FriendlyId::Slug</title>
<path fill="none" stroke="black" d="M12,-99C12,-99 132,-99 132,-99 138,-99 144,-105 144,-111 144,-111 144,-168 144,-168 144,-174 138,-180 132,-180 132,-180 12,-180 12,-180 6,-180 0,-174 0,-168 0,-168 0,-111 0,-111 0,-105 6,-99 12,-99"/>
<text text-anchor="start" x="31.79" y="-166.7" font-family="Arial BoldMT" font-size="11.00">FriendlyId::Slug</text>
<polyline fill="none" stroke="black" points="0,-161 144,-161 "/>
<text text-anchor="start" x="7" y="-148" font-family="ArialMT" font-size="10.00">scope </text>
<text text-anchor="start" x="36.46" y="-148" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="7" y="-135" font-family="ArialMT" font-size="10.00">slug </text>
<text text-anchor="start" x="28.12" y="-135" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="7" y="-122" font-family="ArialMT" font-size="10.00">sluggable_id </text>
<text text-anchor="start" x="65.94" y="-122" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer ∗ FK</text>
<text text-anchor="start" x="7" y="-109" font-family="ArialMT" font-size="10.00">sluggable_type </text>
<text text-anchor="start" x="77.05" y="-109" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string (50)</text>
</g>
<!-- m_Category&#45;&gt;m_FriendlyId::Slug -->
<g id="edge1" class="edge">
<title>m_Category&#45;&gt;m_FriendlyId::Slug</title>
<path fill="none" stroke="black" d="M431.93,-685.3C352.47,-658.66 226.8,-604.55 158,-513 84.78,-415.56 72.35,-266.23 71.18,-189.6"/>
<polygon fill="black" stroke="black" points="74.32,-189.14 71.09,-180.17 68.02,-189.2 74.32,-189.14"/>
</g>
<!-- m_Design&#45;&gt;m_Ahoy::Event -->
<g id="edge15" class="edge">
<title>m_Design&#45;&gt;m_Ahoy::Event</title>
<path fill="none" stroke="black" d="M574.22,-249.41C584.4,-239.13 595.66,-230 608,-223 688.52,-177.33 931.06,-197.76 1023,-187 1102.67,-177.67 1193.24,-163.98 1256.74,-153.86"/>
<polygon fill="black" stroke="black" points="1257.52,-156.93 1265.91,-152.4 1256.53,-150.71 1257.52,-156.93"/>
</g>
<!-- m_Design&#45;&gt;m_DesignBlueprint -->
<g id="edge23" class="edge">
<title>m_Design&#45;&gt;m_DesignBlueprint</title>
<path fill="none" stroke="black" d="M414.14,-288.42C372.27,-251.8 324.27,-209.82 290.13,-179.97"/>
<polygon fill="black" stroke="black" points="291.91,-177.34 283.06,-173.78 287.76,-182.08 291.91,-177.34"/>
</g>
<!-- m_DesignDownload -->
<g id="node7" class="node">
<title>m_DesignDownload</title>
<path fill="none" stroke="black" d="M358,-105.5C358,-105.5 478,-105.5 478,-105.5 484,-105.5 490,-111.5 490,-117.5 490,-117.5 490,-161.5 490,-161.5 490,-167.5 484,-173.5 478,-173.5 478,-173.5 358,-173.5 358,-173.5 352,-173.5 346,-167.5 346,-161.5 346,-161.5 346,-117.5 346,-117.5 346,-111.5 352,-105.5 358,-105.5"/>
<text text-anchor="start" x="374.42" y="-160.2" font-family="Arial BoldMT" font-size="11.00">DesignDownload</text>
<polyline fill="none" stroke="black" points="346,-154.5 490,-154.5 "/>
<text text-anchor="start" x="353" y="-141" font-family="ArialMT" font-size="10.00">design_id </text>
<text text-anchor="start" x="398.59" y="-141" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
<text text-anchor="start" x="353" y="-128" font-family="ArialMT" font-size="10.00">step </text>
<text text-anchor="start" x="374.68" y="-128" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string (50) ∗</text>
<text text-anchor="start" x="353" y="-115" font-family="ArialMT" font-size="10.00">url </text>
<text text-anchor="start" x="366.89" y="-115" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
</g>
<!-- m_Design&#45;&gt;m_DesignDownload -->
<g id="edge25" class="edge">
<title>m_Design&#45;&gt;m_DesignDownload</title>
<path fill="none" stroke="black" d="M459.36,-249.44C448.81,-221.65 438.39,-194.2 430.65,-173.81"/>
</g>
<!-- m_DesignIllustration -->
<g id="node8" class="node">
<title>m_DesignIllustration</title>
<path fill="none" stroke="black" d="M704,-105.5C704,-105.5 824,-105.5 824,-105.5 830,-105.5 836,-111.5 836,-117.5 836,-117.5 836,-161.5 836,-161.5 836,-167.5 830,-173.5 824,-173.5 824,-173.5 704,-173.5 704,-173.5 698,-173.5 692,-167.5 692,-161.5 692,-161.5 692,-117.5 692,-117.5 692,-111.5 698,-105.5 704,-105.5"/>
<text text-anchor="start" x="719.81" y="-160.2" font-family="Arial BoldMT" font-size="11.00">DesignIllustration</text>
<polyline fill="none" stroke="black" points="692,-154.5 836,-154.5 "/>
<text text-anchor="start" x="699" y="-141" font-family="ArialMT" font-size="10.00">design_id </text>
<text text-anchor="start" x="744.59" y="-141" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
<text text-anchor="start" x="699" y="-128" font-family="ArialMT" font-size="10.00">illustration_id </text>
<text text-anchor="start" x="760.14" y="-128" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
<text text-anchor="start" x="699" y="-115" font-family="ArialMT" font-size="10.00">position </text>
<text text-anchor="start" x="736.25" y="-115" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer</text>
</g>
<!-- m_Design&#45;&gt;m_DesignIllustration -->
<g id="edge21" class="edge">
<title>m_Design&#45;&gt;m_DesignIllustration</title>
<path fill="none" stroke="black" d="M581.57,-249.32C589.94,-239.91 598.79,-230.97 608,-223 634.16,-200.37 646.41,-203.15 677,-187 682.62,-184.03 688.44,-180.95 694.29,-177.84"/>
<polygon fill="black" stroke="black" points="695.79,-180.61 702.26,-173.6 692.83,-175.05 695.79,-180.61"/>
</g>
<!-- m_Design&#45;&gt;m_FriendlyId::Slug -->
<g id="edge2" class="edge">
<title>m_Design&#45;&gt;m_FriendlyId::Slug</title>
<path fill="none" stroke="black" d="M414.24,-278.29C389.01,-257.43 360.39,-237.18 331,-223 260.27,-188.86 231.76,-213.96 158,-187 155.21,-185.98 152.4,-184.88 149.58,-183.72"/>
<polygon fill="black" stroke="black" points="150.65,-180.75 141.14,-180.07 148.15,-186.53 150.65,-180.75"/>
</g>
<!-- m_Gutentag::Tag -->
<g id="node10" class="node">
<title>m_Gutentag::Tag</title>
<path fill="none" stroke="black" d="M808,-340.5C808,-340.5 928,-340.5 928,-340.5 934,-340.5 940,-346.5 940,-352.5 940,-352.5 940,-383.5 940,-383.5 940,-389.5 934,-395.5 928,-395.5 928,-395.5 808,-395.5 808,-395.5 802,-395.5 796,-389.5 796,-383.5 796,-383.5 796,-352.5 796,-352.5 796,-346.5 802,-340.5 808,-340.5"/>
<text text-anchor="start" x="831.45" y="-382.2" font-family="Arial BoldMT" font-size="11.00">Gutentag::Tag</text>
<polyline fill="none" stroke="black" points="796,-376.5 940,-376.5 "/>
<text text-anchor="start" x="803" y="-363.5" font-family="ArialMT" font-size="10.00">name </text>
<text text-anchor="start" x="830.79" y="-363.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗ U</text>
<text text-anchor="start" x="803" y="-350.5" font-family="ArialMT" font-size="10.00">taggings_count </text>
<text text-anchor="start" x="873.61" y="-350.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) ∗</text>
</g>
<!-- m_Design&#45;&gt;m_Gutentag::Tag -->
<g id="edge19" class="edge">
<title>m_Design&#45;&gt;m_Gutentag::Tag</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M567.82,-486.8C583.16,-504.89 601.36,-520.88 622.5,-531 651.37,-544.81 737.63,-544.81 766.5,-531 816.82,-506.92 844.73,-444.67 858.02,-404.44"/>
<polygon fill="black" stroke="black" points="861.07,-405.25 860.79,-395.72 855.06,-403.34 861.07,-405.25"/>
</g>
<!-- m_Gutentag::Tagging -->
<g id="node11" class="node">
<title>m_Gutentag::Tagging</title>
<path fill="none" stroke="black" d="M877,-105.5C877,-105.5 997,-105.5 997,-105.5 1003,-105.5 1009,-111.5 1009,-117.5 1009,-117.5 1009,-161.5 1009,-161.5 1009,-167.5 1003,-173.5 997,-173.5 997,-173.5 877,-173.5 877,-173.5 871,-173.5 865,-167.5 865,-161.5 865,-161.5 865,-117.5 865,-117.5 865,-111.5 871,-105.5 877,-105.5"/>
<text text-anchor="start" x="890.05" y="-160.2" font-family="Arial BoldMT" font-size="11.00">Gutentag::Tagging</text>
<polyline fill="none" stroke="black" points="865,-154.5 1009,-154.5 "/>
<text text-anchor="start" x="872" y="-141" font-family="ArialMT" font-size="10.00">tag_id </text>
<text text-anchor="start" x="902.02" y="-141" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
<text text-anchor="start" x="872" y="-128" font-family="ArialMT" font-size="10.00">taggable_id </text>
<text text-anchor="start" x="926.49" y="-128" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
<text text-anchor="start" x="872" y="-115" font-family="ArialMT" font-size="10.00">taggable_type </text>
<text text-anchor="start" x="937.61" y="-115" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
</g>
<!-- m_Design&#45;&gt;m_Gutentag::Tagging -->
<g id="edge4" class="edge">
<title>m_Design&#45;&gt;m_Gutentag::Tagging</title>
<path fill="none" stroke="black" d="M575.33,-249.48C585.24,-239.34 596.14,-230.21 608,-223 700.9,-166.49 746.76,-221.13 850,-187 857.76,-184.43 865.65,-181.21 873.36,-177.66"/>
<polygon fill="black" stroke="black" points="874.87,-180.42 881.63,-173.69 872.15,-174.74 874.87,-180.42"/>
</g>
<!-- m_Illustration -->
<g id="node13" class="node">
<title>m_Illustration</title>
<path fill="none" stroke="black" d="M635,-308C635,-308 755,-308 755,-308 761,-308 767,-314 767,-320 767,-320 767,-416 767,-416 767,-422 761,-428 755,-428 755,-428 635,-428 635,-428 629,-428 623,-422 623,-416 623,-416 623,-320 623,-320 623,-314 629,-308 635,-308"/>
<text text-anchor="start" x="667.93" y="-414.7" font-family="Arial BoldMT" font-size="11.00">Illustration</text>
<polyline fill="none" stroke="black" points="623,-409 767,-409 "/>
<text text-anchor="start" x="630" y="-395.5" font-family="ArialMT" font-size="10.00">content_type </text>
<text text-anchor="start" x="690.04" y="-395.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="630" y="-382.5" font-family="ArialMT" font-size="10.00">large_url </text>
<text text-anchor="start" x="671.69" y="-382.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="630" y="-369.5" font-family="ArialMT" font-size="10.00">medium_url </text>
<text text-anchor="start" x="685.02" y="-369.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="630" y="-356.5" font-family="ArialMT" font-size="10.00">size </text>
<text text-anchor="start" x="650.56" y="-356.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer ∗</text>
<text text-anchor="start" x="630" y="-343.5" font-family="ArialMT" font-size="10.00">thumb_url </text>
<text text-anchor="start" x="677.25" y="-343.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="630" y="-330.5" font-family="ArialMT" font-size="10.00">url </text>
<text text-anchor="start" x="643.89" y="-330.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="630" y="-317.5" font-family="ArialMT" font-size="10.00">url_path </text>
<text text-anchor="start" x="668.92" y="-317.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
</g>
<!-- m_Role -->
<g id="node14" class="node">
<title>m_Role</title>
<path fill="none" stroke="black" d="M531,-105.5C531,-105.5 651,-105.5 651,-105.5 657,-105.5 663,-111.5 663,-117.5 663,-117.5 663,-161.5 663,-161.5 663,-167.5 657,-173.5 651,-173.5 651,-173.5 531,-173.5 531,-173.5 525,-173.5 519,-167.5 519,-161.5 519,-161.5 519,-117.5 519,-117.5 519,-111.5 525,-105.5 531,-105.5"/>
<text text-anchor="start" x="577.69" y="-160.2" font-family="Arial BoldMT" font-size="11.00">Role</text>
<polyline fill="none" stroke="black" points="519,-154.5 663,-154.5 "/>
<text text-anchor="start" x="526" y="-141" font-family="ArialMT" font-size="10.00">name </text>
<text text-anchor="start" x="553.79" y="-141" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="526" y="-128" font-family="ArialMT" font-size="10.00">resource_id </text>
<text text-anchor="start" x="581.03" y="-128" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) FK</text>
<text text-anchor="start" x="526" y="-115" font-family="ArialMT" font-size="10.00">resource_type </text>
<text text-anchor="start" x="592.15" y="-115" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
</g>
<!-- m_Design&#45;&gt;m_Role -->
<g id="edge20" class="edge">
<title>m_Design&#45;&gt;m_Role</title>
<path fill="none" stroke="black" d="M549.16,-249.44C558.41,-225.34 567.57,-201.5 574.95,-182.29"/>
<polygon fill="black" stroke="black" points="577.92,-183.34 578.2,-173.81 572.04,-181.08 577.92,-183.34"/>
</g>
<!-- m_Gutentag::Tag&#45;&gt;m_Gutentag::Tagging -->
<g id="edge3" class="edge">
<title>m_Gutentag::Tag&#45;&gt;m_Gutentag::Tagging</title>
<path fill="none" stroke="black" d="M876.19,-340.13C888.07,-301.13 910.2,-228.48 924.23,-182.41"/>
<polygon fill="black" stroke="black" points="927.32,-183.09 926.93,-173.57 921.29,-181.26 927.32,-183.09"/>
</g>
<!-- m_Identity -->
<g id="node12" class="node">
<title>m_Identity</title>
<path fill="none" stroke="black" d="M981,-327.5C981,-327.5 1101,-327.5 1101,-327.5 1107,-327.5 1113,-333.5 1113,-339.5 1113,-339.5 1113,-396.5 1113,-396.5 1113,-402.5 1107,-408.5 1101,-408.5 1101,-408.5 981,-408.5 981,-408.5 975,-408.5 969,-402.5 969,-396.5 969,-396.5 969,-339.5 969,-339.5 969,-333.5 975,-327.5 981,-327.5"/>
<text text-anchor="start" x="1021.27" y="-395.2" font-family="Arial BoldMT" font-size="11.00">Identity</text>
<polyline fill="none" stroke="black" points="969,-389.5 1113,-389.5 "/>
<text text-anchor="start" x="976" y="-376.5" font-family="ArialMT" font-size="10.00">auth_data_dump </text>
<text text-anchor="start" x="1053.84" y="-376.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">text</text>
<text text-anchor="start" x="976" y="-363.5" font-family="ArialMT" font-size="10.00">provider </text>
<text text-anchor="start" x="1014.91" y="-363.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="976" y="-350.5" font-family="ArialMT" font-size="10.00">uid </text>
<text text-anchor="start" x="992.12" y="-350.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="976" y="-337.5" font-family="ArialMT" font-size="10.00">user_id </text>
<text text-anchor="start" x="1011.58" y="-337.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) FK</text>
</g>
<!-- m_Illustration&#45;&gt;m_DesignIllustration -->
<g id="edge26" class="edge">
<title>m_Illustration&#45;&gt;m_DesignIllustration</title>
<path fill="none" stroke="black" d="M713.04,-307.79C726.06,-265.06 743.16,-208.92 753.86,-173.77"/>
</g>
<!-- m_UsersRole -->
<g id="node20" class="node">
<title>m_UsersRole</title>
<path fill="none" stroke="black" d="M986,-0.5C986,-0.5 1106,-0.5 1106,-0.5 1112,-0.5 1118,-6.5 1118,-12.5 1118,-12.5 1118,-43.5 1118,-43.5 1118,-49.5 1112,-55.5 1106,-55.5 1106,-55.5 986,-55.5 986,-55.5 980,-55.5 974,-49.5 974,-43.5 974,-43.5 974,-12.5 974,-12.5 974,-6.5 980,-0.5 986,-0.5"/>
<text text-anchor="start" x="1018.33" y="-42.2" font-family="Arial BoldMT" font-size="11.00">UsersRole</text>
<polyline fill="none" stroke="black" points="974,-36.5 1118,-36.5 "/>
<text text-anchor="start" x="981" y="-23.5" font-family="ArialMT" font-size="10.00">role_id </text>
<text text-anchor="start" x="1013.8" y="-23.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
<text text-anchor="start" x="981" y="-10.5" font-family="ArialMT" font-size="10.00">user_id </text>
<text text-anchor="start" x="1016.58" y="-10.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
</g>
<!-- m_Role&#45;&gt;m_UsersRole -->
<g id="edge27" class="edge">
<title>m_Role&#45;&gt;m_UsersRole</title>
<path fill="none" stroke="black" d="M645.77,-105.48C655.89,-100.37 666.57,-95.6 677,-92 772.78,-58.94 888.76,-42.78 964.81,-35.2"/>
<polygon fill="black" stroke="black" points="965.23,-38.32 973.89,-34.32 964.62,-32.05 965.23,-38.32"/>
</g>
<!-- m_Sail::Entry -->
<g id="node15" class="node">
<title>m_Sail::Entry</title>
<path fill="none" stroke="black" d="M1626,-334C1626,-334 1746,-334 1746,-334 1752,-334 1758,-340 1758,-346 1758,-346 1758,-390 1758,-390 1758,-396 1752,-402 1746,-402 1746,-402 1626,-402 1626,-402 1620,-402 1614,-396 1614,-390 1614,-390 1614,-346 1614,-346 1614,-340 1620,-334 1626,-334"/>
<text text-anchor="start" x="1658.94" y="-388.7" font-family="Arial BoldMT" font-size="11.00">Sail::Entry</text>
<polyline fill="none" stroke="black" points="1614,-383 1758,-383 "/>
<text text-anchor="start" x="1621" y="-369.5" font-family="ArialMT" font-size="10.00">profile_id </text>
<text text-anchor="start" x="1664.36" y="-369.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) FK</text>
<text text-anchor="start" x="1621" y="-356.5" font-family="ArialMT" font-size="10.00">setting_id </text>
<text text-anchor="start" x="1666.59" y="-356.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) FK</text>
<text text-anchor="start" x="1621" y="-343.5" font-family="ArialMT" font-size="10.00">value </text>
<text text-anchor="start" x="1647.68" y="-343.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
</g>
<!-- m_Sail::Profile -->
<g id="node16" class="node">
<title>m_Sail::Profile</title>
<path fill="none" stroke="black" d="M1539,-679.5C1539,-679.5 1659,-679.5 1659,-679.5 1665,-679.5 1671,-685.5 1671,-691.5 1671,-691.5 1671,-722.5 1671,-722.5 1671,-728.5 1665,-734.5 1659,-734.5 1659,-734.5 1539,-734.5 1539,-734.5 1533,-734.5 1527,-728.5 1527,-722.5 1527,-722.5 1527,-691.5 1527,-691.5 1527,-685.5 1533,-679.5 1539,-679.5"/>
<text text-anchor="start" x="1569.18" y="-721.2" font-family="Arial BoldMT" font-size="11.00">Sail::Profile</text>
<polyline fill="none" stroke="black" points="1527,-715.5 1671,-715.5 "/>
<text text-anchor="start" x="1534" y="-702.5" font-family="ArialMT" font-size="10.00">active </text>
<text text-anchor="start" x="1562.9" y="-702.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">boolean</text>
<text text-anchor="start" x="1534" y="-689.5" font-family="ArialMT" font-size="10.00">name </text>
<text text-anchor="start" x="1561.79" y="-689.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗ U</text>
</g>
<!-- m_Sail::Profile&#45;&gt;m_Sail::Entry -->
<g id="edge6" class="edge">
<title>m_Sail::Profile&#45;&gt;m_Sail::Entry</title>
<path fill="none" stroke="black" d="M1605.9,-679.27C1620.98,-620.87 1656.96,-481.47 1675.12,-411.13"/>
<polygon fill="black" stroke="black" points="1678.26,-411.59 1677.46,-402.09 1672.16,-410.01 1678.26,-411.59"/>
</g>
<!-- m_Sail::Setting -->
<g id="node17" class="node">
<title>m_Sail::Setting</title>
<path fill="none" stroke="black" d="M1712,-660C1712,-660 1832,-660 1832,-660 1838,-660 1844,-666 1844,-672 1844,-672 1844,-742 1844,-742 1844,-748 1838,-754 1832,-754 1832,-754 1712,-754 1712,-754 1706,-754 1700,-748 1700,-742 1700,-742 1700,-672 1700,-672 1700,-666 1706,-660 1712,-660"/>
<text text-anchor="start" x="1740.65" y="-740.7" font-family="Arial BoldMT" font-size="11.00">Sail::Setting</text>
<polyline fill="none" stroke="black" points="1700,-735 1844,-735 "/>
<text text-anchor="start" x="1707" y="-721.5" font-family="ArialMT" font-size="10.00">cast_type </text>
<text text-anchor="start" x="1752.58" y="-721.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (2) ∗</text>
<text text-anchor="start" x="1707" y="-708.5" font-family="ArialMT" font-size="10.00">description </text>
<text text-anchor="start" x="1758.14" y="-708.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">text</text>
<text text-anchor="start" x="1707" y="-695.5" font-family="ArialMT" font-size="10.00">group </text>
<text text-anchor="start" x="1735.35" y="-695.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1707" y="-682.5" font-family="ArialMT" font-size="10.00">name </text>
<text text-anchor="start" x="1734.79" y="-682.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗ U</text>
<text text-anchor="start" x="1707" y="-669.5" font-family="ArialMT" font-size="10.00">value </text>
<text text-anchor="start" x="1733.68" y="-669.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
</g>
<!-- m_Sail::Setting&#45;&gt;m_Sail::Entry -->
<g id="edge5" class="edge">
<title>m_Sail::Setting&#45;&gt;m_Sail::Entry</title>
<path fill="none" stroke="black" d="M1760.22,-659.85C1743.47,-594.21 1713.01,-474.85 1696.81,-411.36"/>
<polygon fill="black" stroke="black" points="1699.8,-410.35 1694.53,-402.41 1693.7,-411.91 1699.8,-410.35"/>
</g>
<!-- m_User -->
<g id="node18" class="node">
<title>m_User</title>
<path fill="none" stroke="black" d="M1148,-549.5C1148,-549.5 1288,-549.5 1288,-549.5 1294,-549.5 1300,-555.5 1300,-561.5 1300,-561.5 1300,-852.5 1300,-852.5 1300,-858.5 1294,-864.5 1288,-864.5 1288,-864.5 1148,-864.5 1148,-864.5 1142,-864.5 1136,-858.5 1136,-852.5 1136,-852.5 1136,-561.5 1136,-561.5 1136,-555.5 1142,-549.5 1148,-549.5"/>
<text text-anchor="start" x="1204.39" y="-851.2" font-family="Arial BoldMT" font-size="11.00">User</text>
<polyline fill="none" stroke="black" points="1136,-845.5 1300,-845.5 "/>
<text text-anchor="start" x="1143" y="-832.5" font-family="ArialMT" font-size="10.00">avatar_thumb_url </text>
<text text-anchor="start" x="1223.6" y="-832.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="1143" y="-819.5" font-family="ArialMT" font-size="10.00">avatar_url </text>
<text text-anchor="start" x="1190.25" y="-819.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="1143" y="-806.5" font-family="ArialMT" font-size="10.00">confirmation_sent_at </text>
<text text-anchor="start" x="1238.61" y="-806.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">datetime</text>
<text text-anchor="start" x="1143" y="-793.5" font-family="ArialMT" font-size="10.00">confirmation_token </text>
<text text-anchor="start" x="1230.27" y="-793.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1143" y="-780.5" font-family="ArialMT" font-size="10.00">confirmed_at </text>
<text text-anchor="start" x="1203.59" y="-780.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">datetime</text>
<text text-anchor="start" x="1143" y="-767.5" font-family="ArialMT" font-size="10.00">current_sign_in_at </text>
<text text-anchor="start" x="1228.05" y="-767.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">datetime</text>
<text text-anchor="start" x="1143" y="-754.5" font-family="ArialMT" font-size="10.00">current_sign_in_ip </text>
<text text-anchor="start" x="1227.5" y="-754.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">inet</text>
<text text-anchor="start" x="1143" y="-741.5" font-family="ArialMT" font-size="10.00">email </text>
<text text-anchor="start" x="1169.67" y="-741.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗ U</text>
<text text-anchor="start" x="1143" y="-728.5" font-family="ArialMT" font-size="10.00">encrypted_password </text>
<text text-anchor="start" x="1238.05" y="-728.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="1143" y="-715.5" font-family="ArialMT" font-size="10.00">events_count </text>
<text text-anchor="start" x="1205.27" y="-715.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer ∗</text>
<text text-anchor="start" x="1143" y="-702.5" font-family="ArialMT" font-size="10.00">external </text>
<text text-anchor="start" x="1181.35" y="-702.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">boolean</text>
<text text-anchor="start" x="1143" y="-689.5" font-family="ArialMT" font-size="10.00">failed_attempts </text>
<text text-anchor="start" x="1213.6" y="-689.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer ∗</text>
<text text-anchor="start" x="1143" y="-676.5" font-family="ArialMT" font-size="10.00">last_sign_in_at </text>
<text text-anchor="start" x="1212.49" y="-676.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">datetime</text>
<text text-anchor="start" x="1143" y="-663.5" font-family="ArialMT" font-size="10.00">last_sign_in_ip </text>
<text text-anchor="start" x="1211.94" y="-663.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">inet</text>
<text text-anchor="start" x="1143" y="-650.5" font-family="ArialMT" font-size="10.00">locked_at </text>
<text text-anchor="start" x="1188.59" y="-650.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">datetime</text>
<text text-anchor="start" x="1143" y="-637.5" font-family="ArialMT" font-size="10.00">remember_created_at </text>
<text text-anchor="start" x="1244.16" y="-637.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">datetime</text>
<text text-anchor="start" x="1142.96" y="-624.5" font-family="ArialMT" font-size="10.00">reset_password_sent_at </text>
<text text-anchor="start" x="1254.69" y="-624.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">datetime</text>
<text text-anchor="start" x="1143" y="-611.5" font-family="ArialMT" font-size="10.00">reset_password_token </text>
<text text-anchor="start" x="1246.39" y="-611.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1143" y="-598.5" font-family="ArialMT" font-size="10.00">sign_in_count </text>
<text text-anchor="start" x="1207.49" y="-598.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer ∗</text>
<text text-anchor="start" x="1143" y="-585.5" font-family="ArialMT" font-size="10.00">unconfirmed_email </text>
<text text-anchor="start" x="1230.27" y="-585.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1143" y="-572.5" font-family="ArialMT" font-size="10.00">unlock_token </text>
<text text-anchor="start" x="1204.71" y="-572.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="1143" y="-559.5" font-family="ArialMT" font-size="10.00">username </text>
<text text-anchor="start" x="1190.25" y="-559.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗ U</text>
</g>
<!-- m_User&#45;&gt;m_Ahoy::Event -->
<g id="edge9" class="edge">
<title>m_User&#45;&gt;m_Ahoy::Event</title>
<path fill="none" stroke="black" d="M1338,-367C1318.23,-311.23 1321.7,-242.77 1327.92,-195.81"/>
<polygon fill="black" stroke="black" points="1331.06,-196.06 1329.19,-186.71 1324.82,-195.19 1331.06,-196.06"/>
</g>
<!-- m_User&#45;&gt;m_Ahoy::Visit -->
<g id="edge16" class="edge">
<title>m_User&#45;&gt;m_Ahoy::Visit</title>
<path fill="none" stroke="black" d="M1300.17,-596.54C1320.06,-569.45 1341.04,-540.35 1360,-513 1365.54,-505.02 1371.18,-496.74 1376.82,-488.36"/>
<polygon fill="black" stroke="black" points="1379.6,-489.88 1382,-480.66 1374.37,-486.37 1379.6,-489.88"/>
</g>
<!-- m_User&#45;&gt;m_Design -->
<g id="edge8" class="edge">
<title>m_User&#45;&gt;m_Design</title>
<path fill="none" stroke="black" d="M1135.88,-696.67C1011.36,-679.08 771.95,-631.51 608,-513 599.96,-507.19 592.3,-500.57 585.06,-493.43"/>
<polygon fill="black" stroke="black" points="587.06,-490.97 578.51,-486.74 582.55,-495.38 587.06,-490.97"/>
</g>
<!-- m_User&#45;&gt;m_Identity -->
<g id="edge10" class="edge">
<title>m_User&#45;&gt;m_Identity</title>
<path fill="none" stroke="black" d="M1135.98,-549.83C1110.61,-501.53 1084.53,-451.88 1066.13,-416.85"/>
<polygon fill="black" stroke="black" points="1068.83,-415.22 1061.86,-408.72 1063.26,-418.15 1068.83,-415.22"/>
</g>
<!-- m_User&#45;&gt;m_Role -->
<g id="edge12" class="edge">
<title>m_User&#45;&gt;m_Role</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M1338,-367C1316.15,-305.39 1357.53,-265.67 1308,-223 1254.8,-177.16 744.56,-206.16 677,-187 668.55,-184.6 660,-181.28 651.74,-177.49"/>
<polygon fill="black" stroke="black" points="653.06,-174.63 643.59,-173.57 650.33,-180.31 653.06,-174.63"/>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M1300.07,-589.83C1335.72,-524.89 1364.05,-442.46 1338,-369"/>
</g>
<!-- m_UserAvatar -->
<g id="node19" class="node">
<title>m_UserAvatar</title>
<path fill="none" stroke="black" d="M1154,-334C1154,-334 1282,-334 1282,-334 1288,-334 1294,-340 1294,-346 1294,-346 1294,-390 1294,-390 1294,-396 1288,-402 1282,-402 1282,-402 1154,-402 1154,-402 1148,-402 1142,-396 1142,-390 1142,-390 1142,-346 1142,-346 1142,-340 1148,-334 1154,-334"/>
<text text-anchor="start" x="1188.59" y="-388.7" font-family="Arial BoldMT" font-size="11.00">UserAvatar</text>
<polyline fill="none" stroke="black" points="1142,-383 1294,-383 "/>
<text text-anchor="start" x="1148.61" y="-369.5" font-family="ArialMT" font-size="10.00">letter_avatar_thumb_url </text>
<text text-anchor="start" x="1257" y="-369.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="1149" y="-356.5" font-family="ArialMT" font-size="10.00">letter_avatar_url </text>
<text text-anchor="start" x="1224.04" y="-356.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">string ∗</text>
<text text-anchor="start" x="1149" y="-343.5" font-family="ArialMT" font-size="10.00">user_id </text>
<text text-anchor="start" x="1184.58" y="-343.5" font-family="Arial ItalicMT" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
</g>
<!-- m_User&#45;&gt;m_UserAvatar -->
<g id="edge13" class="edge">
<title>m_User&#45;&gt;m_UserAvatar</title>
<path fill="none" stroke="black" d="M1218,-549.34C1218,-493.99 1218,-436.93 1218,-402.21"/>
</g>
<!-- m_User&#45;&gt;m_UsersRole -->
<g id="edge11" class="edge">
<title>m_User&#45;&gt;m_UsersRole</title>
<path fill="none" stroke="black" d="M1300.17,-668.51C1386.76,-627.11 1514.28,-560.09 1541,-513 1604.61,-400.9 1586.95,-343.42 1541,-223 1513.17,-150.07 1492.38,-129.66 1424,-92 1374.25,-64.6 1222.71,-45.72 1127.3,-36.19"/>
<polygon fill="black" stroke="black" points="1127.51,-33.05 1118.24,-35.3 1126.89,-39.32 1127.51,-33.05"/>
</g>
</g>
</svg>