@eventcatalog/core 0.0.12 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +39 -38
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1bay4w0 +1 -1
  6. package/.next/cache/next-server.js.nft.json +1 -1
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/export-detail.json +1 -0
  12. package/.next/next-server.js.nft.json +1 -1
  13. package/.next/prerender-manifest.json +1 -1
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/526.js +5 -5
  16. package/.next/server/chunks/565.js +6 -3
  17. package/.next/server/chunks/{959.js → 681.js} +126 -4
  18. package/.next/server/chunks/730.js +6 -7
  19. package/.next/server/chunks/938.js +18 -4
  20. package/.next/server/chunks/944.js +22 -26
  21. package/.next/server/pages/404.html +1 -1
  22. package/.next/server/pages/500.html +1 -1
  23. package/.next/server/pages/_app.js +18 -1
  24. package/.next/server/pages/events/AddedItemToCart/logs.html +1 -0
  25. package/.next/server/pages/events/AddedItemToCart/logs.json +1 -0
  26. package/.next/server/pages/events/AddedItemToCart/v/0.0.1.html +48 -0
  27. package/.next/server/pages/events/AddedItemToCart/v/0.0.1.json +1 -0
  28. package/.next/server/pages/events/AddedItemToCart/v/0.0.2.html +55 -0
  29. package/.next/server/pages/events/AddedItemToCart/v/0.0.2.json +1 -0
  30. package/.next/server/pages/events/AddedItemToCart.html +4 -4
  31. package/.next/server/pages/events/AddedItemToCart.json +1 -1
  32. package/.next/server/pages/events/OrderComplete/logs.html +1 -0
  33. package/.next/server/pages/events/OrderComplete/logs.json +1 -0
  34. package/.next/server/pages/events/OrderComplete.html +3 -3
  35. package/.next/server/pages/events/OrderComplete.json +1 -1
  36. package/.next/server/pages/events/OrderConfirmed/logs.html +1 -0
  37. package/.next/server/pages/events/OrderConfirmed/logs.json +1 -0
  38. package/.next/server/pages/events/OrderConfirmed.html +3 -3
  39. package/.next/server/pages/events/OrderConfirmed.json +1 -1
  40. package/.next/server/pages/events/OrderRequested/logs.html +1 -0
  41. package/.next/server/pages/events/OrderRequested/logs.json +1 -0
  42. package/.next/server/pages/events/OrderRequested.html +3 -3
  43. package/.next/server/pages/events/OrderRequested.json +1 -1
  44. package/.next/server/pages/events/PaymentProcessed/logs.html +1 -0
  45. package/.next/server/pages/events/PaymentProcessed/logs.json +1 -0
  46. package/.next/server/pages/events/PaymentProcessed.html +3 -3
  47. package/.next/server/pages/events/PaymentProcessed.json +1 -1
  48. package/.next/server/pages/events/RemovedItemFromCart/logs.html +1 -0
  49. package/.next/server/pages/events/RemovedItemFromCart/logs.json +1 -0
  50. package/.next/server/pages/events/RemovedItemFromCart.html +3 -3
  51. package/.next/server/pages/events/RemovedItemFromCart.json +1 -1
  52. package/.next/server/pages/events/ShipmentDelivered/logs.html +1 -0
  53. package/.next/server/pages/events/ShipmentDelivered/logs.json +1 -0
  54. package/.next/server/pages/events/ShipmentDelivered.html +3 -3
  55. package/.next/server/pages/events/ShipmentDelivered.json +1 -1
  56. package/.next/server/pages/events/ShipmentDispatched/logs.html +1 -0
  57. package/.next/server/pages/events/ShipmentDispatched/logs.json +1 -0
  58. package/.next/server/pages/events/ShipmentDispatched.html +3 -3
  59. package/.next/server/pages/events/ShipmentDispatched.json +1 -1
  60. package/.next/server/pages/events/ShipmentPrepared/logs.html +1 -0
  61. package/.next/server/pages/events/ShipmentPrepared/logs.json +1 -0
  62. package/.next/server/pages/events/ShipmentPrepared.html +3 -3
  63. package/.next/server/pages/events/ShipmentPrepared.json +1 -1
  64. package/.next/server/pages/events/[name]/logs.js +18 -4
  65. package/.next/server/pages/events/[name]/logs.js.nft.json +1 -1
  66. package/.next/server/pages/events/[name]/v/[version].js +25 -9
  67. package/.next/server/pages/events/[name]/v/[version].js.nft.json +1 -1
  68. package/.next/server/pages/events/[name].js +7 -7
  69. package/.next/server/pages/events/[name].js.nft.json +1 -1
  70. package/.next/server/pages/events.html +10 -0
  71. package/.next/server/pages/events.js +90 -38
  72. package/.next/server/pages/events.js.nft.json +1 -1
  73. package/.next/server/pages/events.json +1 -0
  74. package/.next/server/pages/index.html +1 -1
  75. package/.next/server/pages/overview.html +1 -0
  76. package/.next/server/pages/overview.js +12 -9
  77. package/.next/server/pages/overview.js.nft.json +1 -1
  78. package/.next/server/pages/overview.json +1 -0
  79. package/.next/server/pages/services/Basket Service.html +2 -2
  80. package/.next/server/pages/services/Basket Service.json +1 -1
  81. package/.next/server/pages/services/Data Lake.html +2 -2
  82. package/.next/server/pages/services/Data Lake.json +1 -1
  83. package/.next/server/pages/services/Payment Service.html +2 -2
  84. package/.next/server/pages/services/Payment Service.json +1 -1
  85. package/.next/server/pages/services/Shipping Service.html +2 -2
  86. package/.next/server/pages/services/Shipping Service.json +1 -1
  87. package/.next/server/pages/services/[name].js +5 -5
  88. package/.next/server/pages/services/[name].js.nft.json +1 -1
  89. package/.next/server/pages/services.html +5 -0
  90. package/.next/server/pages/services.js +68 -62
  91. package/.next/server/pages/services.js.nft.json +1 -1
  92. package/.next/server/pages/services.json +1 -0
  93. package/.next/server/pages/users/[id].js +20 -6
  94. package/.next/server/pages/users/[id].js.nft.json +1 -1
  95. package/.next/server/pages/users/dboyne.html +14 -0
  96. package/.next/server/pages/users/dboyne.json +1 -0
  97. package/.next/server/pages/users/mSmith.html +10 -0
  98. package/.next/server/pages/users/mSmith.json +1 -0
  99. package/.next/server/pages-manifest.json +0 -1
  100. package/.next/static/chunks/28-812913d1c0167bab.js +1 -0
  101. package/.next/static/chunks/{336-323c44d05b2ca502.js → 336-8b7da71a40e0c439.js} +1 -1
  102. package/.next/static/chunks/519-7c428c1e49c8e614.js +1 -0
  103. package/.next/static/chunks/873-f2bce094caa95964.js +1 -0
  104. package/.next/static/chunks/pages/_app-2b86b0fb5ed8c085.js +1 -0
  105. package/.next/static/chunks/pages/events/[name]/{logs-d159d7b82f44847f.js → logs-707da36de8222a98.js} +1 -1
  106. package/.next/static/chunks/pages/events/[name]/v/{[version]-963d3e8377b51e86.js → [version]-5652060e116d4a61.js} +1 -1
  107. package/.next/static/chunks/pages/events/{[name]-578828157369b5cd.js → [name]-146170e56a404524.js} +1 -1
  108. package/.next/static/chunks/pages/events-2bca09b458bde8ab.js +1 -0
  109. package/.next/static/chunks/pages/index-fe1a9e09c7f51e66.js +1 -0
  110. package/.next/static/chunks/pages/{overview-5ac749891cbe1922.js → overview-6bd5a86d5a28a942.js} +1 -1
  111. package/.next/static/chunks/pages/services/[name]-78378d531eb27bc2.js +1 -0
  112. package/.next/static/chunks/pages/services-1293e4d7df6174bf.js +1 -0
  113. package/.next/static/chunks/pages/users/[id]-5374b99d99fe576e.js +1 -0
  114. package/.next/static/chunks/{webpack-afe52d4a9fcc5a75.js → webpack-f27c5bb37992d94f.js} +1 -1
  115. package/.next/static/css/2532bb4d95ad483e.css +3 -0
  116. package/.next/static/xWuchBA47-kIcuK-WNSOY/_buildManifest.js +1 -0
  117. package/.next/static/{Ar5NkcdCFs9vlh-33wGgn → xWuchBA47-kIcuK-WNSOY}/_middlewareManifest.js +0 -0
  118. package/.next/static/xWuchBA47-kIcuK-WNSOY/_ssgManifest.js +1 -0
  119. package/.next/trace +37 -37
  120. package/CHANGELOG.md +26 -0
  121. package/README.md +2 -1
  122. package/bin/eventcatalog.js +12 -0
  123. package/components/Grids/EventGrid.tsx +2 -2
  124. package/components/Grids/ServiceGrid.tsx +8 -1
  125. package/components/Header.tsx +4 -1
  126. package/components/NotFound/index.tsx +4 -3
  127. package/components/Sidebars/EventSidebar.tsx +21 -21
  128. package/components/Sidebars/ServiceSidebar.tsx +3 -3
  129. package/components/SyntaxHighlighter.tsx +1 -1
  130. package/lib/events.ts +24 -0
  131. package/lib/graphs.ts +7 -3
  132. package/next.config.js +7 -0
  133. package/out/404.html +1 -0
  134. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/AddedItemToCart/logs.json +1 -0
  135. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/AddedItemToCart/v/0.0.1.json +1 -0
  136. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/AddedItemToCart/v/0.0.2.json +1 -0
  137. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/AddedItemToCart.json +1 -0
  138. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/OrderComplete/logs.json +1 -0
  139. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/OrderComplete.json +1 -0
  140. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/OrderConfirmed/logs.json +1 -0
  141. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/OrderConfirmed.json +1 -0
  142. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/OrderRequested/logs.json +1 -0
  143. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/OrderRequested.json +1 -0
  144. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/PaymentProcessed/logs.json +1 -0
  145. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/PaymentProcessed.json +1 -0
  146. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/RemovedItemFromCart/logs.json +1 -0
  147. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/RemovedItemFromCart.json +1 -0
  148. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/ShipmentDelivered/logs.json +1 -0
  149. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/ShipmentDelivered.json +1 -0
  150. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/ShipmentDispatched/logs.json +1 -0
  151. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/ShipmentDispatched.json +1 -0
  152. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/ShipmentPrepared/logs.json +1 -0
  153. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events/ShipmentPrepared.json +1 -0
  154. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/events.json +1 -0
  155. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/overview.json +1 -0
  156. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/services/Basket Service.json +1 -0
  157. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/services/Data Lake.json +1 -0
  158. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/services/Payment Service.json +1 -0
  159. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/services/Shipping Service.json +1 -0
  160. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/services.json +1 -0
  161. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/users/dboyne.json +1 -0
  162. package/out/_next/data/xWuchBA47-kIcuK-WNSOY/users/mSmith.json +1 -0
  163. package/out/_next/static/chunks/020d8314.aea2d24215754e7b.js +1 -0
  164. package/out/_next/static/chunks/176cb4e4-8a0f6f010ef8accb.js +1 -0
  165. package/out/_next/static/chunks/274-11c4d093341d7201.js +1 -0
  166. package/out/_next/static/chunks/28-812913d1c0167bab.js +1 -0
  167. package/out/_next/static/chunks/336-8b7da71a40e0c439.js +1 -0
  168. package/out/_next/static/chunks/364-3cb3c8cf1d3c95de.js +1 -0
  169. package/out/_next/static/chunks/519-7c428c1e49c8e614.js +1 -0
  170. package/out/_next/static/chunks/638.d570519ae49c92c8.js +1 -0
  171. package/out/_next/static/chunks/873-f2bce094caa95964.js +1 -0
  172. package/out/_next/static/chunks/962-d5070461f6d4a478.js +1 -0
  173. package/out/_next/static/chunks/framework-576ec6a1c1386453.js +1 -0
  174. package/out/_next/static/chunks/main-0289ecbd51cd4cb4.js +1 -0
  175. package/out/_next/static/chunks/pages/_app-2b86b0fb5ed8c085.js +1 -0
  176. package/out/_next/static/chunks/pages/_error-5a714c45c50a8db4.js +1 -0
  177. package/out/_next/static/chunks/pages/events/[name]/logs-707da36de8222a98.js +1 -0
  178. package/out/_next/static/chunks/pages/events/[name]/v/[version]-5652060e116d4a61.js +1 -0
  179. package/out/_next/static/chunks/pages/events/[name]-146170e56a404524.js +1 -0
  180. package/out/_next/static/chunks/pages/events-2bca09b458bde8ab.js +1 -0
  181. package/out/_next/static/chunks/pages/index-fe1a9e09c7f51e66.js +1 -0
  182. package/out/_next/static/chunks/pages/overview-6bd5a86d5a28a942.js +1 -0
  183. package/out/_next/static/chunks/pages/services/[name]-78378d531eb27bc2.js +1 -0
  184. package/out/_next/static/chunks/pages/services-1293e4d7df6174bf.js +1 -0
  185. package/out/_next/static/chunks/pages/users/[id]-5374b99d99fe576e.js +1 -0
  186. package/out/_next/static/chunks/polyfills-5cd94c89d3acac5f.js +1 -0
  187. package/out/_next/static/chunks/webpack-f27c5bb37992d94f.js +1 -0
  188. package/out/_next/static/css/2532bb4d95ad483e.css +3 -0
  189. package/out/_next/static/css/5eeed9cb243ce668.css +1 -0
  190. package/out/_next/static/xWuchBA47-kIcuK-WNSOY/_buildManifest.js +1 -0
  191. package/out/_next/static/xWuchBA47-kIcuK-WNSOY/_middlewareManifest.js +1 -0
  192. package/out/_next/static/xWuchBA47-kIcuK-WNSOY/_ssgManifest.js +1 -0
  193. package/out/events/AddedItemToCart/logs.html +1 -0
  194. package/out/events/AddedItemToCart/v/0.0.1.html +48 -0
  195. package/out/events/AddedItemToCart/v/0.0.2.html +55 -0
  196. package/out/events/AddedItemToCart.html +73 -0
  197. package/out/events/OrderComplete/logs.html +1 -0
  198. package/out/events/OrderComplete.html +48 -0
  199. package/out/events/OrderConfirmed/logs.html +1 -0
  200. package/out/events/OrderConfirmed.html +48 -0
  201. package/out/events/OrderRequested/logs.html +1 -0
  202. package/out/events/OrderRequested.html +48 -0
  203. package/out/events/PaymentProcessed/logs.html +1 -0
  204. package/out/events/PaymentProcessed.html +52 -0
  205. package/out/events/RemovedItemFromCart/logs.html +1 -0
  206. package/out/events/RemovedItemFromCart.html +55 -0
  207. package/out/events/ShipmentDelivered/logs.html +1 -0
  208. package/out/events/ShipmentDelivered.html +53 -0
  209. package/out/events/ShipmentDispatched/logs.html +1 -0
  210. package/out/events/ShipmentDispatched.html +52 -0
  211. package/out/events/ShipmentPrepared/logs.html +1 -0
  212. package/out/events/ShipmentPrepared.html +52 -0
  213. package/out/events.html +10 -0
  214. package/out/favicon.ico +0 -0
  215. package/out/index.html +1 -0
  216. package/out/logo-random.svg +114 -0
  217. package/out/logo.svg +44 -0
  218. package/out/opengraph.png +0 -0
  219. package/out/overview.html +1 -0
  220. package/out/services/Basket Service.html +11 -0
  221. package/out/services/Data Lake.html +12 -0
  222. package/out/services/Payment Service.html +10 -0
  223. package/out/services/Shipping Service.html +14 -0
  224. package/out/services.html +5 -0
  225. package/out/users/dboyne.html +14 -0
  226. package/out/users/mSmith.html +10 -0
  227. package/package.json +4 -3
  228. package/pages/_app.tsx +2 -0
  229. package/pages/events/[name]/logs.tsx +12 -3
  230. package/pages/events/[name]/v/[version].tsx +14 -2
  231. package/pages/events/[name].tsx +2 -2
  232. package/pages/events.tsx +75 -31
  233. package/pages/index.tsx +4 -2
  234. package/pages/overview.tsx +8 -5
  235. package/pages/services/[name].tsx +1 -1
  236. package/pages/services.tsx +28 -15
  237. package/pages/users/[id].tsx +14 -3
  238. package/scripts/move-schemas-for-download.js +59 -0
  239. package/.next/server/chunks/596.js +0 -98
  240. package/.next/server/pages/api/event/[name]/download.js +0 -64
  241. package/.next/server/pages/api/event/[name]/download.js.nft.json +0 -1
  242. package/.next/server/webpack-api-runtime.js +0 -160
  243. package/.next/static/Ar5NkcdCFs9vlh-33wGgn/_buildManifest.js +0 -1
  244. package/.next/static/Ar5NkcdCFs9vlh-33wGgn/_ssgManifest.js +0 -1
  245. package/.next/static/chunks/519-7f22292093abd7c3.js +0 -1
  246. package/.next/static/chunks/873-cd558fb98674abe5.js +0 -1
  247. package/.next/static/chunks/954-4d4a09c3269dda3f.js +0 -1
  248. package/.next/static/chunks/pages/_app-c9d3172cc09cf069.js +0 -1
  249. package/.next/static/chunks/pages/events-a38d51b4dd9dd7cf.js +0 -1
  250. package/.next/static/chunks/pages/index-3eeab7e4014a02ea.js +0 -1
  251. package/.next/static/chunks/pages/services/[name]-881a79d880506d8a.js +0 -1
  252. package/.next/static/chunks/pages/services-bcc61898062e1bf4.js +0 -1
  253. package/.next/static/chunks/pages/users/[id]-a2fec953b3532a74.js +0 -1
  254. package/.next/static/css/b44e1178a88a93b4.css +0 -3
  255. package/pages/api/event/[name]/download.js +0 -28
