{
  "type": "excalidraw",
  "version": 2,
  "source": "https://hellodrawing.com",
  "elements": [
    {
      "id": "title",
      "type": "text",
      "x": 60,
      "y": 20,
      "width": 840,
      "height": 32.5,
      "angle": 0,
      "strokeColor": "#1e293b",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 100,
      "version": 1,
      "versionNonce": 200,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1791417600000,
      "link": null,
      "locked": false,
      "text": "URL shortener: starting architecture",
      "originalText": "URL shortener: starting architecture",
      "fontSize": 26,
      "fontFamily": 2,
      "textAlign": "center",
      "verticalAlign": "top",
      "containerId": null,
      "autoResize": true,
      "lineHeight": 1.25
    },
    {
      "id": "browser",
      "type": "rectangle",
      "x": 40,
      "y": 150,
      "width": 180,
      "height": 100,
      "angle": 0,
      "strokeColor": "#1e293b",
      "backgroundColor": "#e0f2fe",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 3
      },
      "seed": 101,
      "version": 1,
      "versionNonce": 201,
      "isDeleted": false,
      "boundElements": [
        {
          "id": "request",
          "type": "arrow"
        }
      ],
      "updated": 1791417600000,
      "link": null,
      "locked": false
    },
    {
      "id": "browser-label",
      "type": "text",
      "x": 50,
      "y": 187.5,
      "width": 160,
      "height": 25.0,
      "angle": 0,
      "strokeColor": "#1e293b",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 102,
      "version": 1,
      "versionNonce": 202,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1791417600000,
      "link": null,
      "locked": false,
      "text": "Browser",
      "originalText": "Browser",
      "fontSize": 20,
      "fontFamily": 2,
      "textAlign": "center",
      "verticalAlign": "top",
      "containerId": null,
      "autoResize": true,
      "lineHeight": 1.25
    },
    {
      "id": "service",
      "type": "rectangle",
      "x": 380,
      "y": 150,
      "width": 200,
      "height": 100,
      "angle": 0,
      "strokeColor": "#1e293b",
      "backgroundColor": "#ede9fe",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 3
      },
      "seed": 103,
      "version": 1,
      "versionNonce": 203,
      "isDeleted": false,
      "boundElements": [
        {
          "id": "request",
          "type": "arrow"
        },
        {
          "id": "lookup",
          "type": "arrow"
        },
        {
          "id": "storage",
          "type": "arrow"
        }
      ],
      "updated": 1791417600000,
      "link": null,
      "locked": false
    },
    {
      "id": "service-label",
      "type": "text",
      "x": 390,
      "y": 175.0,
      "width": 180,
      "height": 50.0,
      "angle": 0,
      "strokeColor": "#1e293b",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 104,
      "version": 1,
      "versionNonce": 204,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1791417600000,
      "link": null,
      "locked": false,
      "text": "URL service\nCreate + redirect",
      "originalText": "URL service\nCreate + redirect",
      "fontSize": 20,
      "fontFamily": 2,
      "textAlign": "center",
      "verticalAlign": "top",
      "containerId": null,
      "autoResize": true,
      "lineHeight": 1.25
    },
    {
      "id": "cache",
      "type": "rectangle",
      "x": 760,
      "y": 150,
      "width": 160,
      "height": 100,
      "angle": 0,
      "strokeColor": "#1e293b",
      "backgroundColor": "#fef3c7",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 3
      },
      "seed": 105,
      "version": 1,
      "versionNonce": 205,
      "isDeleted": false,
      "boundElements": [
        {
          "id": "lookup",
          "type": "arrow"
        }
      ],
      "updated": 1791417600000,
      "link": null,
      "locked": false
    },
    {
      "id": "cache-label",
      "type": "text",
      "x": 770,
      "y": 175.0,
      "width": 140,
      "height": 50.0,
      "angle": 0,
      "strokeColor": "#1e293b",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 106,
      "version": 1,
      "versionNonce": 206,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1791417600000,
      "link": null,
      "locked": false,
      "text": "Cache\nOptional",
      "originalText": "Cache\nOptional",
      "fontSize": 20,
      "fontFamily": 2,
      "textAlign": "center",
      "verticalAlign": "top",
      "containerId": null,
      "autoResize": true,
      "lineHeight": 1.25
    },
    {
      "id": "database",
      "type": "rectangle",
      "x": 380,
      "y": 390,
      "width": 200,
      "height": 100,
      "angle": 0,
      "strokeColor": "#1e293b",
      "backgroundColor": "#dcfce7",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": {
        "type": 3
      },
      "seed": 107,
      "version": 1,
      "versionNonce": 207,
      "isDeleted": false,
      "boundElements": [
        {
          "id": "storage",
          "type": "arrow"
        }
      ],
      "updated": 1791417600000,
      "link": null,
      "locked": false
    },
    {
      "id": "database-label",
      "type": "text",
      "x": 390,
      "y": 415.0,
      "width": 180,
      "height": 50.0,
      "angle": 0,
      "strokeColor": "#1e293b",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 108,
      "version": 1,
      "versionNonce": 208,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1791417600000,
      "link": null,
      "locked": false,
      "text": "Link database\ncode \u2192 long URL",
      "originalText": "Link database\ncode \u2192 long URL",
      "fontSize": 20,
      "fontFamily": 2,
      "textAlign": "center",
      "verticalAlign": "top",
      "containerId": null,
      "autoResize": true,
      "lineHeight": 1.25
    },
    {
      "id": "request",
      "type": "arrow",
      "x": 230,
      "y": 200,
      "width": 140,
      "height": 0,
      "angle": 0,
      "strokeColor": "#1e293b",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 109,
      "version": 1,
      "versionNonce": 209,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1791417600000,
      "link": null,
      "locked": false,
      "points": [
        [
          0,
          0
        ],
        [
          140,
          0
        ]
      ],
      "startBinding": {
        "elementId": "browser",
        "focus": 0,
        "gap": 10
      },
      "endBinding": {
        "elementId": "service",
        "focus": 0,
        "gap": 10
      },
      "startArrowhead": null,
      "endArrowhead": "arrow",
      "elbowed": false,
      "lastCommittedPoint": null
    },
    {
      "id": "request-label",
      "type": "text",
      "x": 225,
      "y": 155,
      "width": 150,
      "height": 20.0,
      "angle": 0,
      "strokeColor": "#1e293b",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 110,
      "version": 1,
      "versionNonce": 210,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1791417600000,
      "link": null,
      "locked": false,
      "text": "Create / resolve",
      "originalText": "Create / resolve",
      "fontSize": 16,
      "fontFamily": 2,
      "textAlign": "center",
      "verticalAlign": "top",
      "containerId": null,
      "autoResize": true,
      "lineHeight": 1.25
    },
    {
      "id": "lookup",
      "type": "arrow",
      "x": 590,
      "y": 200,
      "width": 160,
      "height": 0,
      "angle": 0,
      "strokeColor": "#1e293b",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 111,
      "version": 1,
      "versionNonce": 211,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1791417600000,
      "link": null,
      "locked": false,
      "points": [
        [
          0,
          0
        ],
        [
          160,
          0
        ]
      ],
      "startBinding": {
        "elementId": "service",
        "focus": 0,
        "gap": 10
      },
      "endBinding": {
        "elementId": "cache",
        "focus": 0,
        "gap": 10
      },
      "startArrowhead": null,
      "endArrowhead": "arrow",
      "elbowed": false,
      "lastCommittedPoint": null
    },
    {
      "id": "lookup-label",
      "type": "text",
      "x": 590,
      "y": 155,
      "width": 160,
      "height": 20.0,
      "angle": 0,
      "strokeColor": "#1e293b",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 112,
      "version": 1,
      "versionNonce": 212,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1791417600000,
      "link": null,
      "locked": false,
      "text": "Lookup code",
      "originalText": "Lookup code",
      "fontSize": 16,
      "fontFamily": 2,
      "textAlign": "center",
      "verticalAlign": "top",
      "containerId": null,
      "autoResize": true,
      "lineHeight": 1.25
    },
    {
      "id": "storage",
      "type": "arrow",
      "x": 480,
      "y": 260,
      "width": 0,
      "height": 120,
      "angle": 0,
      "strokeColor": "#1e293b",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 113,
      "version": 1,
      "versionNonce": 213,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1791417600000,
      "link": null,
      "locked": false,
      "points": [
        [
          0,
          0
        ],
        [
          0,
          120
        ]
      ],
      "startBinding": {
        "elementId": "service",
        "focus": 0,
        "gap": 10
      },
      "endBinding": {
        "elementId": "database",
        "focus": 0,
        "gap": 10
      },
      "startArrowhead": null,
      "endArrowhead": "arrow",
      "elbowed": false,
      "lastCommittedPoint": null
    },
    {
      "id": "storage-label",
      "type": "text",
      "x": 500,
      "y": 300,
      "width": 210,
      "height": 40.0,
      "angle": 0,
      "strokeColor": "#1e293b",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "seed": 114,
      "version": 1,
      "versionNonce": 214,
      "isDeleted": false,
      "boundElements": [],
      "updated": 1791417600000,
      "link": null,
      "locked": false,
      "text": "Write mapping\nRead on cache miss",
      "originalText": "Write mapping\nRead on cache miss",
      "fontSize": 16,
      "fontFamily": 2,
      "textAlign": "center",
      "verticalAlign": "top",
      "containerId": null,
      "autoResize": true,
      "lineHeight": 1.25
    }
  ],
  "appState": {
    "viewBackgroundColor": "#ffffff",
    "gridSize": null
  },
  "files": {}
}
