diagrama_servicio_master.drawio 4.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <mxfile host="app.diagrams.net">
  2. <diagram name="Estructura Servicio Master">
  3. <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1920" pageHeight="1080">
  4. <root>
  5. <mxCell id="0"/>
  6. <mxCell id="1" parent="0"/>
  7. <!-- API Layer -->
  8. <mxCell id="api" value="API Layer\n(Controllers REST)" style="swimlane;horizontal=0;startSize=28;fillColor=#E3F2FD;strokeColor=#1565C0;" vertex="1" parent="1">
  9. <mxGeometry x="80" y="60" width="360" height="180" as="geometry"/>
  10. </mxCell>
  11. <mxCell id="controllers" value="DashboardController\nShardController\nPlayerController\nEventController\nRankingController"
  12. style="rounded=1;fillColor=#BBDEFB;" vertex="1" parent="api">
  13. <mxGeometry x="30" y="50" width="300" height="100" as="geometry"/>
  14. </mxCell>
  15. <!-- Service Layer -->
  16. <mxCell id="service" value="Service Layer\n(Lógica de aplicación)" style="swimlane;horizontal=0;startSize=28;fillColor=#E8F5E9;strokeColor=#2E7D32;" vertex="1" parent="1">
  17. <mxGeometry x="80" y="270" width="360" height="220" as="geometry"/>
  18. </mxCell>
  19. <mxCell id="services" value="ShardDashboardService\nPlayerDashboardService\nRankingDashboardService\nEventDashboardService"
  20. style="rounded=1;fillColor=#C8E6C9;" vertex="1" parent="service">
  21. <mxGeometry x="30" y="50" width="300" height="140" as="geometry"/>
  22. </mxCell>
  23. <!-- Repository Layer -->
  24. <mxCell id="repo" value="Repository Layer\n(Spring Data)" style="swimlane;horizontal=0;startSize=28;fillColor=#FFF3E0;strokeColor=#EF6C00;" vertex="1" parent="1">
  25. <mxGeometry x="520" y="60" width="360" height="260" as="geometry"/>
  26. </mxCell>
  27. <mxCell id="repositories" value="ShardRepository\nPlayerRepository\nShardPlayerStatsRepository\nMasterEventRepository\nSnapshotRepository"
  28. style="rounded=1;fillColor=#FFE0B2;" vertex="1" parent="repo">
  29. <mxGeometry x="30" y="50" width="300" height="180" as="geometry"/>
  30. </mxCell>
  31. <!-- Domain Layer -->
  32. <mxCell id="domain" value="Domain Model\n(JPA Entities)" style="swimlane;horizontal=0;startSize=28;fillColor=#F3E5F5;strokeColor=#6A1B9A;" vertex="1" parent="1">
  33. <mxGeometry x="520" y="350" width="360" height="220" as="geometry"/>
  34. </mxCell>
  35. <mxCell id="entities" value="Shard\nPlayer\nShardPlayerStats\nMasterEvent\nShardWorldSnapshot"
  36. style="rounded=1;fillColor=#E1BEE7;" vertex="1" parent="domain">
  37. <mxGeometry x="30" y="50" width="300" height="140" as="geometry"/>
  38. </mxCell>
  39. <!-- DTOs -->
  40. <mxCell id="dto" value="DTOs / Projections" style="rounded=1;fillColor=#ECEFF1;strokeColor=#455A64;"
  41. vertex="1" parent="1">
  42. <mxGeometry x="80" y="520" width="360" height="100" as="geometry"/>
  43. </mxCell>
  44. <!-- Database -->
  45. <mxCell id="db" value="Master Database\n(PostgreSQL / MySQL)"
  46. style="shape=cylinder;fillColor=#E0F2F1;strokeColor=#00695C;"
  47. vertex="1" parent="1">
  48. <mxGeometry x="550" y="620" width="300" height="100" as="geometry"/>
  49. </mxCell>
  50. <!-- Edges -->
  51. <mxCell id="e1" style="endArrow=block;" edge="1" parent="1" source="api" target="service">
  52. <mxGeometry relative="1" as="geometry"/>
  53. </mxCell>
  54. <mxCell id="e2" style="endArrow=block;" edge="1" parent="1" source="service" target="repo">
  55. <mxGeometry relative="1" as="geometry"/>
  56. </mxCell>
  57. <mxCell id="e3" style="endArrow=block;" edge="1" parent="1" source="repo" target="domain">
  58. <mxGeometry relative="1" as="geometry"/>
  59. </mxCell>
  60. <mxCell id="e4" style="endArrow=block;" edge="1" parent="1" source="repo" target="db">
  61. <mxGeometry relative="1" as="geometry"/>
  62. </mxCell>
  63. <mxCell id="e5" style="dashed=1;endArrow=open;" edge="1" parent="1" source="service" target="dto">
  64. <mxGeometry relative="1" as="geometry"/>
  65. </mxCell>
  66. </root>
  67. </mxGraphModel>
  68. </diagram>
  69. </mxfile>