@@ -0,0 +1,10 @@
1
+ <!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><script src="//unpkg.com/three"></script><script src="//unpkg.com/three/examples/js/renderers/CSS2DRenderer.js"></script><link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css"/><meta name="description" content="An open source project to Discover, Explore and Document your Event Driven Architectures."/><meta property="og:url" content="https://eventcatalog.dev/"/><meta property="og:type" content="website"/><meta property="og:title" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures."/><meta property="og:description" content="An open source tool powered by markdown to document your Event Driven Architecture."/><meta property="og:image" content="https://eventcatalog.dev/img/opengraph.png"/><meta property="og:image:alt" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures."/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="600"/><meta property="og:locale" content="en-GB"/><meta name="author" content="David Boyne"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/styles/atom-one-light.min.css"/><title>EventCatalog - All Events</title><meta name="next-head-count" content="18"/><link rel="preload" href="/_next/static/css/2532bb4d95ad483e.css" as="style"/><link rel="stylesheet" href="/_next/static/css/2532bb4d95ad483e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-f27c5bb37992d94f.js" defer=""></script><script src="/_next/static/chunks/framework-576ec6a1c1386453.js" defer=""></script><script src="/_next/static/chunks/main-0289ecbd51cd4cb4.js" defer=""></script><script src="/_next/static/chunks/pages/_app-2b86b0fb5ed8c085.js" defer=""></script><script src="/_next/static/chunks/176cb4e4-8a0f6f010ef8accb.js" defer=""></script><script src="/_next/static/chunks/519-7c428c1e49c8e614.js" defer=""></script><script src="/_next/static/chunks/962-d5070461f6d4a478.js" defer=""></script><script src="/_next/static/chunks/274-11c4d093341d7201.js" defer=""></script><script src="/_next/static/chunks/pages/events-2bca09b458bde8ab.js" defer=""></script><script src="/_next/static/xWuchBA47-kIcuK-WNSOY/_buildManifest.js" defer=""></script><script src="/_next/static/xWuchBA47-kIcuK-WNSOY/_ssgManifest.js" defer=""></script><script src="/_next/static/xWuchBA47-kIcuK-WNSOY/_middlewareManifest.js" defer=""></script></head><body><div id="__next" data-reactroot=""><div class="bg-gray-800"><div class="max-w-7xl mx-auto "><div class="relative flex items-center justify-between h-16"><div class="flex-1 flex items-center justify-center sm:items-stretch sm:justify-start"><div class="flex-shrink-0 flex items-center text-white font-bold"><a class="flex items-center" href="/events"><img alt="logo" class="text-white w-8 inline-block mr-3" src="/logo.svg"/><span class="text-xl">EventCatalog</span></a></div></div><div class="hidden sm:block sm:ml-6"><div class="flex space-x-4"><a class="bg-gray-900 text-white px-3 py-2 rounded-md text-sm font-medium" aria-current="page" href="/events">Events</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/services">Services</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/overview">3D Node Graph</a></div></div></div></div></div><main class="max-w-7xl mx-auto min-h-screen px-4 md:px-0"><div class="relative z-10 flex items-baseline justify-between pt-8 pb-6 border-b border-gray-200"><h1 class="text-2xl font-extrabold tracking-tight text-gray-900">Events (<!-- -->9<!-- -->)</h1><div class="flex items-center"><div class="hidden relative text-left"><div><button class="group inline-flex justify-center text-sm font-medium text-gray-700 hover:text-gray-900" id="headlessui-menu-button-undefined" type="button" aria-haspopup="true" aria-expanded="false">Sort<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" class="flex-shrink-0 -mr-1 ml-1 h-5 w-5 text-gray-400 group-hover:text-gray-500"><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg></button></div></div></div></div><section class="pt-6 pb-24"><div class="grid grid-cols-4 gap-x-8 gap-y-10"><form class="hidden lg:block"><div class="border-b border-gray-200 pb-6"><label for="event" class="font-bold block text-sm font-medium text-gray-700">Search Events</label><div class="mt-1 relative rounded-md shadow-sm"><div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" class="h-5 w-5 text-gray-400"><path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z" clip-rule="evenodd"></path></svg></div><input type="text" name="event" id="event" class="focus:ring-gray-500 focus:border-gray-500 block w-full pl-10 sm:text-sm border-gray-300 rounded-md"/></div></div><div class="border-b border-gray-200 py-6"><h3 class="-my-3 flow-root"><div class="py-3 bg-white w-full flex items-center justify-between text-sm text-gray-400 hover:text-gray-500"><span class="font-bold font-medium text-gray-900">Filter by Services (6)</span></div></h3><div class="pt-6"><div class="space-y-4"><div class="flex items-center"><input type="checkbox" id="filter-services-0" name="services[]" class="h-4 w-4 border-gray-300 rounded text-gray-600 focus:ring-gray-500" value="Data Lake"/><label for="filter-services-0" class="ml-3 text-sm text-gray-600">Data Lake</label></div><div class="flex items-center"><input type="checkbox" id="filter-services-1" name="services[]" class="h-4 w-4 border-gray-300 rounded text-gray-600 focus:ring-gray-500" value="Basket Service"/><label for="filter-services-1" class="ml-3 text-sm text-gray-600">Basket Service</label></div><div class="flex items-center"><input type="checkbox" id="filter-services-2" name="services[]" class="h-4 w-4 border-gray-300 rounded text-gray-600 focus:ring-gray-500" value="Orders Service"/><label for="filter-services-2" class="ml-3 text-sm text-gray-600">Orders Service</label></div><div class="flex items-center"><input type="checkbox" id="filter-services-3" name="services[]" class="h-4 w-4 border-gray-300 rounded text-gray-600 focus:ring-gray-500" value="Shipping Service"/><label for="filter-services-3" class="ml-3 text-sm text-gray-600">Shipping Service</label></div><div class="flex items-center"><input type="checkbox" id="filter-services-4" name="services[]" class="h-4 w-4 border-gray-300 rounded text-gray-600 focus:ring-gray-500" value="Payment Service"/><label for="filter-services-4" class="ml-3 text-sm text-gray-600">Payment Service</label></div><div class="flex items-center"><input type="checkbox" id="filter-services-5" name="services[]" class="h-4 w-4 border-gray-300 rounded text-gray-600 focus:ring-gray-500" value="Order Service"/><label for="filter-services-5" class="ml-3 text-sm text-gray-600">Order Service</label></div></div></div></div><div class="border-b border-gray-200 py-6"><h3 class="-my-3 flow-root"><div class="py-3 bg-white w-full flex items-center justify-between text-sm text-gray-400 hover:text-gray-500"><span class="font-bold font-medium text-gray-900">Features</span></div></h3><div class="pt-6"><div class="space-y-4"><div class="flex items-center"><input type="checkbox" id="show-mermaid" class="h-4 w-4 border-gray-300 rounded text-gray-600 focus:ring-gray-500"/><label for="show-mermaid" class="ml-3 text-sm text-gray-600">Show Mermaid Diagrams</label></div></div></div></div></form><div class="col-span-4 lg:col-span-3"><div><h2 class="text-gray-500 text-xs font-medium uppercase tracking-wide">All Events (9)</h2><ul class="mt-3 grid grid-cols-1 gap-5 md:grid-cols-2"><li class="flex"><a class="flex shadow-sm rounded-md w-full" href="/events/AddedItemToCart"><div style="background:#2e0a58" class="bg-red-500 flex-shrink-0 flex items-center justify-center w-4 text-white text-sm font-medium rounded-l-md"></div><div class="w-full border-t border-r border-b border-gray-200 bg-white rounded-r-md "><div class="p-4 text-sm space-y-2 flex flex-col justify-between h-full"><div class="text-gray-900 font-bold hover:text-gray-600 break-all">AddedItemToCart<span class="ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-yellow-100 text-yellow-800">v<!-- -->0.0.3</span></div><div class="text-gray-500 text-xs font-normal mt-2 ">Holds information about what the user added to their shopping cart.
2
+ </div><div class="flex space-x-4 text-xs pt-2 relative bottom-0 left-0"><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-green-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Producers (<!-- -->1<!-- -->)</div><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-indigo-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Subscribers (<!-- -->1<!-- -->)</div></div></div></div></a></li><li class="flex"><a class="flex shadow-sm rounded-md w-full" href="/events/OrderComplete"><div style="background:#871e73" class="bg-red-500 flex-shrink-0 flex items-center justify-center w-4 text-white text-sm font-medium rounded-l-md"></div><div class="w-full border-t border-r border-b border-gray-200 bg-white rounded-r-md "><div class="p-4 text-sm space-y-2 flex flex-col justify-between h-full"><div class="text-gray-900 font-bold hover:text-gray-600 break-all">OrderComplete<span class="ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-yellow-100 text-yellow-800">v<!-- -->0.0.1</span></div><div class="text-gray-500 text-xs font-normal mt-2 ">Event represents when an order has been complete. (Delivered and finished)
3
+ </div><div class="flex space-x-4 text-xs pt-2 relative bottom-0 left-0"><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-green-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Producers (<!-- -->1<!-- -->)</div><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-indigo-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Subscribers (<!-- -->1<!-- -->)</div></div></div></div></a></li><li class="flex"><a class="flex shadow-sm rounded-md w-full" href="/events/OrderConfirmed"><div style="background:#d1ffa1" class="bg-red-500 flex-shrink-0 flex items-center justify-center w-4 text-white text-sm font-medium rounded-l-md"></div><div class="w-full border-t border-r border-b border-gray-200 bg-white rounded-r-md "><div class="p-4 text-sm space-y-2 flex flex-col justify-between h-full"><div class="text-gray-900 font-bold hover:text-gray-600 break-all">OrderConfirmed<span class="ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-yellow-100 text-yellow-800">v<!-- -->0.0.1</span></div><div class="text-gray-500 text-xs font-normal mt-2 ">Event represents when an order has been confirmed and ready to be processed (shipped for example)
4
+ </div><div class="flex space-x-4 text-xs pt-2 relative bottom-0 left-0"><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-green-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Producers (<!-- -->1<!-- -->)</div><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-indigo-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Subscribers (<!-- -->1<!-- -->)</div></div></div></div></a></li><li class="flex"><a class="flex shadow-sm rounded-md w-full" href="/events/OrderRequested"><div style="background:#e053ec" class="bg-red-500 flex-shrink-0 flex items-center justify-center w-4 text-white text-sm font-medium rounded-l-md"></div><div class="w-full border-t border-r border-b border-gray-200 bg-white rounded-r-md "><div class="p-4 text-sm space-y-2 flex flex-col justify-between h-full"><div class="text-gray-900 font-bold hover:text-gray-600 break-all">OrderRequested<span class="ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-yellow-100 text-yellow-800">v<!-- -->0.0.1</span></div><div class="text-gray-500 text-xs font-normal mt-2 ">Holds information about the customers order.
5
+ </div><div class="flex space-x-4 text-xs pt-2 relative bottom-0 left-0"><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-green-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Producers (<!-- -->1<!-- -->)</div><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-indigo-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Subscribers (<!-- -->1<!-- -->)</div></div></div></div></a></li><li class="flex"><a class="flex shadow-sm rounded-md w-full" href="/events/PaymentProcessed"><div style="background:#08642a" class="bg-red-500 flex-shrink-0 flex items-center justify-center w-4 text-white text-sm font-medium rounded-l-md"></div><div class="w-full border-t border-r border-b border-gray-200 bg-white rounded-r-md "><div class="p-4 text-sm space-y-2 flex flex-col justify-between h-full"><div class="text-gray-900 font-bold hover:text-gray-600 break-all">PaymentProcessed<span class="ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-yellow-100 text-yellow-800">v<!-- -->0.0.1</span></div><div class="text-gray-500 text-xs font-normal mt-2 ">Holds information about the payment that has been processed.
6
+ </div><div class="flex space-x-4 text-xs pt-2 relative bottom-0 left-0"><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-green-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Producers (<!-- -->1<!-- -->)</div><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-indigo-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Subscribers (<!-- -->1<!-- -->)</div></div></div></div></a></li><li class="flex"><a class="flex shadow-sm rounded-md w-full" href="/events/RemovedItemFromCart"><div style="background:#7de28e" class="bg-red-500 flex-shrink-0 flex items-center justify-center w-4 text-white text-sm font-medium rounded-l-md"></div><div class="w-full border-t border-r border-b border-gray-200 bg-white rounded-r-md "><div class="p-4 text-sm space-y-2 flex flex-col justify-between h-full"><div class="text-gray-900 font-bold hover:text-gray-600 break-all">RemovedItemFromCart<span class="ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-yellow-100 text-yellow-800">v<!-- -->0.0.1</span></div><div class="text-gray-500 text-xs font-normal mt-2 ">Holds information about what the user removed from their cart.
7
+ </div><div class="flex space-x-4 text-xs pt-2 relative bottom-0 left-0"><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-green-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Producers (<!-- -->1<!-- -->)</div><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-indigo-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Subscribers (<!-- -->1<!-- -->)</div></div></div></div></a></li><li class="flex"><a class="flex shadow-sm rounded-md w-full" href="/events/ShipmentDelivered"><div style="background:#ea7bc8" class="bg-red-500 flex-shrink-0 flex items-center justify-center w-4 text-white text-sm font-medium rounded-l-md"></div><div class="w-full border-t border-r border-b border-gray-200 bg-white rounded-r-md "><div class="p-4 text-sm space-y-2 flex flex-col justify-between h-full"><div class="text-gray-900 font-bold hover:text-gray-600 break-all">ShipmentDelivered<span class="ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-yellow-100 text-yellow-800">v<!-- -->0.0.1</span></div><div class="text-gray-500 text-xs font-normal mt-2 ">Event represents when a shipment has been delievered and received.
8
+ </div><div class="flex space-x-4 text-xs pt-2 relative bottom-0 left-0"><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-green-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Producers (<!-- -->1<!-- -->)</div><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-indigo-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Subscribers (<!-- -->2<!-- -->)</div></div></div></div></a></li><li class="flex"><a class="flex shadow-sm rounded-md w-full" href="/events/ShipmentDispatched"><div style="background:#f36bc3" class="bg-red-500 flex-shrink-0 flex items-center justify-center w-4 text-white text-sm font-medium rounded-l-md"></div><div class="w-full border-t border-r border-b border-gray-200 bg-white rounded-r-md "><div class="p-4 text-sm space-y-2 flex flex-col justify-between h-full"><div class="text-gray-900 font-bold hover:text-gray-600 break-all">ShipmentDispatched<span class="ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-yellow-100 text-yellow-800">v<!-- -->0.0.1</span></div><div class="text-gray-500 text-xs font-normal mt-2 ">Event represents when a shipment has been dispatched.
9
+ </div><div class="flex space-x-4 text-xs pt-2 relative bottom-0 left-0"><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-green-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Producers (<!-- -->1<!-- -->)</div><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-indigo-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Subscribers (<!-- -->1<!-- -->)</div></div></div></div></a></li><li class="flex"><a class="flex shadow-sm rounded-md w-full" href="/events/ShipmentPrepared"><div style="background:#1774bd" class="bg-red-500 flex-shrink-0 flex items-center justify-center w-4 text-white text-sm font-medium rounded-l-md"></div><div class="w-full border-t border-r border-b border-gray-200 bg-white rounded-r-md "><div class="p-4 text-sm space-y-2 flex flex-col justify-between h-full"><div class="text-gray-900 font-bold hover:text-gray-600 break-all">ShipmentPrepared<span class="ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-yellow-100 text-yellow-800">v<!-- -->0.0.1</span></div><div class="text-gray-500 text-xs font-normal mt-2 ">Event represents when a shipment has finished being prepared and is ready to be dispatched.
10
+ </div><div class="flex space-x-4 text-xs pt-2 relative bottom-0 left-0"><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-green-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Producers (<!-- -->1<!-- -->)</div><div class=" font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-4 w-4 text-indigo-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Subscribers (<!-- -->1<!-- -->)</div></div></div></div></a></li></ul></div></div></div></section></main><footer class="bg-gray-800"><div class="max-w-7xl mx-auto py-12 px-4 overflow-hidden sm:px-6 lg:px-8"><nav class="-mx-5 -my-2 flex flex-wrap justify-center" aria-label="Footer"><div class="px-5 py-2"><a href="/events" class="text-base text-gray-500 hover:text-gray-900">Events</a></div><div class="px-5 py-2"><a href="/services" class="text-base text-gray-500 hover:text-gray-900">Services</a></div><div class="px-5 py-2"><a href="/overview" class="text-base text-gray-500 hover:text-gray-900">3D Node Graph</a></div><div class="px-5 py-2"><a href="https://github.com/boyney123/eventcatalog-demo/edit/master" class="text-base text-gray-500 hover:text-gray-900">GitHub</a></div></nav><p class="mt-8 text-center text-base text-gray-400">Copyright © <!-- -->2022<!-- --> <!-- -->Your Company<!-- -->. Built with<!-- --> <a class="underline" href="https://eventcatalog.dev" target="_blank" rel="noreferrer">EventCatalog.</a></p></div></footer></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"events":[{"name":"AddedItemToCart","version":"0.0.3","summary":"Holds information about what the user added to their shopping cart.\n","producers":["Basket Service"],"consumers":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[{"label":"AsyncAPI Specification","url":"https://studio.asyncapi.com/#schema-lightMeasuredPayload"}],"historicVersions":["0.0.2","0.0.1"]},{"name":"OrderComplete","version":"0.0.1","summary":"Event represents when an order has been complete. (Delivered and finished)\n","producers":["Orders Service"],"consumers":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"OrderConfirmed","version":"0.0.1","summary":"Event represents when an order has been confirmed and ready to be processed (shipped for example)\n","producers":["Orders Service"],"consumers":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"OrderRequested","version":"0.0.1","summary":"Holds information about the customers order.\n","producers":["Basket Service"],"consumers":["Payment Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"PaymentProcessed","version":"0.0.1","summary":"Holds information about the payment that has been processed.\n","producers":["Payment Service"],"consumers":["Orders Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"RemovedItemFromCart","version":"0.0.1","summary":"Holds information about what the user removed from their cart.\n","producers":["Basket Service"],"consumers":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentDelivered","version":"0.0.1","summary":"Event represents when a shipment has been delievered and received.\n","producers":["Shipping Service"],"consumers":["Order Service","Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentDispatched","version":"0.0.1","summary":"Event represents when a shipment has been dispatched.\n","producers":["Shipping Service"],"consumers":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentPrepared","version":"0.0.1","summary":"Event represents when a shipment has finished being prepared and is ready to be dispatched.\n","producers":["Shipping Service"],"consumers":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}],"services":["Data Lake","Basket Service","Orders Service","Shipping Service","Payment Service","Order Service"]},"__N_SSG":true},"page":"/events","query":{},"buildId":"xWuchBA47-kIcuK-WNSOY","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>
@@ -12,7 +12,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__) => {
12
12
  __webpack_require__.r(__webpack_exports__);
13
13
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14
14
  /* harmony export */ "default": () => (/* binding */ Page),
15
- /* harmony export */ "getServerSideProps": () => (/* binding */ getServerSideProps)
15
+ /* harmony export */ "getStaticProps": () => (/* binding */ getStaticProps)
16
16
  /* harmony export */ });
17
17
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
18
18
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
@@ -20,7 +20,8 @@ __webpack_require__.r(__webpack_exports__);
20
20
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
21
21
  /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(968);
22
22
  /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_head__WEBPACK_IMPORTED_MODULE_2__);
23
- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9097);
23
+ /* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4305);
24
+ /* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_3__);
24
25
  /* harmony import */ var _headlessui_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7505);
25
26
  /* harmony import */ var _headlessui_react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_headlessui_react__WEBPACK_IMPORTED_MODULE_4__);
26
27
  /* harmony import */ var _heroicons_react_solid__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1143);
@@ -61,7 +62,7 @@ function Page({ events , services }) {
61
62
  const filters = [
62
63
  {
63
64
  id: 'services',
64
- name: 'Services',
65
+ name: `Filter by Services (${services.length})`,
65
66
  options: services.map((service)=>({
66
67
  value: service,
67
68
  label: service,
@@ -74,6 +75,8 @@ function Page({ events , services }) {
74
75
  services: []
75
76
  });
76
77
  const { 0: showMermaidDiagrams , 1: setShowMermaidDiagrams } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
78
+ const { 0: eventsToRender , 1: setEventsToRender } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(events);
79
+ const { 0: searchFilter , 1: setSearchFilter } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)('');
77
80
  const handleFilterSelection = (option, type, event)=>{
78
81
  if (event.target.checked) {
79
82
  const newFilters = selectedFilters[type].concat([
@@ -92,18 +95,40 @@ function Page({ events , services }) {
92
95
  });
93
96
  }
94
97
  };
95
- let eventsToRender = events;
96
- if (selectedFilters.services.length > 0) {
97
- // @ts-ignore
98
- eventsToRender = eventsToRender.filter((event)=>{
99
- const { services: serviceFilters } = selectedFilters;
100
- const hasConsumersFromFilters = event.consumers.some((consumerId)=>serviceFilters.indexOf(consumerId) > -1
101
- );
102
- const hasProducersFromFilters = event.producers.some((producerId)=>serviceFilters.indexOf(producerId) > -1
98
+ const getFilteredEvents = ()=>{
99
+ if (!selectedFilters.services && !searchFilter) return events;
100
+ let filteredEvents = events;
101
+ if (selectedFilters.services.length > 0) {
102
+ // @ts-ignore
103
+ filteredEvents = filteredEvents.filter((event)=>{
104
+ const { services: serviceFilters } = selectedFilters;
105
+ const hasConsumersFromFilters = event.consumers.some((consumerId)=>serviceFilters.indexOf(consumerId) > -1
106
+ );
107
+ const hasProducersFromFilters = event.producers.some((producerId)=>serviceFilters.indexOf(producerId) > -1
108
+ );
109
+ return hasConsumersFromFilters || hasProducersFromFilters;
110
+ });
111
+ }
112
+ if (searchFilter) {
113
+ filteredEvents = filteredEvents.filter((event)=>event.name.toLowerCase().includes(searchFilter.toLowerCase())
103
114
  );
104
- return hasConsumersFromFilters || hasProducersFromFilters;
105
- });
106
- }
115
+ }
116
+ return filteredEvents;
117
+ };
118
+ (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{
119
+ setEventsToRender(getFilteredEvents());
120
+ // eslint-disable-next-line react-hooks/exhaustive-deps
121
+ }, [
122
+ selectedFilters,
123
+ searchFilter
124
+ ]);
125
+ // eslint-disable-next-line react-hooks/exhaustive-deps
126
+ const debouncedFilter = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(lodash_debounce__WEBPACK_IMPORTED_MODULE_3___default()((e)=>{
127
+ setSearchFilter(e.target.value);
128
+ }, 500), [
129
+ eventsToRender
130
+ ]);
131
+ const filtersApplied = !!searchFilter || selectedFilters.services.length > 0;
107
132
  return(/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
108
133
  children: [
109
134
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx((next_head__WEBPACK_IMPORTED_MODULE_2___default()), {
@@ -179,21 +204,34 @@ function Page({ events , services }) {
179
204
  /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("form", {
180
205
  className: "hidden lg:block",
181
206
  children: [
182
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
183
- className: "text-sm font-bold text-gray-900 mb-4 block",
184
- children: "Events"
185
- }),
186
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("ul", {
187
- className: " text-sm text-gray-600 space-y-4 pb-6 border-b border-gray-200 items-stretch",
188
- children: events.map((event)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("li", {
189
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(next_link__WEBPACK_IMPORTED_MODULE_3__["default"], {
190
- href: `/events/${event.name}`,
191
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("a", {
192
- children: event.name
207
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
208
+ className: "border-b border-gray-200 pb-6",
209
+ children: [
210
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("label", {
211
+ htmlFor: "event",
212
+ className: "font-bold block text-sm font-medium text-gray-700",
213
+ children: "Search Events"
214
+ }),
215
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
216
+ className: "mt-1 relative rounded-md shadow-sm",
217
+ children: [
218
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
219
+ className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none",
220
+ children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_heroicons_react_solid__WEBPACK_IMPORTED_MODULE_5__.SearchIcon, {
221
+ className: "h-5 w-5 text-gray-400",
222
+ "aria-hidden": "true"
223
+ })
224
+ }),
225
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("input", {
226
+ type: "text",
227
+ name: "event",
228
+ id: "event",
229
+ onChange: debouncedFilter,
230
+ className: "focus:ring-gray-500 focus:border-gray-500 block w-full pl-10 sm:text-sm border-gray-300 rounded-md"
193
231
  })
194
- })
195
- }, event.name)
196
- )
232
+ ]
233
+ })
234
+ ]
197
235
  }),
198
236
  filters.map((section)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
199
237
  className: "border-b border-gray-200 py-6",
@@ -203,7 +241,7 @@ function Page({ events , services }) {
203
241
  children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
204
242
  className: "py-3 bg-white w-full flex items-center justify-between text-sm text-gray-400 hover:text-gray-500",
205
243
  children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
206
- className: "font-medium text-gray-900",
244
+ className: "font-bold font-medium text-gray-900",
207
245
  children: section.name
208
246
  })
209
247
  })
@@ -246,7 +284,7 @@ function Page({ events , services }) {
246
284
  children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
247
285
  className: "py-3 bg-white w-full flex items-center justify-between text-sm text-gray-400 hover:text-gray-500",
248
286
  children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
249
- className: "font-medium text-gray-900",
287
+ className: "font-bold font-medium text-gray-900",
250
288
  children: "Features"
251
289
  })
252
290
  })
@@ -283,17 +321,24 @@ function Page({ events , services }) {
283
321
  className: "col-span-4 lg:col-span-3",
284
322
  children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
285
323
  children: [
286
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("h2", {
324
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h2", {
287
325
  className: "text-gray-500 text-xs font-medium uppercase tracking-wide",
288
- children: [
289
- "Events (",
290
- eventsToRender.length,
291
- ")"
292
- ]
326
+ children: filtersApplied ? `Filtered Events (${eventsToRender.length}/${events.length})` : `All Events (${events.length})`
293
327
  }),
294
328
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Grids_EventGrid__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
295
329
  events: eventsToRender,
296
330
  showMermaidDiagrams: showMermaidDiagrams
331
+ }),
332
+ eventsToRender.length === 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
333
+ className: "text-gray-400 flex h-96 justify-center items-center",
334
+ children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
335
+ children: [
336
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_heroicons_react_solid__WEBPACK_IMPORTED_MODULE_5__.SearchIcon, {
337
+ className: "w-6 h-6 inline-block mr-1"
338
+ }),
339
+ "No events found."
340
+ ]
341
+ })
297
342
  })
298
343
  ]
299
344
  })
@@ -306,7 +351,7 @@ function Page({ events , services }) {
306
351
  ]
307
352
  }));
308
353
  };
309
- const getServerSideProps = ()=>{
354
+ const getStaticProps = ()=>{
310
355
  const events = (0,_lib_events__WEBPACK_IMPORTED_MODULE_7__/* .getAllEvents */ .IP)();
311
356
  const services = (0,_lib_events__WEBPACK_IMPORTED_MODULE_7__/* .getUniqueServicesNamesFromEvents */ .ah)(events);
312
357
  return {
@@ -359,6 +404,13 @@ module.exports = require("gray-matter");
359
404
 
360
405
  /***/ }),
361
406
 
407
+ /***/ 4305:
408
+ /***/ ((module) => {
409
+
410
+ module.exports = require("lodash.debounce");
411
+
412
+ /***/ }),
413
+
362
414
  /***/ 7112:
363
415
  /***/ ((module) => {
364
416
 
@@ -513,7 +565,7 @@ module.exports = require("path");
513
565
  var __webpack_require__ = require("../webpack-runtime.js");
514
566
  __webpack_require__.C(exports);
515
567
  var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
516
- var __webpack_exports__ = __webpack_require__.X(0, [47,97,959,565,526], () => (__webpack_exec__(8209)));
568
+ var __webpack_exports__ = __webpack_require__.X(0, [47,97,681,565,526], () => (__webpack_exec__(8209)));
517
569
  module.exports = __webpack_exports__;
518
570
 
519
571
  })();
@@ -1 +1 @@
1
- {"version":1,"files":["../webpack-runtime.js","../chunks/47.js","../chunks/97.js","../chunks/959.js","../chunks/565.js","../chunks/526.js","../../../package.json","../../../lib/events.ts","../../../components/Grids/EventGrid.tsx","../../../utils/random-bg.ts","../../../components/Mermaid/index.tsx","../../../lib/file-reader.ts","../../../lib/graphs.ts"]}
1
+ {"version":1,"files":["../webpack-runtime.js","../chunks/47.js","../chunks/97.js","../chunks/681.js","../chunks/565.js","../chunks/526.js","../../../package.json","../../../lib/events.ts","../../../lib/services.ts","../../../components/Grids/EventGrid.tsx","../../../utils/random-bg.ts","../../../components/Mermaid/index.tsx","../../../lib/file-reader.ts","../../../lib/graphs.ts"]}
@@ -0,0 +1 @@
1
+ {"pageProps":{"events":[{"name":"AddedItemToCart","version":"0.0.3","summary":"Holds information about what the user added to their shopping cart.\n","producers":["Basket Service"],"consumers":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[{"label":"AsyncAPI Specification","url":"https://studio.asyncapi.com/#schema-lightMeasuredPayload"}],"historicVersions":["0.0.2","0.0.1"]},{"name":"OrderComplete","version":"0.0.1","summary":"Event represents when an order has been complete. (Delivered and finished)\n","producers":["Orders Service"],"consumers":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"OrderConfirmed","version":"0.0.1","summary":"Event represents when an order has been confirmed and ready to be processed (shipped for example)\n","producers":["Orders Service"],"consumers":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"OrderRequested","version":"0.0.1","summary":"Holds information about the customers order.\n","producers":["Basket Service"],"consumers":["Payment Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"PaymentProcessed","version":"0.0.1","summary":"Holds information about the payment that has been processed.\n","producers":["Payment Service"],"consumers":["Orders Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"RemovedItemFromCart","version":"0.0.1","summary":"Holds information about what the user removed from their cart.\n","producers":["Basket Service"],"consumers":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentDelivered","version":"0.0.1","summary":"Event represents when a shipment has been delievered and received.\n","producers":["Shipping Service"],"consumers":["Order Service","Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentDispatched","version":"0.0.1","summary":"Event represents when a shipment has been dispatched.\n","producers":["Shipping Service"],"consumers":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentPrepared","version":"0.0.1","summary":"Event represents when a shipment has finished being prepared and is ready to be dispatched.\n","producers":["Shipping Service"],"consumers":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}],"services":["Data Lake","Basket Service","Orders Service","Shipping Service","Payment Service","Order Service"]},"__N_SSG":true}
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><title>EventCatalog</title><script src="//unpkg.com/three"></script><script src="//unpkg.com/three/examples/js/renderers/CSS2DRenderer.js"></script><meta name="description" content="An open source project to Discover, Explore and Document your Event Driven Architectures."/><meta property="og:url" content="https://eventcatalog.dev/"/><meta property="og:type" content="website"/><meta property="og:title" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures."/><meta property="og:description" content="An open source tool powered by markdown to document your Event Driven Architecture."/><meta property="og:image" content="https://eventcatalog.dev/img/opengraph.png"/><meta property="og:image:alt" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures."/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="600"/><meta property="og:locale" content="en-GB"/><meta name="author" content="David Boyne"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/styles/atom-one-light.min.css"/><meta name="next-head-count" content="17"/><link rel="preload" href="/_next/static/css/b44e1178a88a93b4.css" as="style"/><link rel="stylesheet" href="/_next/static/css/b44e1178a88a93b4.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-afe52d4a9fcc5a75.js" defer=""></script><script src="/_next/static/chunks/framework-576ec6a1c1386453.js" defer=""></script><script src="/_next/static/chunks/main-0289ecbd51cd4cb4.js" defer=""></script><script src="/_next/static/chunks/pages/_app-c9d3172cc09cf069.js" defer=""></script><script src="/_next/static/chunks/pages/index-3eeab7e4014a02ea.js" defer=""></script><script src="/_next/static/Ar5NkcdCFs9vlh-33wGgn/_buildManifest.js" defer=""></script><script src="/_next/static/Ar5NkcdCFs9vlh-33wGgn/_ssgManifest.js" defer=""></script><script src="/_next/static/Ar5NkcdCFs9vlh-33wGgn/_middlewareManifest.js" defer=""></script></head><body><div id="__next" data-reactroot=""><div class="bg-gray-800"><div class="max-w-7xl mx-auto "><div class="relative flex items-center justify-between h-16"><div class="flex-1 flex items-center justify-center sm:items-stretch sm:justify-start"><div class="flex-shrink-0 flex items-center text-white font-bold"><a class="flex items-center" href="/events"><img alt="logo" class="text-white w-8 inline-block mr-3" src="/logo.svg"/><span class="text-xl">EventCatalog</span></a></div></div><div class="hidden sm:block sm:ml-6"><div class="flex space-x-4"><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/events">Events</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/services">Services</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/overview">3D Node Graph</a></div></div></div></div></div><main class="sm:bg-top md:min-h-screen bg-gradient-to-t from-blue-700 to-gray-800"><div class="max-w-7xl mx-auto px-4 py-16 text-center sm:px-6 sm:py-24 lg:px-8 lg:py-48"><img src="logo.svg" alt="EventCatalog Logo" style="height:85px" class="mx-auto"/><h1 class="mt-2 text-4xl font-extrabold text-white tracking-tight sm:text-5xl">EventCatalog</h1><p class="mt-2 text-lg font-medium text-white">Discover, Explore and Document your Event Driven Architectures</p><div class="mt-5 max-w-md mx-auto sm:flex sm:justify-center md:mt-8"><div class="rounded-md shadow"><a class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 md:py-4 md:text-lg md:px-10" href="/events">Explore Events</a></div><div class="mt-3 rounded-md shadow sm:mt-0 sm:ml-3"><a href="https://eventcatalog.dev" target="_blank" class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-indigo-600 bg-white hover:bg-gray-50 md:py-4 md:text-lg md:px-10" rel="noreferrer">Getting Started</a></div></div><div class="mt-6 space-x-5"></div></div></main><footer class="bg-gray-800"><div class="max-w-7xl mx-auto py-12 px-4 overflow-hidden sm:px-6 lg:px-8"><nav class="-mx-5 -my-2 flex flex-wrap justify-center" aria-label="Footer"><div class="px-5 py-2"><a href="/events" class="text-base text-gray-500 hover:text-gray-900">Events</a></div><div class="px-5 py-2"><a href="/services" class="text-base text-gray-500 hover:text-gray-900">Services</a></div><div class="px-5 py-2"><a href="/overview" class="text-base text-gray-500 hover:text-gray-900">3D Node Graph</a></div><div class="px-5 py-2"><a href="https://github.com/boyney123/eventcatalog-demo/edit/master" class="text-base text-gray-500 hover:text-gray-900">GitHub</a></div></nav><p class="mt-8 text-center text-base text-gray-400">Copyright © <!-- -->2022<!-- --> <!-- -->Your Company<!-- -->. Built with<!-- --> <a class="underline" href="https://eventcatalog.dev" target="_blank" rel="noreferrer">EventCatalog.</a></p></div></footer></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"Ar5NkcdCFs9vlh-33wGgn","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><title>EventCatalog</title><script src="//unpkg.com/three"></script><script src="//unpkg.com/three/examples/js/renderers/CSS2DRenderer.js"></script><link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css"/><meta name="description" content="An open source project to Discover, Explore and Document your Event Driven Architectures."/><meta property="og:url" content="https://eventcatalog.dev/"/><meta property="og:type" content="website"/><meta property="og:title" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures."/><meta property="og:description" content="An open source tool powered by markdown to document your Event Driven Architecture."/><meta property="og:image" content="https://eventcatalog.dev/img/opengraph.png"/><meta property="og:image:alt" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures."/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="600"/><meta property="og:locale" content="en-GB"/><meta name="author" content="David Boyne"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/styles/atom-one-light.min.css"/><meta name="next-head-count" content="18"/><link rel="preload" href="/_next/static/css/2532bb4d95ad483e.css" as="style"/><link rel="stylesheet" href="/_next/static/css/2532bb4d95ad483e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-f27c5bb37992d94f.js" defer=""></script><script src="/_next/static/chunks/framework-576ec6a1c1386453.js" defer=""></script><script src="/_next/static/chunks/main-0289ecbd51cd4cb4.js" defer=""></script><script src="/_next/static/chunks/pages/_app-2b86b0fb5ed8c085.js" defer=""></script><script src="/_next/static/chunks/pages/index-fe1a9e09c7f51e66.js" defer=""></script><script src="/_next/static/xWuchBA47-kIcuK-WNSOY/_buildManifest.js" defer=""></script><script src="/_next/static/xWuchBA47-kIcuK-WNSOY/_ssgManifest.js" defer=""></script><script src="/_next/static/xWuchBA47-kIcuK-WNSOY/_middlewareManifest.js" defer=""></script></head><body><div id="__next" data-reactroot=""><div class="bg-gray-800"><div class="max-w-7xl mx-auto "><div class="relative flex items-center justify-between h-16"><div class="flex-1 flex items-center justify-center sm:items-stretch sm:justify-start"><div class="flex-shrink-0 flex items-center text-white font-bold"><a class="flex items-center" href="/events"><img alt="logo" class="text-white w-8 inline-block mr-3" src="/logo.svg"/><span class="text-xl">EventCatalog</span></a></div></div><div class="hidden sm:block sm:ml-6"><div class="flex space-x-4"><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/events">Events</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/services">Services</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/overview">3D Node Graph</a></div></div></div></div></div><main class="sm:bg-top md:min-h-screen bg-gradient-to-t from-blue-700 to-gray-800"><div class="max-w-7xl mx-auto px-4 py-16 text-center sm:px-6 sm:py-24 lg:px-8 lg:py-48"><img src="/logo.svg" alt="EventCatalog Logo" style="height:85px" class="mx-auto"/><h1 class="mt-2 text-4xl font-extrabold text-white tracking-tight sm:text-5xl">EventCatalog</h1><p class="mt-2 text-lg font-medium text-white">Discover, Explore and Document your Event Driven Architectures</p><div class="mt-5 max-w-md mx-auto sm:flex sm:justify-center md:mt-8"><div class="rounded-md shadow"><a class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 md:py-4 md:text-lg md:px-10" href="/events">Explore Events</a></div><div class="mt-3 rounded-md shadow sm:mt-0 sm:ml-3"><a href="https://eventcatalog.dev" target="_blank" class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-indigo-600 bg-white hover:bg-gray-50 md:py-4 md:text-lg md:px-10" rel="noreferrer">Getting Started</a></div></div><div class="mt-6 space-x-5"></div></div></main><footer class="bg-gray-800"><div class="max-w-7xl mx-auto py-12 px-4 overflow-hidden sm:px-6 lg:px-8"><nav class="-mx-5 -my-2 flex flex-wrap justify-center" aria-label="Footer"><div class="px-5 py-2"><a href="/events" class="text-base text-gray-500 hover:text-gray-900">Events</a></div><div class="px-5 py-2"><a href="/services" class="text-base text-gray-500 hover:text-gray-900">Services</a></div><div class="px-5 py-2"><a href="/overview" class="text-base text-gray-500 hover:text-gray-900">3D Node Graph</a></div><div class="px-5 py-2"><a href="https://github.com/boyney123/eventcatalog-demo/edit/master" class="text-base text-gray-500 hover:text-gray-900">GitHub</a></div></nav><p class="mt-8 text-center text-base text-gray-400">Copyright © <!-- -->2022<!-- --> <!-- -->Your Company<!-- -->. Built with<!-- --> <a class="underline" href="https://eventcatalog.dev" target="_blank" rel="noreferrer">EventCatalog.</a></p></div></footer></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"xWuchBA47-kIcuK-WNSOY","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><title>EventCatalog</title><script src="//unpkg.com/three"></script><script src="//unpkg.com/three/examples/js/renderers/CSS2DRenderer.js"></script><link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css"/><meta name="description" content="An open source project to Discover, Explore and Document your Event Driven Architectures."/><meta property="og:url" content="https://eventcatalog.dev/"/><meta property="og:type" content="website"/><meta property="og:title" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures."/><meta property="og:description" content="An open source tool powered by markdown to document your Event Driven Architecture."/><meta property="og:image" content="https://eventcatalog.dev/img/opengraph.png"/><meta property="og:image:alt" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures."/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="600"/><meta property="og:locale" content="en-GB"/><meta name="author" content="David Boyne"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/styles/atom-one-light.min.css"/><meta name="next-head-count" content="18"/><link rel="preload" href="/_next/static/css/2532bb4d95ad483e.css" as="style"/><link rel="stylesheet" href="/_next/static/css/2532bb4d95ad483e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-f27c5bb37992d94f.js" defer=""></script><script src="/_next/static/chunks/framework-576ec6a1c1386453.js" defer=""></script><script src="/_next/static/chunks/main-0289ecbd51cd4cb4.js" defer=""></script><script src="/_next/static/chunks/pages/_app-2b86b0fb5ed8c085.js" defer=""></script><script src="/_next/static/chunks/pages/overview-6bd5a86d5a28a942.js" defer=""></script><script src="/_next/static/xWuchBA47-kIcuK-WNSOY/_buildManifest.js" defer=""></script><script src="/_next/static/xWuchBA47-kIcuK-WNSOY/_ssgManifest.js" defer=""></script><script src="/_next/static/xWuchBA47-kIcuK-WNSOY/_middlewareManifest.js" defer=""></script></head><body><div id="__next" data-reactroot=""><div class="bg-gray-800"><div class="max-w-7xl mx-auto "><div class="relative flex items-center justify-between h-16"><div class="flex-1 flex items-center justify-center sm:items-stretch sm:justify-start"><div class="flex-shrink-0 flex items-center text-white font-bold"><a class="flex items-center" href="/events"><img alt="logo" class="text-white w-8 inline-block mr-3" src="/logo.svg"/><span class="text-xl">EventCatalog</span></a></div></div><div class="hidden sm:block sm:ml-6"><div class="flex space-x-4"><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/events">Events</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/services">Services</a><a class="bg-gray-900 text-white px-3 py-2 rounded-md text-sm font-medium" aria-current="page" href="/overview">3D Node Graph</a></div></div></div></div></div><footer class="bg-gray-800"><div class="max-w-7xl mx-auto py-12 px-4 overflow-hidden sm:px-6 lg:px-8"><nav class="-mx-5 -my-2 flex flex-wrap justify-center" aria-label="Footer"><div class="px-5 py-2"><a href="/events" class="text-base text-gray-500 hover:text-gray-900">Events</a></div><div class="px-5 py-2"><a href="/services" class="text-base text-gray-500 hover:text-gray-900">Services</a></div><div class="px-5 py-2"><a href="/overview" class="text-base text-gray-500 hover:text-gray-900">3D Node Graph</a></div><div class="px-5 py-2"><a href="https://github.com/boyney123/eventcatalog-demo/edit/master" class="text-base text-gray-500 hover:text-gray-900">GitHub</a></div></nav><p class="mt-8 text-center text-base text-gray-400">Copyright © <!-- -->2022<!-- --> <!-- -->Your Company<!-- -->. Built with<!-- --> <a class="underline" href="https://eventcatalog.dev" target="_blank" rel="noreferrer">EventCatalog.</a></p></div></footer></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"events":[{"name":"AddedItemToCart","version":"0.0.3","summary":"Holds information about what the user added to their shopping cart.\n","producers":["Basket Service"],"consumers":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[{"label":"AsyncAPI Specification","url":"https://studio.asyncapi.com/#schema-lightMeasuredPayload"}],"historicVersions":["0.0.2","0.0.1"]},{"name":"OrderComplete","version":"0.0.1","summary":"Event represents when an order has been complete. (Delivered and finished)\n","producers":["Orders Service"],"consumers":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"OrderConfirmed","version":"0.0.1","summary":"Event represents when an order has been confirmed and ready to be processed (shipped for example)\n","producers":["Orders Service"],"consumers":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"OrderRequested","version":"0.0.1","summary":"Holds information about the customers order.\n","producers":["Basket Service"],"consumers":["Payment Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"PaymentProcessed","version":"0.0.1","summary":"Holds information about the payment that has been processed.\n","producers":["Payment Service"],"consumers":["Orders Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"RemovedItemFromCart","version":"0.0.1","summary":"Holds information about what the user removed from their cart.\n","producers":["Basket Service"],"consumers":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentDelivered","version":"0.0.1","summary":"Event represents when a shipment has been delievered and received.\n","producers":["Shipping Service"],"consumers":["Order Service","Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentDispatched","version":"0.0.1","summary":"Event represents when a shipment has been dispatched.\n","producers":["Shipping Service"],"consumers":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentPrepared","version":"0.0.1","summary":"Event represents when a shipment has finished being prepared and is ready to be dispatched.\n","producers":["Shipping Service"],"consumers":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}],"services":["Data Lake","Basket Service","Orders Service","Shipping Service","Payment Service","Order Service"]},"__N_SSG":true},"page":"/overview","query":{},"buildId":"xWuchBA47-kIcuK-WNSOY","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>
@@ -12,7 +12,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__) => {
12
12
  __webpack_require__.r(__webpack_exports__);
13
13
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14
14
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
15
- /* harmony export */ "getServerSideProps": () => (/* binding */ getServerSideProps)
15
+ /* harmony export */ "getStaticProps": () => (/* binding */ getStaticProps)
16
16
  /* harmony export */ });
17
17
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(997);
18
18
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
@@ -52,15 +52,18 @@ function NodeElement({ node: { id } }) {
52
52
  children: id
53
53
  }));
54
54
  }
55
+ const MAX_LENGTH_FOR_NODES = 30;
56
+ const truncateNode = (value)=>value.length > MAX_LENGTH_FOR_NODES ? `${value.substring(0, MAX_LENGTH_FOR_NODES)}...` : value
57
+ ;
55
58
  const graph = ({ events , services })=>{
56
59
  const eventNodes = events.map(({ name: event })=>({
57
- id: event,
60
+ id: truncateNode(event),
58
61
  group: 1,
59
62
  type: 'event'
60
63
  })
61
64
  );
62
65
  const serviceNodes = services.map((service)=>({
63
- id: service,
66
+ id: truncateNode(service),
64
67
  group: 2,
65
68
  type: 'service'
66
69
  })
@@ -69,13 +72,13 @@ const graph = ({ events , services })=>{
69
72
  const links = events.reduce((nodes, event)=>{
70
73
  const { consumers =[] , producers =[] , name } = event;
71
74
  const consumerNodes = consumers.map((consumer)=>({
72
- source: name,
73
- target: consumer
75
+ source: truncateNode(name),
76
+ target: truncateNode(consumer)
74
77
  })
75
78
  );
76
79
  const producerNodes = producers.map((producer)=>({
77
- source: producer,
78
- target: name
80
+ source: truncateNode(producer),
81
+ target: truncateNode(name)
79
82
  })
80
83
  );
81
84
  return nodes.concat(consumerNodes).concat(producerNodes);
@@ -125,7 +128,7 @@ const graph = ({ events , services })=>{
125
128
  }));
126
129
  };
127
130
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (graph);
128
- const getServerSideProps = ()=>{
131
+ const getStaticProps = ()=>{
129
132
  const events = (0,_lib_events__WEBPACK_IMPORTED_MODULE_5__/* .getAllEvents */ .IP)();
130
133
  const services = (0,_lib_events__WEBPACK_IMPORTED_MODULE_5__/* .getUniqueServicesNamesFromEvents */ .ah)(events);
131
134
  return {
@@ -234,7 +237,7 @@ module.exports = require("path");
234
237
  var __webpack_require__ = require("../webpack-runtime.js");
235
238
  __webpack_require__.C(exports);
236
239
  var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
237
- var __webpack_exports__ = __webpack_require__.X(0, [237,959], () => (__webpack_exec__(656)));
240
+ var __webpack_exports__ = __webpack_require__.X(0, [237,681], () => (__webpack_exec__(656)));
238
241
  module.exports = __webpack_exports__;
239
242
 
240
243
  })();
@@ -1 +1 @@
1
- {"version":1,"files":["../webpack-runtime.js","../chunks/237.js","../chunks/959.js","../../../package.json","../../../lib/events.ts","../../../lib/file-reader.ts"]}
1
+ {"version":1,"files":["../webpack-runtime.js","../chunks/237.js","../chunks/681.js","../../../package.json","../../../lib/events.ts","../../../lib/services.ts","../../../lib/file-reader.ts"]}
@@ -0,0 +1 @@
1
+ {"pageProps":{"events":[{"name":"AddedItemToCart","version":"0.0.3","summary":"Holds information about what the user added to their shopping cart.\n","producers":["Basket Service"],"consumers":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[{"label":"AsyncAPI Specification","url":"https://studio.asyncapi.com/#schema-lightMeasuredPayload"}],"historicVersions":["0.0.2","0.0.1"]},{"name":"OrderComplete","version":"0.0.1","summary":"Event represents when an order has been complete. (Delivered and finished)\n","producers":["Orders Service"],"consumers":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"OrderConfirmed","version":"0.0.1","summary":"Event represents when an order has been confirmed and ready to be processed (shipped for example)\n","producers":["Orders Service"],"consumers":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"OrderRequested","version":"0.0.1","summary":"Holds information about the customers order.\n","producers":["Basket Service"],"consumers":["Payment Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"PaymentProcessed","version":"0.0.1","summary":"Holds information about the payment that has been processed.\n","producers":["Payment Service"],"consumers":["Orders Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"RemovedItemFromCart","version":"0.0.1","summary":"Holds information about what the user removed from their cart.\n","producers":["Basket Service"],"consumers":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentDelivered","version":"0.0.1","summary":"Event represents when a shipment has been delievered and received.\n","producers":["Shipping Service"],"consumers":["Order Service","Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentDispatched","version":"0.0.1","summary":"Event represents when a shipment has been dispatched.\n","producers":["Shipping Service"],"consumers":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"ShipmentPrepared","version":"0.0.1","summary":"Event represents when a shipment has finished being prepared and is ready to be dispatched.\n","producers":["Shipping Service"],"consumers":["Shipping Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}],"services":["Data Lake","Basket Service","Orders Service","Shipping Service","Payment Service","Order Service"]},"__N_SSG":true}
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><script src="//unpkg.com/three"></script><script src="//unpkg.com/three/examples/js/renderers/CSS2DRenderer.js"></script><meta name="description" content="An open source project to Discover, Explore and Document your Event Driven Architectures."/><meta property="og:url" content="https://eventcatalog.dev/"/><meta property="og:type" content="website"/><meta property="og:title" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures."/><meta property="og:description" content="An open source tool powered by markdown to document your Event Driven Architecture."/><meta property="og:image" content="https://eventcatalog.dev/img/opengraph.png"/><meta property="og:image:alt" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures."/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="600"/><meta property="og:locale" content="en-GB"/><meta name="author" content="David Boyne"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/styles/atom-one-light.min.css"/><title>Basket Service</title><meta name="next-head-count" content="17"/><link rel="preload" href="/_next/static/css/b44e1178a88a93b4.css" as="style"/><link rel="stylesheet" href="/_next/static/css/b44e1178a88a93b4.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-afe52d4a9fcc5a75.js" defer=""></script><script src="/_next/static/chunks/framework-576ec6a1c1386453.js" defer=""></script><script src="/_next/static/chunks/main-0289ecbd51cd4cb4.js" defer=""></script><script src="/_next/static/chunks/pages/_app-c9d3172cc09cf069.js" defer=""></script><script src="/_next/static/chunks/176cb4e4-8a0f6f010ef8accb.js" defer=""></script><script src="/_next/static/chunks/519-7f22292093abd7c3.js" defer=""></script><script src="/_next/static/chunks/962-d5070461f6d4a478.js" defer=""></script><script src="/_next/static/chunks/336-323c44d05b2ca502.js" defer=""></script><script src="/_next/static/chunks/pages/services/%5Bname%5D-881a79d880506d8a.js" defer=""></script><script src="/_next/static/Ar5NkcdCFs9vlh-33wGgn/_buildManifest.js" defer=""></script><script src="/_next/static/Ar5NkcdCFs9vlh-33wGgn/_ssgManifest.js" defer=""></script><script src="/_next/static/Ar5NkcdCFs9vlh-33wGgn/_middlewareManifest.js" defer=""></script></head><body><div id="__next" data-reactroot=""><div class="bg-gray-800"><div class="max-w-7xl mx-auto "><div class="relative flex items-center justify-between h-16"><div class="flex-1 flex items-center justify-center sm:items-stretch sm:justify-start"><div class="flex-shrink-0 flex items-center text-white font-bold"><a class="flex items-center" href="/events"><img alt="logo" class="text-white w-8 inline-block mr-3" src="/logo.svg"/><span class="text-xl">EventCatalog</span></a></div></div><div class="hidden sm:block sm:ml-6"><div class="flex space-x-4"><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/events">Events</a><a class="bg-gray-900 text-white px-3 py-2 rounded-md text-sm font-medium" aria-current="page" href="/services">Services</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/overview">3D Node Graph</a></div></div></div></div></div><div class="flex relative"><div class=" flex flex-col w-0 flex-1 "><main class="flex-1 "><div class="py-8 xl:py-10"><div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 xl:max-w-7xl xl:grid xl:grid-cols-4"><div class="xl:col-span-3 xl:pr-8 xl:border-r xl:border-gray-200 flex-col justify-between flex"><div><div class="mb-5 border-b border-gray-100 pb-4"><nav class="flex" aria-label="Breadcrumb"><ol class="flex items-center space-x-4"><li><a class="text-gray-400 hover:text-gray-500" href="/services"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" class="flex-shrink-0 h-5 w-5"><path d="M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z"></path></svg><span class="sr-only">Home</span></a></li><li><div class="flex items-center"><svg class="flex-shrink-0 h-5 w-5 text-gray-300" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20" aria-hidden="true"><path d="M5.555 17.776l8-16 .894.448-8 16-.894-.448z"></path></svg><a class="ml-4 text-sm font-medium text-gray-500 hover:text-gray-700" href="/services">Services</a></div></li><li><div class="flex items-center"><svg class="flex-shrink-0 h-5 w-5 text-gray-300" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20" aria-hidden="true"><path d="M5.555 17.776l8-16 .894.448-8 16-.894-.448z"></path></svg><a class="ml-4 text-sm font-medium text-gray-500 hover:text-gray-700" aria-current="page" href="/services/Basket%20Service">Basket Service</a></div></li></ol></nav></div><div><div><div class="xl:border-b pb-4 flex justify-between "><div class="space-y-2 w-full"><h1 class="text-3xl font-bold text-gray-900 relative">Basket Service<div class="-top-1 relative inline-block ml-2"></div></h1><div class="text-gray-600 mb-10 text py-2">CRUD based API to handle Basket interactions for users of the shopping website.
1
+ <!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><script src="//unpkg.com/three"></script><script src="//unpkg.com/three/examples/js/renderers/CSS2DRenderer.js"></script><link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css"/><meta name="description" content="An open source project to Discover, Explore and Document your Event Driven Architectures."/><meta property="og:url" content="https://eventcatalog.dev/"/><meta property="og:type" content="website"/><meta property="og:title" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures."/><meta property="og:description" content="An open source tool powered by markdown to document your Event Driven Architecture."/><meta property="og:image" content="https://eventcatalog.dev/img/opengraph.png"/><meta property="og:image:alt" content="EventCatalog | Discover, Explore and Document your Event Driven Architectures."/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="600"/><meta property="og:locale" content="en-GB"/><meta name="author" content="David Boyne"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/styles/atom-one-light.min.css"/><title>Basket Service</title><meta name="next-head-count" content="18"/><link rel="preload" href="/_next/static/css/2532bb4d95ad483e.css" as="style"/><link rel="stylesheet" href="/_next/static/css/2532bb4d95ad483e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-f27c5bb37992d94f.js" defer=""></script><script src="/_next/static/chunks/framework-576ec6a1c1386453.js" defer=""></script><script src="/_next/static/chunks/main-0289ecbd51cd4cb4.js" defer=""></script><script src="/_next/static/chunks/pages/_app-2b86b0fb5ed8c085.js" defer=""></script><script src="/_next/static/chunks/176cb4e4-8a0f6f010ef8accb.js" defer=""></script><script src="/_next/static/chunks/519-7c428c1e49c8e614.js" defer=""></script><script src="/_next/static/chunks/962-d5070461f6d4a478.js" defer=""></script><script src="/_next/static/chunks/336-8b7da71a40e0c439.js" defer=""></script><script src="/_next/static/chunks/pages/services/%5Bname%5D-78378d531eb27bc2.js" defer=""></script><script src="/_next/static/xWuchBA47-kIcuK-WNSOY/_buildManifest.js" defer=""></script><script src="/_next/static/xWuchBA47-kIcuK-WNSOY/_ssgManifest.js" defer=""></script><script src="/_next/static/xWuchBA47-kIcuK-WNSOY/_middlewareManifest.js" defer=""></script></head><body><div id="__next" data-reactroot=""><div class="bg-gray-800"><div class="max-w-7xl mx-auto "><div class="relative flex items-center justify-between h-16"><div class="flex-1 flex items-center justify-center sm:items-stretch sm:justify-start"><div class="flex-shrink-0 flex items-center text-white font-bold"><a class="flex items-center" href="/events"><img alt="logo" class="text-white w-8 inline-block mr-3" src="/logo.svg"/><span class="text-xl">EventCatalog</span></a></div></div><div class="hidden sm:block sm:ml-6"><div class="flex space-x-4"><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/events">Events</a><a class="bg-gray-900 text-white px-3 py-2 rounded-md text-sm font-medium" aria-current="page" href="/services">Services</a><a class="text-gray-300 hover:bg-gray-700 hover:text-white px-3 py-2 rounded-md text-sm font-medium" href="/overview">3D Node Graph</a></div></div></div></div></div><div class="flex relative"><div class=" flex flex-col w-0 flex-1 "><main class="flex-1 "><div class="py-8 xl:py-10"><div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 xl:max-w-7xl xl:grid xl:grid-cols-4"><div class="xl:col-span-3 xl:pr-8 xl:border-r xl:border-gray-200 flex-col justify-between flex"><div><div class="mb-5 border-b border-gray-100 pb-4"><nav class="flex" aria-label="Breadcrumb"><ol class="flex items-center space-x-4"><li><a class="text-gray-400 hover:text-gray-500" href="/services"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" class="flex-shrink-0 h-5 w-5"><path d="M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z"></path></svg><span class="sr-only">Home</span></a></li><li><div class="flex items-center"><svg class="flex-shrink-0 h-5 w-5 text-gray-300" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20" aria-hidden="true"><path d="M5.555 17.776l8-16 .894.448-8 16-.894-.448z"></path></svg><a class="ml-4 text-sm font-medium text-gray-500 hover:text-gray-700" href="/services">Services</a></div></li><li><div class="flex items-center"><svg class="flex-shrink-0 h-5 w-5 text-gray-300" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20" aria-hidden="true"><path d="M5.555 17.776l8-16 .894.448-8 16-.894-.448z"></path></svg><a class="ml-4 text-sm font-medium text-gray-500 hover:text-gray-700" aria-current="page" href="/services/Basket%20Service">Basket Service</a></div></li></ol></nav></div><div><div><div class="xl:border-b pb-4 flex justify-between "><div class="space-y-2 w-full"><h1 class="text-3xl font-bold text-gray-900 relative">Basket Service<div class="-top-1 relative inline-block ml-2"></div></h1><div class="text-gray-600 mb-10 text py-2">CRUD based API to handle Basket interactions for users of the shopping website.
2
2
  </div></div><div class="mt-4 flex space-x-3 md:mt-0"><a href="https:/github.com/boyney123/eventcatalog-demo/edit/master/services/Basket Service/index.md" target="_blank" type="button" class="hidden md:inline-flex h-10 justify-center px-4 py-2 border border-gray-300 shadow-sm text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-900" rel="noreferrer"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" class="-ml-1 mr-2 h-5 w-5 text-gray-400"><path d="M13.586 3.586a2 2 0 112.828 2.828l-.793.793-2.828-2.828.793-.793zM11.379 5.793L3 14.172V17h2.828l8.38-8.379-2.83-2.828z"></path></svg><span>Edit</span></a></div></div><div class="py-3 xl:pt-6 xl:pb-0"><div class="prose max-w-none"><p>Simple API that handles interactions between users and their baskets. Use this service to add, remove and query the status of a users basket.</p><p>This service will also generate Async events for downstream services.</p><div class="mx-auto w-full py-10"><div class="mermaid">flowchart LR
3
3
 
4
4
  classDef event stroke:#5b5ad5,stroke-width: 4px;
@@ -8,4 +8,4 @@ Basket_Service:::event--&gt;AddedItemToCart:::consumer
8
8
  Basket_Service:::event--&gt;OrderRequested:::consumer
9
9
  Basket_Service:::event--&gt;RemovedItemFromCart:::consumer
10
10
 
11
- </div></div></div></div></div></div></div><div class="flex mt-10 justify-between"><a href="https:/github.com/boyney123/eventcatalog-demo/edit/master/services/Basket Service/index.md" target="_blank" class="flex text-gray-400" rel="noreferrer"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" class="top-1 mr-2 relative h-4 w-4 text-gray-400"><path d="M13.586 3.586a2 2 0 112.828 2.828l-.793.793-2.828-2.828.793-.793zM11.379 5.793L3 14.172V17h2.828l8.38-8.379-2.83-2.828z"></path></svg><span>Edit this page</span></a><span class="italic text-xs mt-2">Last updated on <!-- -->2022/1/21</span></div></div><div class="md:min-h-screen"><aside class="hidden xl:block xl:pl-8"><h2 class="sr-only">Details</h2><div class="pt-6 py-6 space-y-8"><div><h2 class="text-sm font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-5 w-5 text-indigo-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Publishes Events (<!-- -->3<!-- -->)</h2><ul class="mt-2 leading-8"><li class="inline"><a href="#" class="relative inline-flex items-center rounded-full border border-gray-300 px-3 py-0.5"><div class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-1.5 w-1.5 rounded-full bg-indigo-500 animate animate-pulse" aria-hidden="true"></span></div><div class="ml-3.5 text-sm font-medium text-gray-900">AddedItemToCart</div></a></li><li class="inline"><a href="#" class="relative inline-flex items-center rounded-full border border-gray-300 px-3 py-0.5"><div class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-1.5 w-1.5 rounded-full bg-indigo-500 animate animate-pulse" aria-hidden="true"></span></div><div class="ml-3.5 text-sm font-medium text-gray-900">OrderRequested</div></a></li><li class="inline"><a href="#" class="relative inline-flex items-center rounded-full border border-gray-300 px-3 py-0.5"><div class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-1.5 w-1.5 rounded-full bg-indigo-500 animate animate-pulse" aria-hidden="true"></span></div><div class="ml-3.5 text-sm font-medium text-gray-900">RemovedItemFromCart</div></a></li></ul></div></div><div class="border-t border-gray-200 py-6 space-y-8"><div><h2 class="text-sm font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-5 w-5 text-green-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Subscribes to Events (<!-- -->0<!-- -->)</h2><ul class="mt-2 leading-8"></ul></div></div><div class="border-t border-gray-200 py-6 space-y-8"><div><h2 class="text-sm font-medium text-gray-500">Service Owners (<!-- -->1<!-- -->)</h2><ul class="mt-4 leading-8 space-y-2"><li class="flex justify-start"><a class="flex items-center space-x-3" href="/users/dboyne"><div class="flex-shrink-0"><img class="h-5 w-5 rounded-full" src="https://pbs.twimg.com/profile_images/1262283153563140096/DYRDqKg6_400x400.png" alt=""/></div><div class="text-sm font-medium text-gray-900">David Boyne</div></a></li></ul></div></div><div class="border-t border-gray-200 py-6 space-y-8"><div class="space-y-3"><h2 class="text-sm font-medium text-gray-500">Repository</h2><ul class=" leading-8 space-y-2"><li class="flex justify-start"><a href="https://github.com/boyney123/pretend-basket-service" target="_blank" class="flex items-center space-x-3 text-blue-600 underline text-sm" rel="noreferrer">github.com/boyney123/pretend-basket-service</a></li></ul></div></div><div class="border-t border-gray-200 py-6 space-y-8"><div class="space-y-3"><h2 class="text-sm font-medium text-gray-500">Language</h2><div class="relative flex items-center mt-2"><div class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 rounded-full" aria-hidden="true" style="background:#ada17a"></span></div><div class="ml-3.5 text-sm font-medium text-gray-900">JavaScript</div></div></div></div><div class="border-t border-gray-200 py-6 space-y-8"><div class="space-y-3"><a href="https://studio.asyncapi.com/#schema-lightMeasuredPayload" target="_blank" type="button" class="hidden w-full md:inline-flex h-10 justify-center px-4 py-2 border border-teal-300 shadow-sm text-sm font-medium rounded-md text-teal-800 hover:bg-teal-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-teal-200" rel="noreferrer"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="-ml-1 mr-2 h-5 w-5 text-teal-200"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"></path></svg><span>AsyncAPI Specification</span></a></div></div></aside></div></div></div></main></div></div><footer class="bg-gray-800"><div class="max-w-7xl mx-auto py-12 px-4 overflow-hidden sm:px-6 lg:px-8"><nav class="-mx-5 -my-2 flex flex-wrap justify-center" aria-label="Footer"><div class="px-5 py-2"><a href="/events" class="text-base text-gray-500 hover:text-gray-900">Events</a></div><div class="px-5 py-2"><a href="/services" class="text-base text-gray-500 hover:text-gray-900">Services</a></div><div class="px-5 py-2"><a href="/overview" class="text-base text-gray-500 hover:text-gray-900">3D Node Graph</a></div><div class="px-5 py-2"><a href="https://github.com/boyney123/eventcatalog-demo/edit/master" class="text-base text-gray-500 hover:text-gray-900">GitHub</a></div></nav><p class="mt-8 text-center text-base text-gray-400">Copyright © <!-- -->2022<!-- --> <!-- -->Your Company<!-- -->. Built with<!-- --> <a class="underline" href="https://eventcatalog.dev" target="_blank" rel="noreferrer">EventCatalog.</a></p></div></footer></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"service":{"name":"Basket Service","summary":"CRUD based API to handle Basket interactions for users of the shopping website.\n","owners":["dboyne"],"repository":{"language":"JavaScript","url":"https://github.com/boyney123/pretend-basket-service"},"tags":[],"externalLinks":[{"label":"AsyncAPI Specification","url":"https://studio.asyncapi.com/#schema-lightMeasuredPayload"}],"publishes":[{"name":"AddedItemToCart","version":"0.0.3","summary":"Holds information about what the user added to their shopping cart.\n","producers":["Basket Service"],"consumers":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[{"label":"AsyncAPI Specification","url":"https://studio.asyncapi.com/#schema-lightMeasuredPayload"}],"historicVersions":["0.0.2","0.0.1"]},{"name":"OrderRequested","version":"0.0.1","summary":"Holds information about the customers order.\n","producers":["Basket Service"],"consumers":["Payment Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"RemovedItemFromCart","version":"0.0.1","summary":"Holds information about what the user removed from their cart.\n","producers":["Basket Service"],"consumers":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}],"subscribes":[]},"markdown":{"content":"\nSimple API that handles interactions between users and their baskets. Use this service to add, remove and query the status of a users basket.\n\nThis service will also generate Async events for downstream services.\n\n\u003cMermaid /\u003e","lastModifiedDate":"2022/1/21","source":{"compiledSource":"var u=Object.defineProperty,m=Object.defineProperties;var l=Object.getOwnPropertyDescriptors;var r=Object.getOwnPropertySymbols;var a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;var d=(e,t,o)=\u003et in e?u(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,n=(e,t)=\u003e{for(var o in t||(t={}))a.call(t,o)\u0026\u0026d(e,o,t[o]);if(r)for(var o of r(t))i.call(t,o)\u0026\u0026d(e,o,t[o]);return e},p=(e,t)=\u003em(e,l(t));var c=(e,t)=\u003e{var o={};for(var s in e)a.call(e,s)\u0026\u0026t.indexOf(s)\u003c0\u0026\u0026(o[s]=e[s]);if(e!=null\u0026\u0026r)for(var s of r(e))t.indexOf(s)\u003c0\u0026\u0026i.call(e,s)\u0026\u0026(o[s]=e[s]);return o};const makeShortcode=e=\u003efunction(o){return console.warn(\"Component \"+e+\" was not imported, exported, or provided by MDXProvider as global scope\"),mdx(\"div\",n({},o))},Mermaid=makeShortcode(\"Mermaid\"),layoutProps={},MDXLayout=\"wrapper\";function MDXContent(o){var s=o,{components:e}=s,t=c(s,[\"components\"]);return mdx(MDXLayout,p(n(n({},layoutProps),t),{components:e,mdxType:\"MDXLayout\"}),mdx(\"p\",null,\"Simple API that handles interactions between users and their baskets. Use this service to add, remove and query the status of a users basket.\"),mdx(\"p\",null,\"This service will also generate Async events for downstream services.\"),mdx(Mermaid,{mdxType:\"Mermaid\"}))}MDXContent.isMDXComponent=!0;\n","scope":{}}}},"__N_SSG":true},"page":"/services/[name]","query":{"name":"Basket Service"},"buildId":"Ar5NkcdCFs9vlh-33wGgn","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>
11
+ </div></div></div></div></div></div></div><div class="flex mt-10 justify-between"><a href="https:/github.com/boyney123/eventcatalog-demo/edit/master/services/Basket Service/index.md" target="_blank" class="flex text-gray-400" rel="noreferrer"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" class="top-1 mr-2 relative h-4 w-4 text-gray-400"><path d="M13.586 3.586a2 2 0 112.828 2.828l-.793.793-2.828-2.828.793-.793zM11.379 5.793L3 14.172V17h2.828l8.38-8.379-2.83-2.828z"></path></svg><span>Edit this page</span></a><span class="italic text-xs mt-2">Last updated on <!-- -->2022/1/26</span></div></div><div class="md:min-h-screen"><aside class="hidden xl:block xl:pl-8"><h2 class="sr-only">Details</h2><div class="pt-6 py-6 space-y-8"><div><h2 class="text-sm font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-5 w-5 text-indigo-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Publishes Events (<!-- -->3<!-- -->)</h2><ul class="mt-2 leading-8"><li class="inline "><a href="#" class="relative inline-flex items-center rounded-full border border-gray-300 px-3 py-0.5"><div class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-1.5 w-1.5 rounded-full bg-indigo-500 animate animate-pulse" aria-hidden="true"></span></div><div class="ml-3.5 text-sm font-medium text-gray-900 truncate max-w-xs">AddedItemToCart</div></a></li><li class="inline "><a href="#" class="relative inline-flex items-center rounded-full border border-gray-300 px-3 py-0.5"><div class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-1.5 w-1.5 rounded-full bg-indigo-500 animate animate-pulse" aria-hidden="true"></span></div><div class="ml-3.5 text-sm font-medium text-gray-900 truncate max-w-xs">OrderRequested</div></a></li><li class="inline "><a href="#" class="relative inline-flex items-center rounded-full border border-gray-300 px-3 py-0.5"><div class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-1.5 w-1.5 rounded-full bg-indigo-500 animate animate-pulse" aria-hidden="true"></span></div><div class="ml-3.5 text-sm font-medium text-gray-900 truncate max-w-xs">RemovedItemFromCart</div></a></li></ul></div></div><div class="border-t border-gray-200 py-6 space-y-8"><div><h2 class="text-sm font-medium text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="h-5 w-5 text-green-400 inline-block mr-2"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"></path></svg>Subscribes to Events (<!-- -->0<!-- -->)</h2><ul class="mt-2 leading-8"></ul></div></div><div class="border-t border-gray-200 py-6 space-y-8"><div><h2 class="text-sm font-medium text-gray-500">Service Owners (<!-- -->1<!-- -->)</h2><ul class="mt-4 leading-8 space-y-2"><li class="flex justify-start"><a class="flex items-center space-x-3" href="/users/dboyne"><div class="flex-shrink-0"><img class="h-5 w-5 rounded-full" src="https://pbs.twimg.com/profile_images/1262283153563140096/DYRDqKg6_400x400.png" alt=""/></div><div class="text-sm font-medium text-gray-900">David Boyne</div></a></li></ul></div></div><div class="border-t border-gray-200 py-6 space-y-8"><div class="space-y-3"><h2 class="text-sm font-medium text-gray-500">Repository</h2><ul class=" leading-8 space-y-2"><li class="flex justify-start"><a href="https://github.com/boyney123/pretend-basket-service" target="_blank" class="flex items-center space-x-3 text-blue-600 underline text-sm" rel="noreferrer">github.com/boyney123/pretend-basket-service</a></li></ul></div></div><div class="border-t border-gray-200 py-6 space-y-8"><div class="space-y-3"><h2 class="text-sm font-medium text-gray-500">Language</h2><div class="relative flex items-center mt-2"><div class="absolute flex-shrink-0 flex items-center justify-center"><span class="h-2 w-2 rounded-full" aria-hidden="true" style="background:#ada17a"></span></div><div class="ml-3.5 text-sm font-medium text-gray-900">JavaScript</div></div></div></div><div class="border-t border-gray-200 py-6 space-y-8"><div class="space-y-3"><a href="https://studio.asyncapi.com/#schema-lightMeasuredPayload" target="_blank" type="button" class="hidden w-full md:inline-flex h-10 justify-center px-4 py-2 border border-teal-300 shadow-sm text-sm font-medium rounded-md text-teal-800 hover:bg-teal-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-teal-200" rel="noreferrer"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true" class="-ml-1 mr-2 h-5 w-5 text-teal-200"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"></path></svg><span>AsyncAPI Specification</span></a></div></div></aside></div></div></div></main></div></div><footer class="bg-gray-800"><div class="max-w-7xl mx-auto py-12 px-4 overflow-hidden sm:px-6 lg:px-8"><nav class="-mx-5 -my-2 flex flex-wrap justify-center" aria-label="Footer"><div class="px-5 py-2"><a href="/events" class="text-base text-gray-500 hover:text-gray-900">Events</a></div><div class="px-5 py-2"><a href="/services" class="text-base text-gray-500 hover:text-gray-900">Services</a></div><div class="px-5 py-2"><a href="/overview" class="text-base text-gray-500 hover:text-gray-900">3D Node Graph</a></div><div class="px-5 py-2"><a href="https://github.com/boyney123/eventcatalog-demo/edit/master" class="text-base text-gray-500 hover:text-gray-900">GitHub</a></div></nav><p class="mt-8 text-center text-base text-gray-400">Copyright © <!-- -->2022<!-- --> <!-- -->Your Company<!-- -->. Built with<!-- --> <a class="underline" href="https://eventcatalog.dev" target="_blank" rel="noreferrer">EventCatalog.</a></p></div></footer></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"service":{"name":"Basket Service","summary":"CRUD based API to handle Basket interactions for users of the shopping website.\n","owners":["dboyne"],"repository":{"language":"JavaScript","url":"https://github.com/boyney123/pretend-basket-service"},"tags":[],"externalLinks":[{"label":"AsyncAPI Specification","url":"https://studio.asyncapi.com/#schema-lightMeasuredPayload"}],"publishes":[{"name":"AddedItemToCart","version":"0.0.3","summary":"Holds information about what the user added to their shopping cart.\n","producers":["Basket Service"],"consumers":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[{"label":"AsyncAPI Specification","url":"https://studio.asyncapi.com/#schema-lightMeasuredPayload"}],"historicVersions":["0.0.2","0.0.1"]},{"name":"OrderRequested","version":"0.0.1","summary":"Holds information about the customers order.\n","producers":["Basket Service"],"consumers":["Payment Service"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]},{"name":"RemovedItemFromCart","version":"0.0.1","summary":"Holds information about what the user removed from their cart.\n","producers":["Basket Service"],"consumers":["Data Lake"],"owners":["dboyne","mSmith"],"externalLinks":[],"historicVersions":[]}],"subscribes":[]},"markdown":{"content":"\nSimple API that handles interactions between users and their baskets. Use this service to add, remove and query the status of a users basket.\n\nThis service will also generate Async events for downstream services.\n\n\u003cMermaid /\u003e","lastModifiedDate":"2022/1/26","source":{"compiledSource":"var u=Object.defineProperty,m=Object.defineProperties;var l=Object.getOwnPropertyDescriptors;var r=Object.getOwnPropertySymbols;var a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;var d=(e,t,o)=\u003et in e?u(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,n=(e,t)=\u003e{for(var o in t||(t={}))a.call(t,o)\u0026\u0026d(e,o,t[o]);if(r)for(var o of r(t))i.call(t,o)\u0026\u0026d(e,o,t[o]);return e},p=(e,t)=\u003em(e,l(t));var c=(e,t)=\u003e{var o={};for(var s in e)a.call(e,s)\u0026\u0026t.indexOf(s)\u003c0\u0026\u0026(o[s]=e[s]);if(e!=null\u0026\u0026r)for(var s of r(e))t.indexOf(s)\u003c0\u0026\u0026i.call(e,s)\u0026\u0026(o[s]=e[s]);return o};const makeShortcode=e=\u003efunction(o){return console.warn(\"Component \"+e+\" was not imported, exported, or provided by MDXProvider as global scope\"),mdx(\"div\",n({},o))},Mermaid=makeShortcode(\"Mermaid\"),layoutProps={},MDXLayout=\"wrapper\";function MDXContent(o){var s=o,{components:e}=s,t=c(s,[\"components\"]);return mdx(MDXLayout,p(n(n({},layoutProps),t),{components:e,mdxType:\"MDXLayout\"}),mdx(\"p\",null,\"Simple API that handles interactions between users and their baskets. Use this service to add, remove and query the status of a users basket.\"),mdx(\"p\",null,\"This service will also generate Async events for downstream services.\"),mdx(Mermaid,{mdxType:\"Mermaid\"}))}MDXContent.isMDXComponent=!0;\n","scope":{}}}},"__N_SSG":true},"page":"/services/[name]","query":{"name":"Basket Service"},"buildId":"xWuchBA47-kIcuK-WNSOY","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>