diff --git a/src/data/roadmaps/backend/backend-beginner.json b/src/data/roadmaps/backend/backend-beginner.json index 3abf35c94..b47a78a6e 100644 --- a/src/data/roadmaps/backend/backend-beginner.json +++ b/src/data/roadmaps/backend/backend-beginner.json @@ -1,3214 +1 @@ -{ - "mockup": { - "controls": { - "control": [ - { - "ID": "2155", - "typeID": "Arrow", - "zOrder": "18", - "w": "1", - "h": "177", - "measuredW": "150", - "measuredH": "100", - "x": "1251", - "y": "846", - "properties": { - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "color": "3700253", - "p0": { - "x": 1.0826222816126574, - "y": -0.00765522788196904 - }, - "p1": { - "x": 0.46737830066706726, - "y": -0.003606051439574667 - }, - "p2": { - "x": 1.0826222816126574, - "y": 176.9643106904665 - } - } - }, - { - "ID": "2168", - "typeID": "Arrow", - "zOrder": "19", - "w": "139", - "h": "27", - "measuredW": "150", - "measuredH": "100", - "x": "1019", - "y": "1491", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.06462658260011267, - "y": 27.019432060373674 - }, - "p1": { - "x": 0.4665558798140599, - "y": 0.07029751256299145 - }, - "p2": { - "x": 139.27696294456564, - "y": 0.2229725359186432 - } - } - }, - { - "ID": "2169", - "typeID": "Arrow", - "zOrder": "20", - "w": "154", - "h": "18", - "measuredW": "150", - "measuredH": "100", - "x": "1015", - "y": "1462", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.08409551126828774, - "y": -0.25313294098191363 - }, - "p1": { - "x": 0.4534602255665107, - "y": -0.06413455828959744 - }, - "p2": { - "x": 153.99554675434774, - "y": 14.484919797468365 - } - } - }, - { - "ID": "2172", - "typeID": "Arrow", - "zOrder": "21", - "w": "107", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1371", - "y": "1360", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.4734542725983134, - "y": -0.00011162392477927755 - }, - "p2": { - "x": 107.31478788338131, - "y": -0.5 - }, - "stroke": "dotted" - } - }, - { - "ID": "2180", - "typeID": "Arrow", - "zOrder": "22", - "w": "144", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1038", - "y": "969", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.24980034602958767, - "y": 0.04191001796402816 - }, - "p1": { - "x": 0.49999999999999994, - "y": 0 - }, - "p2": { - "x": 143.51622394886613, - "y": 0.04191001796402816 - } - } - }, - { - "ID": "2185", - "typeID": "__group__", - "zOrder": "23", - "measuredW": "169", - "measuredH": "40", - "w": "169", - "h": "40", - "x": "861", - "y": "1596", - "properties": { - "controlName": "104-apis:authentication:jwt" - }, - "children": { - "controls": { - "control": [ - { - "ID": "3", - "typeID": "Canvas", - "zOrder": "0", - "w": "169", - "h": "40", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "1", - "measuredW": "35", - "measuredH": "25", - "x": "67", - "y": "7", - "properties": { - "text": "JWT", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2188", - "typeID": "__group__", - "zOrder": "24", - "measuredW": "269", - "measuredH": "50", - "w": "269", - "h": "50", - "x": "1148", - "y": "1335", - "properties": { - "controlName": "106-relational-databases" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "269", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "165", - "measuredH": "25", - "x": "52", - "y": "13", - "properties": { - "size": "17", - "text": "Relational Databases" - } - } - ] - } - } - }, - { - "ID": "2189", - "typeID": "__group__", - "zOrder": "25", - "measuredW": "169", - "measuredH": "40", - "w": "169", - "h": "40", - "x": "1471", - "y": "1340", - "properties": { - "controlName": "100-relational-databases:postgresql" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "169", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "96", - "measuredW": "93", - "measuredH": "25", - "x": "37", - "y": "7", - "properties": { - "size": "17", - "text": "PostgreSQL" - } - } - ] - } - } - }, - { - "ID": "2191", - "typeID": "__group__", - "zOrder": "26", - "measuredW": "211", - "measuredH": "50", - "w": "211", - "h": "50", - "x": "1146", - "y": "1757", - "properties": { - "controlName": "108-more-about-databases" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "211", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "176", - "measuredH": "25", - "x": "18", - "y": "13", - "properties": { - "text": "More about Databases", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2192", - "typeID": "__group__", - "zOrder": "27", - "measuredW": "206", - "measuredH": "40", - "w": "206", - "h": "40", - "x": "1470", - "y": "1780", - "properties": { - "controlName": "102-more-about-databases:transactions" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "206", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "105", - "measuredW": "99", - "measuredH": "25", - "x": "50", - "y": "7", - "properties": { - "size": "17", - "text": "Transactions" - } - } - ] - } - } - }, - { - "ID": "2193", - "typeID": "__group__", - "zOrder": "28", - "measuredW": "206", - "measuredH": "40", - "w": "206", - "h": "40", - "x": "1470", - "y": "1824", - "properties": { - "controlName": "103-more-about-databases:n-plus-one-problem" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "206", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "99", - "measuredH": "25", - "x": "53", - "y": "7", - "properties": { - "text": "N+1 Problem", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2194", - "typeID": "__group__", - "zOrder": "29", - "measuredW": "205", - "measuredH": "40", - "w": "205", - "h": "40", - "x": "1471", - "y": "1692", - "properties": { - "controlName": "100-scaling-databases:database-indexes" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "205", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "140", - "measuredH": "25", - "x": "34", - "y": "7", - "properties": { - "size": "17", - "text": "Database Indexes" - } - } - ] - } - } - }, - { - "ID": "2195", - "typeID": "__group__", - "zOrder": "30", - "measuredW": "273", - "measuredH": "50", - "w": "273", - "h": "50", - "x": "1145", - "y": "1460", - "properties": { - "controlName": "109-apis" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "273", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "133", - "measuredH": "25", - "x": "70", - "y": "13", - "properties": { - "text": "Learn about APIs", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2196", - "typeID": "__group__", - "zOrder": "31", - "measuredW": "166", - "measuredH": "40", - "w": "166", - "h": "40", - "x": "864", - "y": "1447", - "properties": { - "controlName": "100-apis:rest" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "166", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "49", - "measuredW": "44", - "measuredH": "25", - "x": "58", - "y": "7", - "properties": { - "size": "17", - "text": "REST" - } - } - ] - } - } - }, - { - "ID": "2197", - "typeID": "__group__", - "zOrder": "32", - "measuredW": "167", - "measuredH": "40", - "w": "167", - "h": "40", - "x": "863", - "y": "1492", - "properties": { - "controlName": "101-apis:json-apis" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "167", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "90", - "measuredW": "85", - "measuredH": "25", - "x": "39", - "y": "7", - "properties": { - "size": "17", - "text": "JSON APIs" - } - } - ] - } - } - }, - { - "ID": "2198", - "typeID": "__group__", - "zOrder": "33", - "measuredW": "170", - "measuredH": "50", - "w": "170", - "h": "50", - "x": "861", - "y": "1549", - "properties": { - "controlName": "106-apis:authentication" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "170", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "111", - "measuredW": "111", - "measuredH": "25", - "x": "29", - "y": "12", - "properties": { - "size": "17", - "text": "Authentication" - } - } - ] - } - } - }, - { - "ID": "2199", - "typeID": "Label", - "zOrder": "34", - "measuredW": "128", - "measuredH": "40", - "x": "1200", - "y": "789", - "properties": { - "size": "32", - "text": "Backend" - } - }, - { - "ID": "2200", - "typeID": "Arrow", - "zOrder": "35", - "w": "1", - "h": "75", - "measuredW": "150", - "measuredH": "100", - "x": "1251", - "y": "702", - "properties": { - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.43268541466795796, - "y": -0.4292144763719534 - }, - "p1": { - "x": 0.4673783006670677, - "y": -0.0036060514395746665 - }, - "p2": { - "x": 0.08850738176079176, - "y": 74.41806720423438 - }, - "color": "3700253" - } - }, - { - "ID": "2201", - "typeID": "__group__", - "zOrder": "36", - "measuredW": "350", - "measuredH": "141", - "w": "350", - "h": "141", - "x": "1473", - "y": "670", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "350", - "h": "141", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "314", - "measuredH": "25", - "x": "14", - "y": "17", - "properties": { - "size": "17", - "text": "Find the detailed version of this roadmap" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "319", - "measuredH": "25", - "x": "14", - "y": "45", - "properties": { - "size": "17", - "text": "along with resources and other roadmaps" - } - }, - { - "ID": "3", - "typeID": "__group__", - "zOrder": "3", - "measuredW": "320", - "measuredH": "45", - "w": "320", - "h": "45", - "x": "15", - "y": "81", - "properties": { - "controlName": "ext_link:roadmap.sh" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "320", - "h": "45", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "borderColor": "4273622", - "color": "4273622" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "105", - "measuredH": "28", - "x": "141", - "y": "8", - "properties": { - "color": "16777215", - "size": "20", - "text": "roadmap.sh" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "45", - "measuredH": "28", - "x": "66", - "y": "8", - "properties": { - "color": "16777215", - "size": "20", - "text": "https" - } - }, - { - "ID": "3", - "typeID": "Label", - "zOrder": "3", - "measuredW": "5", - "measuredH": "28", - "x": "113", - "y": "8", - "properties": { - "bold": "true", - "color": "16777215", - "size": "20", - "text": ":" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "4", - "measuredW": "10", - "measuredH": "28", - "x": "120", - "y": "9", - "properties": { - "color": "16777215", - "size": "20", - "text": "/" - } - }, - { - "ID": "5", - "typeID": "Label", - "zOrder": "5", - "measuredW": "10", - "measuredH": "28", - "x": "128", - "y": "9", - "properties": { - "color": "16777215", - "size": "20", - "text": "/" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2203", - "typeID": "__group__", - "zOrder": "37", - "measuredW": "144", - "measuredH": "40", - "w": "144", - "h": "40", - "x": "915", - "y": "993", - "properties": { - "controlName": "100-learn-a-language:go" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "136", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "26", - "measuredW": "23", - "measuredH": "25", - "x": "63", - "y": "7", - "properties": { - "size": "17", - "text": "Go" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "2204", - "typeID": "__group__", - "zOrder": "38", - "measuredW": "272", - "measuredH": "50", - "w": "272", - "h": "50", - "x": "1147", - "y": "944", - "properties": { - "controlName": "103-learn-a-language" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "272", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "141", - "measuredH": "25", - "x": "65", - "y": "13", - "properties": { - "text": "Learn a Language", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2205", - "typeID": "__group__", - "zOrder": "39", - "measuredW": "146", - "measuredH": "40", - "w": "146", - "h": "40", - "x": "913", - "y": "903", - "properties": { - "controlName": "105-learn-a-language:javascript" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "136", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "85", - "measuredW": "81", - "measuredH": "25", - "x": "37", - "y": "8", - "properties": { - "size": "17", - "text": "JavaScript" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - }, - { - "ID": "2206", - "typeID": "__group__", - "zOrder": "40", - "measuredW": "145", - "measuredH": "40", - "w": "145", - "h": "40", - "x": "914", - "y": "948", - "properties": { - "controlName": "106-learn-a-language:python" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "136", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "56", - "measuredW": "53", - "measuredH": "25", - "x": "49", - "y": "8", - "properties": { - "size": "17", - "text": "Python" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "2211", - "typeID": "__group__", - "zOrder": "41", - "measuredW": "205", - "measuredH": "40", - "w": "205", - "h": "40", - "x": "1470", - "y": "1736", - "properties": { - "controlName": "100-more-about-databases:orms" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "205", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "49", - "measuredW": "49", - "measuredH": "25", - "x": "78", - "y": "7", - "properties": { - "size": "17", - "text": "ORMs" - } - } - ] - } - } - }, - { - "ID": "2221", - "typeID": "Arrow", - "zOrder": "42", - "w": "3", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1848", - "y": "829", - "properties": { - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "color": "16777215", - "p0": { - "x": 0.14652915468354877, - "y": 0.452028801972574 - }, - "p1": { - "x": 0.47345427259831346, - "y": -0.00011162392477928299 - }, - "p2": { - "x": 2.7298768229543384, - "y": 0.452028801972574 - } - } - }, - { - "ID": "2222", - "typeID": "Arrow", - "zOrder": "43", - "w": "3", - "h": "3", - "measuredW": "150", - "measuredH": "100", - "x": "648", - "y": "882", - "properties": { - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "color": "16777215", - "p0": { - "x": 0.2658611453201729, - "y": 2.452028801972574 - }, - "p1": { - "x": 0.4734542725983134, - "y": -0.00011162392477936523 - }, - "p2": { - "x": 3.1065906667259924, - "y": -0.38870071943324547 - } - } - }, - { - "ID": "2223", - "typeID": "Arrow", - "zOrder": "44", - "w": "3", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1369", - "y": "637", - "properties": { - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "color": "16777215", - "p0": { - "x": 0.14652915468354877, - "y": 0.452028801972574 - }, - "p1": { - "x": 0.47345427259831346, - "y": -0.00011162392477928299 - }, - "p2": { - "x": 2.7298768229543384, - "y": 0.452028801972574 - } - } - }, - { - "ID": "2224", - "typeID": "Arrow", - "zOrder": "17", - "w": "114", - "h": "32", - "measuredW": "150", - "measuredH": "100", - "x": "1053", - "y": "923", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.1257521407827653, - "y": -0.30013658969107837 - }, - "p1": { - "x": 0.41833810888252165, - "y": -0.1060171919770771 - }, - "p2": { - "x": 114.1798056113546, - "y": 31.45140723034706 - } - } - }, - { - "ID": "2225", - "typeID": "Arrow", - "zOrder": "16", - "w": "117", - "h": "39", - "measuredW": "150", - "measuredH": "100", - "x": "1054", - "y": "980", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.14430961201878745, - "y": 39.224556623224885 - }, - "p1": { - "x": 0.4389989572471317, - "y": 0.10010427528675775 - }, - "p2": { - "x": 116.98999086975914, - "y": -0.14735771362245487 - } - } - }, - { - "ID": "2226", - "typeID": "Label", - "zOrder": "45", - "measuredW": "348", - "measuredH": "26", - "x": "667", - "y": "1066", - "properties": { - "color": "4985136", - "size": "18", - "text": "When you are following this roadmap, make" - } - }, - { - "ID": "2227", - "typeID": "Label", - "zOrder": "46", - "measuredW": "338", - "measuredH": "26", - "x": "667", - "y": "1099", - "properties": { - "color": "4985136", - "size": "18", - "text": "sure to build as many projects as possible" - } - }, - { - "ID": "2228", - "typeID": "Label", - "zOrder": "47", - "measuredW": "145", - "measuredH": "32", - "x": "667", - "y": "1022", - "properties": { - "color": "4985136", - "size": "24", - "text": "Important Tip" - } - }, - { - "ID": "2229", - "typeID": "Label", - "zOrder": "48", - "measuredW": "242", - "measuredH": "26", - "x": "667", - "y": "1129", - "properties": { - "color": "4985136", - "size": "18", - "text": "for each node of the roadmap" - } - }, - { - "ID": "2230", - "typeID": "Label", - "zOrder": "49", - "measuredW": "357", - "measuredH": "26", - "x": "1473", - "y": "852", - "properties": { - "color": "4985136", - "size": "18", - "text": "If you are a frontend developer, jumping into" - } - }, - { - "ID": "2231", - "typeID": "Label", - "zOrder": "50", - "measuredW": "348", - "measuredH": "26", - "x": "1473", - "y": "882", - "properties": { - "color": "4985136", - "size": "18", - "text": "backend development, I would recommend" - } - }, - { - "ID": "2232", - "typeID": "Label", - "zOrder": "51", - "measuredW": "319", - "measuredH": "26", - "x": "1473", - "y": "912", - "properties": { - "color": "4985136", - "size": "18", - "text": "picking JavaScript and learning Node.js" - } - }, - { - "ID": "2233", - "typeID": "Label", - "zOrder": "52", - "measuredW": "353", - "measuredH": "26", - "x": "1473", - "y": "942", - "properties": { - "color": "4985136", - "size": "18", - "text": "to get up to speed. Alternatively, Python and" - } - }, - { - "ID": "2234", - "typeID": "Label", - "zOrder": "53", - "measuredW": "208", - "measuredH": "26", - "x": "1473", - "y": "972", - "properties": { - "color": "4985136", - "size": "18", - "text": "Go are also good options." - } - }, - { - "ID": "2235", - "typeID": "Label", - "zOrder": "54", - "measuredW": "347", - "measuredH": "26", - "x": "1473", - "y": "1013", - "properties": { - "size": "18", - "text": "Pick any language, learn the language, and", - "color": "3700253" - } - }, - { - "ID": "2236", - "typeID": "Label", - "zOrder": "55", - "measuredW": "355", - "measuredH": "26", - "x": "1473", - "y": "1043", - "properties": { - "size": "18", - "color": "3700253", - "text": "build some CLI applications to practice your" - } - }, - { - "ID": "2237", - "typeID": "Label", - "zOrder": "56", - "measuredW": "223", - "measuredH": "26", - "x": "1473", - "y": "1073", - "properties": { - "size": "18", - "color": "3700253", - "text": "knowledge of the language." - } - }, - { - "ID": "2238", - "typeID": "Arrow", - "zOrder": "57", - "w": "116", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1071", - "y": "1179", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.17790705272341256, - "y": 0.4387080768251508 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 115.75019965397041, - "y": 0.43870807682526447 - } - } - }, - { - "ID": "2239", - "typeID": "__group__", - "zOrder": "58", - "measuredW": "95", - "measuredH": "50", - "w": "95", - "h": "50", - "x": "1000", - "y": "1156", - "properties": { - "controlName": "100-version-control-systems:git" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "95", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "22", - "measuredH": "25", - "x": "37", - "y": "12", - "properties": { - "size": "17", - "text": "Git" - } - } - ] - } - } - }, - { - "ID": "2240", - "typeID": "__group__", - "zOrder": "59", - "measuredW": "275", - "measuredH": "50", - "w": "275", - "h": "50", - "x": "1147", - "y": "1155", - "properties": { - "controlName": "104-version-control-systems" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "275", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "186", - "measuredH": "25", - "x": "45", - "y": "12", - "properties": { - "text": "Version Control Systems", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2241", - "typeID": "Arrow", - "zOrder": "15", - "w": "1", - "h": "137", - "measuredW": "150", - "measuredH": "100", - "x": "1251", - "y": "1034", - "properties": { - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 0.08262228161265739, - "y": 0.45817900313909377 - }, - "p1": { - "x": 0.4673783006670674, - "y": -0.0036060514395746678 - }, - "p2": { - "x": 0.08262228161265739, - "y": 137.67519270679327 - } - } - }, - { - "ID": "2242", - "typeID": "Label", - "zOrder": "60", - "measuredW": "278", - "measuredH": "26", - "x": "1473", - "y": "1143", - "properties": { - "color": "4985136", - "size": "18", - "text": "Create your GitHub profile. Publish" - } - }, - { - "ID": "2243", - "typeID": "Label", - "zOrder": "61", - "measuredW": "300", - "measuredH": "26", - "x": "1473", - "y": "1173", - "properties": { - "color": "4985136", - "size": "18", - "text": "the projects that you have developed" - } - }, - { - "ID": "2244", - "typeID": "Label", - "zOrder": "62", - "measuredW": "229", - "measuredH": "26", - "x": "1473", - "y": "1203", - "properties": { - "color": "4985136", - "size": "18", - "text": "so far to your GitHub profile." - } - }, - { - "ID": "2245", - "typeID": "Label", - "zOrder": "63", - "measuredW": "249", - "measuredH": "26", - "x": "1473", - "y": "1238", - "properties": { - "size": "18", - "text": "Use git for your future projects.", - "color": "10027263" - } - }, - { - "ID": "2247", - "typeID": "Label", - "zOrder": "64", - "measuredW": "420", - "measuredH": "26", - "x": "665", - "y": "1297", - "properties": { - "color": "4985136", - "size": "18", - "text": "Learn about the relational databases, normalization," - } - }, - { - "ID": "2248", - "typeID": "Label", - "zOrder": "65", - "measuredW": "418", - "measuredH": "26", - "x": "665", - "y": "1324", - "properties": { - "color": "4985136", - "size": "18", - "text": "learn SQL, db migrations, indexes and performance." - } - }, - { - "ID": "2250", - "typeID": "Label", - "zOrder": "66", - "measuredW": "386", - "measuredH": "26", - "x": "665", - "y": "1358", - "properties": { - "size": "18", - "text": "Make some CLI application that uses database.", - "color": "11820806" - } - }, - { - "ID": "2251", - "typeID": "Arrow", - "zOrder": "14", - "w": "1", - "h": "104", - "measuredW": "150", - "measuredH": "100", - "x": "1251", - "y": "1302", - "properties": { - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "color": "11820806", - "p0": { - "x": 0.08262228161265739, - "y": 0.45817900313909377 - }, - "p1": { - "x": 0.4673783006670672, - "y": -0.003606051439574666 - }, - "p2": { - "x": 0.08262228161265739, - "y": 104.8141250338856 - } - } - }, - { - "ID": "2253", - "typeID": "__group__", - "zOrder": "67", - "measuredW": "98", - "measuredH": "49", - "w": "98", - "h": "49", - "x": "997", - "y": "1212", - "properties": { - "controlName": "100-repo-hosting-services:github" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "98", - "h": "49", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "54", - "measuredH": "25", - "x": "27", - "y": "12", - "properties": { - "text": "GitHub", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2254", - "typeID": "__group__", - "zOrder": "68", - "measuredW": "275", - "measuredH": "50", - "w": "275", - "h": "50", - "x": "1149", - "y": "1210", - "properties": { - "controlName": "105-repo-hosting-services" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "275", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "172", - "measuredH": "25", - "x": "52", - "y": "12", - "properties": { - "text": "Repo hosting services", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2255", - "typeID": "Arrow", - "zOrder": "13", - "w": "116", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1071", - "y": "1237", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.17790705272341256, - "y": 0.4387080768251508 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 115.75019965397041, - "y": 0.43870807682526447 - } - } - }, - { - "ID": "2256", - "typeID": "Arrow", - "zOrder": "12", - "w": "1", - "h": "58", - "measuredW": "150", - "measuredH": "100", - "x": "1251", - "y": "1235", - "properties": { - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 0.08262228161265739, - "y": 0.45817900313909377 - }, - "p1": { - "x": 0.4673783006670675, - "y": -0.0036060514395746678 - }, - "p2": { - "x": 0.08262228161265739, - "y": 58.599083543063216 - } - } - }, - { - "ID": "2265", - "typeID": "Arrow", - "zOrder": "11", - "w": "1", - "h": "113", - "measuredW": "150", - "measuredH": "100", - "x": "1251", - "y": "1418", - "properties": { - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 0.08262228161265739, - "y": 0.2026203317789168 - }, - "p1": { - "x": 0.4673783006670673, - "y": -0.003606051439574669 - }, - "p2": { - "x": 0.08262228161265739, - "y": 113.41766182260108 - } - } - }, - { - "ID": "2267", - "typeID": "Label", - "zOrder": "69", - "measuredW": "309", - "measuredH": "26", - "x": "1470", - "y": "1441", - "properties": { - "color": "4985136", - "size": "18", - "text": "Learn how to build APIs and add auth-" - } - }, - { - "ID": "2268", - "typeID": "Label", - "zOrder": "70", - "measuredW": "251", - "measuredH": "26", - "x": "1470", - "y": "1468", - "properties": { - "color": "4985136", - "size": "18", - "text": "entication to secure endpoints." - } - }, - { - "ID": "2269", - "typeID": "Label", - "zOrder": "71", - "measuredW": "377", - "measuredH": "26", - "x": "1470", - "y": "1506", - "properties": { - "size": "18", - "text": "Develop some RESTful API and add JWT Auth.", - "color": "10027263" - } - }, - { - "ID": "2270", - "typeID": "Arrow", - "zOrder": "10", - "w": "145", - "h": "87", - "measuredW": "150", - "measuredH": "100", - "x": "1020", - "y": "1498", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.27519639362265025, - "y": 87.01058087151091 - }, - "p1": { - "x": 0.46723646723646683, - "y": 0.14529914529914467 - }, - "p2": { - "x": 144.97607782567957, - "y": -0.07791258296765591 - } - } - }, - { - "ID": "2271", - "typeID": "Arrow", - "zOrder": "9", - "w": "1", - "h": "106", - "measuredW": "150", - "measuredH": "100", - "x": "1251", - "y": "1542", - "properties": { - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "color": "11820806", - "p0": { - "x": 0.08262228161265739, - "y": -0.2708353187069861 - }, - "p1": { - "x": 0.46737830066706704, - "y": -0.0036060514395746673 - }, - "p2": { - "x": 0.08262228161265739, - "y": 105.9822607539802 - } - } - }, - { - "ID": "2272", - "typeID": "Arrow", - "zOrder": "8", - "w": "99", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1250", - "y": "1593", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.21279569788953268, - "y": 0.40095678414945723 - }, - "p1": { - "x": 0.4734542725983135, - "y": -0.0001116239247792803 - }, - "p2": { - "x": 98.87518164630478, - "y": 0.40095678414945723 - } - } - }, - { - "ID": "2273", - "typeID": "__group__", - "zOrder": "72", - "measuredW": "130", - "measuredH": "50", - "w": "130", - "h": "50", - "x": "1147", - "y": "1569", - "properties": { - "controlName": "110-caching" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "130", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "64", - "measuredH": "25", - "x": "33", - "y": "13", - "properties": { - "text": "Caching", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2274", - "typeID": "__group__", - "zOrder": "73", - "measuredW": "115", - "measuredH": "40", - "w": "115", - "h": "40", - "x": "1302", - "y": "1574", - "properties": { - "controlName": "100-caching:server-side:redis" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "115", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "46", - "measuredW": "45", - "measuredH": "25", - "x": "35", - "y": "8", - "properties": { - "size": "17", - "text": "Redis" - } - } - ] - } - } - }, - { - "ID": "2275", - "typeID": "Label", - "zOrder": "74", - "measuredW": "325", - "measuredH": "26", - "x": "1470", - "y": "1564", - "properties": { - "color": "4985136", - "size": "18", - "text": "Learn about different caching strategies" - } - }, - { - "ID": "2276", - "typeID": "Label", - "zOrder": "75", - "measuredW": "258", - "measuredH": "26", - "x": "1470", - "y": "1592", - "properties": { - "color": "4985136", - "size": "18", - "text": "Including HTTP caching as well." - } - }, - { - "ID": "2277", - "typeID": "Label", - "zOrder": "76", - "measuredW": "387", - "measuredH": "26", - "x": "1470", - "y": "1628", - "properties": { - "size": "18", - "color": "11820806", - "text": "Use Redis in some application for performance." - } - }, - { - "ID": "2278", - "typeID": "Arrow", - "zOrder": "7", - "w": "1", - "h": "163", - "measuredW": "150", - "measuredH": "100", - "x": "1251", - "y": "1659", - "properties": { - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 1.0826222816126574, - "y": 0.2026203317789168 - }, - "p1": { - "x": 0.4673783006670671, - "y": -0.0036060514395746695 - }, - "p2": { - "x": 1.0826222816126574, - "y": 163.15924766293733 - } - } - }, - { - "ID": "2279", - "typeID": "Arrow", - "zOrder": "6", - "w": "143", - "h": "60", - "measuredW": "150", - "measuredH": "100", - "x": "1339", - "y": "1708", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.15306473463670045, - "y": 60.5663286140275 - }, - "p1": { - "x": 0.50878873841777, - "y": -0.08602102696235464 - }, - "p2": { - "x": 143.51412319047085, - "y": 0.2742946840037348 - } - } - }, - { - "ID": "2280", - "typeID": "Arrow", - "zOrder": "5", - "w": "140", - "h": "21", - "measuredW": "150", - "measuredH": "100", - "x": "1346", - "y": "1756", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.14782038424959865, - "y": 20.605266471364075 - }, - "p1": { - "x": 0.5049876784965737, - "y": -0.04117901161463641 - }, - "p2": { - "x": 140.3147878833813, - "y": -0.5 - } - } - }, - { - "ID": "2281", - "typeID": "Arrow", - "zOrder": "4", - "w": "147", - "h": "17", - "measuredW": "150", - "measuredH": "100", - "x": "1334", - "y": "1789", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.20622717025435122, - "y": 1.003496233591477 - }, - "p1": { - "x": 0.5414707973491237, - "y": 0.04604856083293399 - }, - "p2": { - "x": 147.17430021424798, - "y": 17.081371948264405 - } - } - }, - { - "ID": "2282", - "typeID": "Arrow", - "zOrder": "3", - "w": "142", - "h": "51", - "measuredW": "150", - "measuredH": "100", - "x": "1339", - "y": "1799", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.15306473463670045, - "y": 0.38225706715070373 - }, - "p1": { - "x": 0.4769533667572815, - "y": 0.08464143678172667 - }, - "p2": { - "x": 142.17430021424798, - "y": 51.29553016361501 - } - } - }, - { - "ID": "2283", - "typeID": "Label", - "zOrder": "77", - "measuredW": "395", - "measuredH": "26", - "x": "667", - "y": "1703", - "properties": { - "color": "4985136", - "size": "18", - "text": "Learn about additional database topics including" - } - }, - { - "ID": "2284", - "typeID": "Label", - "zOrder": "78", - "measuredW": "401", - "measuredH": "26", - "x": "667", - "y": "1730", - "properties": { - "color": "4985136", - "size": "18", - "text": "performance analysis, ORMs, limitations, common" - } - }, - { - "ID": "2285", - "typeID": "Label", - "zOrder": "79", - "measuredW": "322", - "measuredH": "26", - "x": "667", - "y": "1799", - "properties": { - "size": "18", - "color": "11820806", - "text": "Get some experience withs some ORM." - } - }, - { - "ID": "2286", - "typeID": "Arrow", - "zOrder": "80", - "w": "1", - "h": "304", - "measuredW": "150", - "measuredH": "100", - "x": "1250", - "y": "1836", - "properties": { - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "color": "11820806", - "p0": { - "x": 1.0826222816126574, - "y": 0.45817900313909377 - }, - "p1": { - "x": 0.4673783006670671, - "y": -0.003606051439574667 - }, - "p2": { - "x": 1.0826222816126574, - "y": 304.3477355871719 - } - } - }, - { - "ID": "2288", - "typeID": "__group__", - "zOrder": "81", - "measuredW": "212", - "measuredH": "50", - "w": "212", - "h": "50", - "x": "1147", - "y": "1892", - "properties": { - "controlName": "112-testing" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "212", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "56", - "measuredH": "25", - "x": "78", - "y": "13", - "properties": { - "text": "Testing", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2289", - "typeID": "__group__", - "zOrder": "82", - "measuredW": "212", - "measuredH": "40", - "w": "212", - "h": "40", - "x": "828", - "y": "1856", - "properties": { - "controlName": "100-testing:integration-testing" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "212", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "144", - "measuredH": "25", - "x": "34", - "y": "7", - "properties": { - "text": "Integration Testing", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2290", - "typeID": "__group__", - "zOrder": "83", - "measuredW": "214", - "measuredH": "37", - "w": "214", - "h": "37", - "x": "826", - "y": "1900", - "properties": { - "controlName": "101-testing:unit-testing" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "214", - "h": "37", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "91", - "measuredH": "25", - "x": "61", - "y": "6", - "properties": { - "text": "Unit Testing", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2291", - "typeID": "__group__", - "zOrder": "84", - "measuredW": "214", - "measuredH": "37", - "w": "214", - "h": "37", - "x": "826", - "y": "1941", - "properties": { - "controlName": "102-testing:functional-testing" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "214", - "h": "37", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "140", - "measuredH": "25", - "x": "37", - "y": "6", - "properties": { - "text": "Functional Testing", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2292", - "typeID": "Arrow", - "zOrder": "2", - "w": "130", - "h": "30", - "measuredW": "150", - "measuredH": "100", - "x": "1032", - "y": "1875", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.17790705272341256, - "y": 0.4387080768251508 - }, - "p1": { - "x": 0.4930677863483558, - "y": -0.08253007962375944 - }, - "p2": { - "x": 130.29643187323404, - "y": 29.645970879643528 - } - } - }, - { - "ID": "2293", - "typeID": "Arrow", - "zOrder": "1", - "w": "140", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1031", - "y": "1918", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.17790705272341256, - "y": 0.4387080768251508 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 139.3353697305704, - "y": 0.4387080768251508 - } - } - }, - { - "ID": "2294", - "typeID": "Arrow", - "zOrder": "0", - "w": "135", - "h": "30", - "measuredW": "150", - "measuredH": "100", - "x": "1028", - "y": "1931", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.31413425095911407, - "y": 29.91853588099889 - }, - "p1": { - "x": 0.47627245735948676, - "y": 0.0705776198056142 - }, - "p2": { - "x": 135.6362548494567, - "y": 0.44243040409855894 - } - } - }, - { - "ID": "2295", - "typeID": "Label", - "zOrder": "85", - "measuredW": "399", - "measuredH": "26", - "x": "667", - "y": "1759", - "properties": { - "color": "4985136", - "size": "18", - "text": "issues to keep in mind with ORMs and in general." - } - }, - { - "ID": "2296", - "typeID": "Label", - "zOrder": "86", - "measuredW": "361", - "measuredH": "26", - "x": "1474", - "y": "1888", - "properties": { - "color": "4985136", - "size": "18", - "text": "Learn about different testing techniques and" - } - }, - { - "ID": "2297", - "typeID": "Label", - "zOrder": "87", - "measuredW": "371", - "measuredH": "26", - "x": "1474", - "y": "1918", - "properties": { - "color": "4985136", - "size": "18", - "text": "get some experience writing automated tests." - } - }, - { - "ID": "2298", - "typeID": "Arrow", - "zOrder": "88", - "w": "1", - "h": "71", - "measuredW": "150", - "measuredH": "100", - "x": "1249", - "y": "2280", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "40463", - "p0": { - "x": 0, - "y": -0.05210330899694782 - }, - "p1": { - "x": 0.5000000000000007, - "y": 0 - }, - "p2": { - "x": 0, - "y": 71 - } - } - }, - { - "ID": "2299", - "typeID": "Arrow", - "zOrder": "89", - "w": "2", - "h": "89", - "measuredW": "150", - "measuredH": "100", - "x": "1248", - "y": "2433", - "properties": { - "curvature": "0", - "leftArrow": "false", - "p0": { - "x": 1, - "y": 88 - }, - "p1": { - "x": 0.4072427393330943, - "y": 0.00953746862674794 - }, - "p2": { - "x": 1, - "y": 0 - }, - "rightArrow": "false", - "stroke": "dotted", - "color": "40463" - } - }, - { - "ID": "2300", - "typeID": "TextArea", - "zOrder": "90", - "w": "499", - "h": "118", - "measuredW": "200", - "measuredH": "140", - "x": "999", - "y": "2346" - }, - { - "ID": "2301", - "typeID": "Label", - "zOrder": "91", - "measuredW": "431", - "measuredH": "25", - "x": "1033", - "y": "2365", - "properties": { - "size": "17", - "text": "Look at the detailed version for what else you don’t know" - } - }, - { - "ID": "2302", - "typeID": "__group__", - "zOrder": "92", - "measuredW": "430", - "measuredH": "44", - "w": "430", - "h": "44", - "x": "1034", - "y": "2400", - "properties": { - "controlName": "json:backend.json" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "430", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "147", - "measuredH": "25", - "x": "140", - "y": "9", - "properties": { - "size": "17", - "text": "Backend Roadmap" - } - } - ] - } - } - }, - { - "ID": "2303", - "typeID": "TextArea", - "zOrder": "93", - "w": "613", - "h": "246", - "measuredW": "200", - "measuredH": "140", - "x": "946", - "y": "2033" - }, - { - "ID": "2304", - "typeID": "Label", - "zOrder": "94", - "measuredW": "532", - "measuredH": "26", - "x": "978", - "y": "2099", - "properties": { - "color": "4985136", - "size": "18", - "text": "At this point, you should have enough knowledge to find a junior to" - } - }, - { - "ID": "2305", - "typeID": "Label", - "zOrder": "95", - "measuredW": "530", - "measuredH": "26", - "x": "978", - "y": "2129", - "properties": { - "color": "4985136", - "size": "18", - "text": "mid-level (maybe even senior) backend developer position at any" - } - }, - { - "ID": "2306", - "typeID": "Label", - "zOrder": "96", - "measuredW": "441", - "measuredH": "26", - "x": "978", - "y": "2159", - "properties": { - "color": "4985136", - "size": "18", - "text": "company (depending on the depth of your knowledge)." - } - }, - { - "ID": "2307", - "typeID": "Label", - "zOrder": "97", - "measuredW": "116", - "measuredH": "32", - "x": "978", - "y": "2055", - "properties": { - "color": "4985136", - "size": "24", - "text": "Job Ready" - } - }, - { - "ID": "2308", - "typeID": "Label", - "zOrder": "98", - "measuredW": "536", - "measuredH": "26", - "x": "978", - "y": "2201", - "properties": { - "size": "18", - "color": "10027263", - "text": "Deepen your pool of knowledge and keep building projects till you" - } - }, - { - "ID": "2309", - "typeID": "Label", - "zOrder": "99", - "measuredW": "360", - "measuredH": "26", - "x": "978", - "y": "2230", - "properties": { - "size": "18", - "color": "10027263", - "text": "find a job. Your job will teach you a lot as well." - } - }, - { - "ID": "2310", - "typeID": "Canvas", - "zOrder": "100", - "w": "380", - "h": "150", - "measuredW": "100", - "measuredH": "70", - "x": "688", - "y": "655" - }, - { - "ID": "2311", - "typeID": "Label", - "zOrder": "101", - "measuredW": "187", - "measuredH": "32", - "x": "716", - "y": "680", - "properties": { - "size": "24", - "text": "Beginner Version" - } - }, - { - "ID": "2312", - "typeID": "Label", - "zOrder": "102", - "measuredW": "319", - "measuredH": "28", - "x": "716", - "y": "721", - "properties": { - "color": "4985136", - "size": "20", - "text": "This is the trimmed down version of" - } - }, - { - "ID": "2313", - "typeID": "Label", - "zOrder": "103", - "measuredW": "328", - "measuredH": "28", - "x": "716", - "y": "752", - "properties": { - "color": "4985136", - "size": "20", - "text": "the backend roadmap for beginners." - } - }, - { - "ID": "2314", - "typeID": "__group__", - "zOrder": "104", - "measuredW": "382", - "measuredH": "47", - "w": "382", - "h": "47", - "x": "688", - "y": "815", - "properties": { - "controlName": "json:backend.json" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "382", - "h": "47", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "3355443", - "borderColor": "3355443" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "203", - "measuredH": "26", - "x": "89", - "y": "11", - "properties": { - "color": "16777215", - "size": "18", - "text": "Visit the Detailed Version" - } - } - ] - } - } - }, - { - "ID": "2315", - "typeID": "Arrow", - "zOrder": "105", - "w": "3", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1315", - "y": "2523", - "properties": { - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "color": "16777215", - "p0": { - "x": 0.14652915468354877, - "y": 0.452028801972574 - }, - "p1": { - "x": 0.47345427259831346, - "y": -0.00011162392477928299 - }, - "p2": { - "x": 2.7298768229543384, - "y": 0.452028801972574 - } - } - } - ] - }, - "attributes": { - "name": "New Wireframe 1 copy 2", - "order": 1000018.3019863295, - "parentID": null, - "notes": "" - }, - "branchID": "Master", - "resourceID": "7BDB8D3D-BEB5-4A58-BF91-F519F8754661", - "mockupH": "1887", - "mockupW": "1209", - "measuredW": "1857", - "measuredH": "2524", - "version": "1.0" - }, - "groupOffset": { - "x": 0, - "y": 0 - }, - "dependencies": [], - "projectID": "file:///Users/kamrify/Desktop/New%20Roadmaps/Android%20Roadmap.bmpr" -} \ No newline at end of file +{"nodes":[{"id":"UFd8PEg6IwJMXvuv8Ow1f","type":"section","position":{"x":8.678189763286014,"y":689.9126418589183},"selected":true,"data":{"label":"","style":{"width":150,"height":100,"fontSize":17,"backgroundColor":"#ffffff","borderColor":"#000000"}},"zIndex":-999,"width":145,"height":123,"style":{"width":145,"height":123},"positionAbsolute":{"x":8.678189763286014,"y":689.9126418589183},"dragging":false,"resizing":false,"focusable":true,"selectable":true},{"id":"Ju00mr0KLGN2BV6yEQGPt","type":"vertical","position":{"x":-204.47806963137555,"y":1491.372464537289},"selected":true,"data":{"label":"vertical node","style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#4136D4"}},"zIndex":999,"width":20,"height":104,"positionAbsolute":{"x":-204.47806963137555,"y":1491.372464537289},"dragging":false,"style":{"width":20,"height":104},"resizing":false,"focusable":true,"selectable":true},{"width":413,"height":124,"id":"sVXZrBCsiSzWBBYWTm-nQ","type":"paragraph","position":{"x":-400.97806963137555,"y":1404.0164397619342},"selected":true,"data":{"label":"Have a look at the detailed version","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center","borderColor":"#000000","backgroundColor":"#ffffff"},"oldId":"0vLaVNJaJSHZ_bHli6Qzs"},"zIndex":999,"positionAbsolute":{"x":-400.97806963137555,"y":1404.0164397619342},"dragging":false,"style":{"width":413,"height":124},"resizing":false,"focusable":true,"selectable":true},{"width":231,"height":49,"id":"EwvLPSI6AlZ4TnNIJTZA4","type":"topic","position":{"x":-309.58230823147517,"y":635.9941785421215},"selected":true,"data":{"label":"Learn about APIs","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"iGeAiNtqNadlJVDmd-p-g"},"style":{"width":231,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-309.58230823147517,"y":635.9941785421215},"dragging":false,"resizing":false,"selectable":true},{"width":152,"height":68,"id":"iogwMmOvub2ZF4zgg6WyF","type":"title","position":{"x":-270.08230823147517,"y":-119.42445334555111},"selected":true,"data":{"label":"Backend","style":{"fontSize":28,"justifyContent":"flex-start","textAlign":"center"},"oldId":"9nxw2PEl-_eQPW0FHNPq2"},"zIndex":999,"dragging":false,"positionAbsolute":{"x":-270.08230823147517,"y":-119.42445334555111},"focusable":true,"selectable":true},{"width":126,"height":49,"id":"BdXbcz4-ar3XOX0wIKzBp","type":"subtopic","position":{"x":-555.4238043165935,"y":57.59280263144706},"selected":true,"data":{"label":"Go","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"Of5xsnf0QtksCDnCCHKIv","legend":{"id":"DMx7rAjVBWMbzjSde-tvp","label":"Alternative Option / Pick this or purple","color":"#4f7a28","position":"left-center"}},"style":{"width":126,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-555.4238043165935,"y":57.59280263144706},"dragging":false,"resizing":false,"selectable":true},{"width":126,"height":49,"id":"8-lO-v6jCYYoklEJXULxN","type":"subtopic","position":{"x":-555.4238043165935,"y":4.592802631447057},"selected":true,"data":{"label":"JavaScript","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"CyQ_GODtWgrz6Uikts5bJ","legend":{"id":"NJhQIvMyMD1Cu-JA1UCmJ","color":"#874efe","label":"Personal Recommendation / Opinion","position":"left-center"}},"style":{"width":126,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-555.4238043165935,"y":4.592802631447057},"dragging":false,"resizing":false,"selectable":true},{"width":126,"height":49,"id":"J_sVHsD72Yzyqb9KCIvAY","type":"subtopic","position":{"x":-555.4238043165935,"y":110.59280263144706},"selected":true,"data":{"label":"Python","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"FIPHmInvgJg9e8KqDAh2g","legend":{"id":"DMx7rAjVBWMbzjSde-tvp","label":"Alternative Option / Pick this or purple","color":"#4f7a28","position":"left-center"}},"style":{"width":126,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-555.4238043165935,"y":110.59280263144706},"dragging":false,"resizing":false,"selectable":true},{"width":231,"height":50,"id":"2f0ZO6GJElfZ2Eis28Hzg","type":"topic","position":{"x":-310.2043395768536,"y":54.70730350215206},"selected":true,"data":{"label":"Pick a Language","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"uGqgITLdZbxJdGUihNqxV"},"style":{"width":231,"height":50},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-310.2043395768536,"y":54.70730350215206},"dragging":false,"resizing":false,"selectable":true},{"width":132,"height":49,"id":"_I1E__wCIVrhjMk6IMieE","type":"subtopic","position":{"x":-532.4238043165935,"y":309.642069464665},"selected":true,"data":{"label":"Git","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"eyP1K2ve-C0gDYt6Hdgw0","legend":{"id":"NJhQIvMyMD1Cu-JA1UCmJ","color":"#874efe","label":"Personal Recommendation / Opinion","position":"left-center"}},"style":{"width":132,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-532.4238043165935,"y":309.642069464665},"dragging":false,"resizing":false,"selectable":true},{"width":231,"height":49,"id":"ezdqQW9wTUw93F6kjOzku","type":"topic","position":{"x":-310.2043395768536,"y":309.642069464665},"selected":true,"data":{"label":"Version Control Systems","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"f2sY4RLE0k8vVAfZFnxgj"},"style":{"width":231,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-310.2043395768536,"y":309.642069464665},"dragging":false,"selectable":true},{"width":132,"height":49,"id":"ptD8EVqwFUYr4W5A_tABY","type":"subtopic","position":{"x":-532.4238043165935,"y":366.10143585693174},"selected":true,"data":{"label":"Github","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"eCkVAP0s0GKyY88M2fBDS","legend":{"id":"NJhQIvMyMD1Cu-JA1UCmJ","color":"#874efe","label":"Personal Recommendation / Opinion","position":"left-center"}},"style":{"width":132,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-532.4238043165935,"y":366.10143585693174},"dragging":false,"selectable":true,"resizing":false},{"width":231,"height":49,"id":"NvUcSDWBhzJZ31nzT4UlE","type":"topic","position":{"x":-310.2043395768536,"y":366.10143585693174},"selected":true,"data":{"label":"Repo hosting services","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"I-NkKNiKBNB6f8QaFzRgU"},"style":{"width":231,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-310.2043395768536,"y":366.10143585693174},"dragging":false,"resizing":false,"selectable":true},{"width":145,"height":49,"id":"FihTrMO56kj9jT8O_pO2T","type":"subtopic","position":{"x":6.417691768524833,"y":485.10143585693174},"selected":true,"data":{"label":"PostgreSQL","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"lNsaFZwGE7vA0Km-Jfft4","legend":{"id":"NJhQIvMyMD1Cu-JA1UCmJ","color":"#874efe","label":"Personal Recommendation / Opinion","position":"right-center"}},"style":{"width":145,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":6.417691768524833,"y":485.10143585693174},"dragging":false,"resizing":false,"selectable":true},{"width":231,"height":50,"id":"r45b461NxLN6wBODJ5CNP","type":"topic","position":{"x":-310.2043395768536,"y":485.10143585693174},"selected":true,"data":{"label":"Relational Databases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"sJ04XNIM7JqzHnffWd5UM"},"style":{"width":231,"height":50},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-310.2043395768536,"y":485.10143585693174},"dragging":false,"resizing":false,"selectable":true},{"width":161,"height":49,"id":"Z7jp_Juj5PffSxV7UZcBb","type":"subtopic","position":{"x":-610.8178956686777,"y":958.4323026615212},"selected":true,"data":{"label":"ORMs","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"FHrVrP-ndnV8MsDKMxdsq"},"style":{"width":161,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-610.8178956686777,"y":958.4323026615212},"dragging":false,"selectable":true},{"width":161,"height":49,"id":"qSAdfaGUfn8mtmDjHJi3z","type":"subtopic","position":{"x":-610.8178956686777,"y":1012.4323026615212},"selected":true,"data":{"label":"ACID","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"4aBoOyTn1ALDRHYcfwzHf"},"style":{"width":161,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-610.8178956686777,"y":1012.4323026615212},"dragging":false,"selectable":true},{"width":161,"height":49,"id":"rq_y_OBMD9AH_4aoecvAi","type":"subtopic","position":{"x":-610.8178956686777,"y":1066.4323026615211},"selected":true,"data":{"label":"Transactions","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"plXELtRHevUzYUL3doQSs"},"style":{"width":161,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-610.8178956686777,"y":1066.4323026615211},"dragging":false,"selectable":true},{"width":161,"height":49,"id":"bQnOAu863hsHdyNMNyJop","type":"subtopic","position":{"x":-610.8178956686777,"y":1120.4323026615211},"selected":true,"data":{"label":"N+1 Problem","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"5pdTq6LCx8VXjd0-J1a1s"},"style":{"width":161,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-610.8178956686777,"y":1120.4323026615211},"dragging":false,"selectable":true},{"width":231,"height":49,"id":"LJt27onEOeIBomiEMTyKd","type":"topic","position":{"x":-310.2043395768536,"y":1011.4323026615211},"selected":true,"data":{"label":"More about Databases","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"pNTfCAoFYG6YwBm5EOCvw"},"style":{"width":231,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-310.2043395768536,"y":1011.4323026615211},"dragging":false,"selectable":true,"resizing":false},{"width":145,"height":49,"id":"sNceS4MpSIjRkWhNDmrFg","type":"subtopic","position":{"x":8.678189763286014,"y":635.9941785421215},"selected":true,"data":{"label":"JSON APIs","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"eZd-7w3ka8BhaAx8kGTgi","legend":{"id":"NJhQIvMyMD1Cu-JA1UCmJ","color":"#874efe","label":"Personal Recommendation / Opinion","position":"right-center"}},"style":{"width":145,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":8.678189763286014,"y":635.9941785421215},"dragging":false,"selectable":true,"resizing":false},{"width":146,"height":49,"id":"lfNFDZZNdrB0lbEaMtU71","type":"subtopic","position":{"x":6.417691768524833,"y":582.9941785421215},"selected":true,"data":{"label":"REST","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"gVsbyjVssRCpAf6r-tF0O","legend":{"id":"NJhQIvMyMD1Cu-JA1UCmJ","color":"#874efe","label":"Personal Recommendation / Opinion","position":"right-center"}},"style":{"width":146,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":6.417691768524833,"y":582.9941785421215},"dragging":false,"selectable":true,"resizing":false},{"width":231,"height":49,"id":"ELj8af7Mi38kUbaPJfCUR","type":"topic","position":{"x":-310.2043395768536,"y":726.4861514388111},"selected":true,"data":{"label":"Caching","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"T632e8R4J001IajMm9yp7"},"style":{"width":231,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-310.2043395768536,"y":726.4861514388111},"dragging":false,"selectable":true,"resizing":false},{"width":190,"height":49,"id":"381Kw1IMRv7CJp-Uf--qd","type":"subtopic","position":{"x":43.00948964805815,"y":1187.4900452642225},"selected":true,"data":{"label":"Integration Testing","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"U7mP1unVOQgVXCCuXh8De"},"style":{"width":190,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":43.00948964805815,"y":1187.4900452642225},"dragging":false,"resizing":false,"selectable":true},{"width":193,"height":49,"id":"NAGisfq2CgeK3SsuRjnMw","type":"subtopic","position":{"x":43.00948964805815,"y":1295.4900452642225},"selected":true,"data":{"label":"Functional Testing","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"Lcb9mmKc5k2UofZ0_o6Rs"},"style":{"width":193,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":43.00948964805815,"y":1295.4900452642225},"dragging":false,"resizing":false,"selectable":true},{"width":193,"height":49,"id":"3OYm6b9f6WOrKi4KTOZYK","type":"subtopic","position":{"x":43.00948964805815,"y":1241.4900452642225},"selected":true,"data":{"label":"Unit Testing","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"J_kRwf-neWCW5DjfBmybt"},"style":{"width":193,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":43.00948964805815,"y":1241.4900452642225},"dragging":false,"resizing":false,"selectable":true},{"width":231,"height":49,"id":"STQQbPa7PE3gbjMdL6P-t","type":"topic","position":{"x":-310.2043395768536,"y":1244.3669598992026},"selected":true,"data":{"label":"Testing","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"RFUPBl2Q9hBXP9HacPOo1"},"style":{"width":231,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-310.2043395768536,"y":1244.3669598992026},"dragging":false,"selectable":true},{"width":100,"height":49,"id":"g8GjkJAhvnSxXTZks0V1g","type":"subtopic","position":{"x":-465.97806963137555,"y":726.4861514388111},"selected":true,"data":{"label":"Redis","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"xPvVwGQw28uMeLYIWn8yn"},"style":{"width":100,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":-465.97806963137555,"y":726.4861514388111},"dragging":false,"resizing":false,"selectable":true},{"width":375,"height":49,"id":"uSLzfLPXxS5-P7ozscvjZ","type":"button","position":{"x":-383.56446376179997,"y":1460.4861971343921},"selected":true,"data":{"label":"Backend Developer Roadmap","href":"https://roadmap.sh/backend","color":"#FFFFFf","backgroundColor":"#4136D4","style":{"fontSize":17},"borderColor":"#4136D4","oldId":"PkhQdVms2TGgnPrytCBPZ"},"zIndex":999,"dragging":false,"positionAbsolute":{"x":-383.56446376179997,"y":1460.4861971343921},"style":{"width":375,"height":49},"focusable":true,"resizing":false,"selectable":true},{"width":20,"height":102,"id":"LEijbLyxg4RyutKEM2Y5g","type":"vertical","position":{"x":-204.08230823147517,"y":-220.42445334555111},"selected":true,"data":{"label":"vertical node","style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#0A33FF"},"oldId":"xD07fJ1NmNeAarVCEfubU"},"zIndex":999,"positionAbsolute":{"x":-204.08230823147517,"y":-220.42445334555111},"dragging":false,"focusable":true,"style":{"width":20,"height":102},"resizing":false,"selectable":true},{"id":"qN-6iiXWgn5qSzK3o0Tjo","type":"legend","position":{"x":-714.8814218617622,"y":-254.09541222709834},"selected":true,"data":{"label":"","legends":[{"id":"NJhQIvMyMD1Cu-JA1UCmJ","color":"#874efe","label":"Personal Recommendation / Opinion"},{"id":"DMx7rAjVBWMbzjSde-tvp","label":"Alternative Option / Pick this or purple","color":"#4f7a28"},{"id":"R9WLhURhPdVNXP7AUTDvR","label":"Order not strict / Learn anytime","color":"#929292"}]},"zIndex":999,"width":353,"height":124,"positionAbsolute":{"x":-714.8814218617622,"y":-254.09541222709834},"dragging":false,"focusable":true,"selectable":true},{"id":"yHmHXymPNWwu8p1vvqD3o","type":"paragraph","position":{"x":-14.502815208049242,"y":-245.15106699547107},"selected":true,"data":{"label":"Find the detailed version of this roadmap along with other similar roadmaps","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"left","borderColor":"#000000","backgroundColor":"#FFFFFf"}},"zIndex":999,"width":354,"height":143,"positionAbsolute":{"x":-14.502815208049242,"y":-245.15106699547107},"dragging":false,"selectable":true,"focusable":true,"style":{"width":354,"height":143},"resizing":false},{"id":"2zqZkyVgigifcRS1H7F_b","type":"button","position":{"x":-1.2994407952490974,"y":-163.1655035777258},"selected":true,"data":{"label":"roadmap.sh","href":"https://roadmap.sh","color":"#ffffff","backgroundColor":"#4136D6","style":{"fontSize":17}},"zIndex":999,"width":329,"height":49,"dragging":false,"style":{"width":329,"height":49},"resizing":false,"positionAbsolute":{"x":-1.2994407952490974,"y":-163.1655035777258},"selectable":true,"focusable":true},{"id":"MfErpYwkJ0wiWJZEUVfrb","type":"button","position":{"x":-714.8814218617622,"y":-115.72969257809785},"selected":true,"data":{"label":"Visit the Detailed Version","href":"/backend","color":"#ffffff","backgroundColor":"#232323","style":{"fontSize":17},"oldId":"2zqZkyVgigifcRS1H7F_b"},"zIndex":999,"width":351,"height":49,"dragging":false,"style":{"width":351,"height":49},"resizing":false,"positionAbsolute":{"x":-714.8814218617622,"y":-115.72969257809785},"selectable":true,"focusable":true},{"width":145,"height":49,"id":"PY9G7KQy8bF6eIdr1ydHf","type":"subtopic","position":{"x":8.678189763286014,"y":689.9126418589183},"selected":true,"data":{"label":"Authentication","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"lfNFDZZNdrB0lbEaMtU71"},"style":{"width":145,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":8.678189763286014,"y":689.9126418589183},"dragging":false,"resizing":false,"selectable":true},{"width":123,"height":49,"id":"UxS_mzVUjLigEwKrXnEeB","type":"subtopic","position":{"x":20.030089179073684,"y":749.5986472065365},"selected":true,"data":{"label":"JWT","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"center"},"oldId":"PY9G7KQy8bF6eIdr1ydHf"},"style":{"width":123,"height":49},"zIndex":999,"focusable":true,"positionAbsolute":{"x":20.030089179073684,"y":749.5986472065365},"dragging":false,"resizing":false,"selectable":true},{"id":"le7iJXCULjq_4FHrhrQWu","type":"paragraph","position":{"x":-28.74067173877563,"y":-51.424453345551115},"selected":true,"data":{"label":"If you are a frontend developer jumping into backend development, I would recommend picking JavaScript and learning Node.js. Alternatively, Go and Python are also good options.","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"left"}},"zIndex":999,"width":360,"height":157,"positionAbsolute":{"x":-28.74067173877563,"y":-51.424453345551115},"dragging":false,"style":{"width":360,"height":157},"resizing":true,"selectable":true,"focusable":true},{"id":"wgdSRXw6AcPAwQZ0mqBAB","type":"paragraph","position":{"x":-28.74067173877563,"y":100.59280263144706},"selected":true,"data":{"label":"Learn the language and build some CLI apps to practice your konwledge.","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"left","color":"#001eff"},"oldId":"le7iJXCULjq_4FHrhrQWu"},"zIndex":999,"width":360,"height":88,"positionAbsolute":{"x":-28.74067173877563,"y":100.59280263144706},"dragging":false,"style":{"width":360},"resizing":false,"selectable":true,"focusable":true},{"id":"2BX-MgyEp1AGgtdnUITh5","type":"paragraph","position":{"x":-704.3814218617622,"y":178.57554665444889},"selected":true,"data":{"label":"When you are following this roadmap make sure to develop as many projects as possible for each node of the roadmap.","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"left","color":"#0033ff"},"oldId":"le7iJXCULjq_4FHrhrQWu"},"zIndex":999,"width":360,"height":114,"positionAbsolute":{"x":-704.3814218617622,"y":178.57554665444889},"dragging":false,"style":{"width":360},"resizing":true,"selectable":true,"focusable":true},{"id":"uM-SRBYQen3ZFiCDAyaJa","type":"paragraph","position":{"x":-28.74067173877563,"y":242.57554665444889},"selected":true,"data":{"label":"Create your GitHub profile and start using GitHub for your future projects.","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"left"},"oldId":"le7iJXCULjq_4FHrhrQWu"},"zIndex":999,"width":360,"height":88,"positionAbsolute":{"x":-28.74067173877563,"y":242.57554665444889},"dragging":false,"style":{"width":360},"resizing":true,"selectable":true,"focusable":true},{"id":"UAbZBrVgdgCyG0GtU7HgE","type":"paragraph","position":{"x":-28.74067173877563,"y":309.642069464665},"selected":true,"data":{"label":"See if any of your past projects can be published on GitHub as OpenSource.","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"left","color":"#001eff"},"oldId":"wgdSRXw6AcPAwQZ0mqBAB"},"zIndex":999,"width":360,"height":88,"positionAbsolute":{"x":-28.74067173877563,"y":309.642069464665},"dragging":false,"style":{"width":360},"resizing":false,"selectable":true,"focusable":true},{"id":"WE87iPjyRBuLSQjW1-lQA","type":"paragraph","position":{"x":-704.3814218617622,"y":452.60143585693174},"selected":true,"data":{"label":"Learn about the relational databases, normalization, DB migrations, SQL, DB Indexes and Query performance analysis.","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"left"},"oldId":"uM-SRBYQen3ZFiCDAyaJa"},"zIndex":999,"width":360,"height":114,"positionAbsolute":{"x":-704.3814218617622,"y":452.60143585693174},"dragging":false,"style":{"width":360},"resizing":true,"selectable":true,"focusable":true},{"id":"s1dRHfNP8Q6ytjueRHb1n","type":"paragraph","position":{"x":-704.3814218617622,"y":581.9126418589183},"selected":true,"data":{"label":"Learn how to build RESTful APIs and add JWT authentication to secure your APIs.","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"left"},"oldId":"WE87iPjyRBuLSQjW1-lQA"},"zIndex":999,"width":360,"height":88,"positionAbsolute":{"x":-704.3814218617622,"y":581.9126418589183},"dragging":false,"style":{"width":360},"resizing":true,"selectable":true,"focusable":true},{"id":"1HAWiOizGfG3OT9KouNQg","type":"paragraph","position":{"x":-704.3814218617622,"y":643.4861514388111},"selected":true,"data":{"label":"Develop some API and add JWT auth.","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"left","color":"#001eff"},"oldId":"UAbZBrVgdgCyG0GtU7HgE"},"zIndex":999,"width":360,"height":63,"positionAbsolute":{"x":-704.3814218617622,"y":643.4861514388111},"dragging":false,"style":{"width":360},"resizing":false,"selectable":true,"focusable":true},{"id":"W8BIrC9VsUc4Z0t6G_FnZ","type":"paragraph","position":{"x":-696.2667613883802,"y":793.5986472065365},"selected":true,"data":{"label":"Learn about different caching strategies, including HTTP caching as well.","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"left"},"oldId":"s1dRHfNP8Q6ytjueRHb1n"},"zIndex":999,"width":360,"height":88,"positionAbsolute":{"x":-696.2667613883802,"y":793.5986472065365},"dragging":false,"style":{"width":360},"resizing":true,"selectable":true,"focusable":true},{"id":"lIC09zhXysTm3qlAJqWMI","type":"paragraph","position":{"x":-696.2667613883802,"y":851.4861514388111},"selected":true,"data":{"label":"Use Redis in some of your projects.","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"left","color":"#001eff"},"oldId":"1HAWiOizGfG3OT9KouNQg"},"zIndex":999,"width":360,"height":63,"positionAbsolute":{"x":-696.2667613883802,"y":851.4861514388111},"dragging":false,"style":{"width":360},"resizing":false,"selectable":true,"focusable":true},{"id":"wMVGAEIHhVbL6ZXGZOb8Q","type":"paragraph","position":{"x":-167.56446376179997,"y":824.4323026615212},"selected":true,"data":{"label":"Learn about additional database topics including performance analysis, ORMs, limitations, common issues to keep in mind with ORMs and in general.","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"left"},"oldId":"W8BIrC9VsUc4Z0t6G_FnZ"},"zIndex":999,"width":338,"height":137,"positionAbsolute":{"x":-167.56446376179997,"y":824.4323026615212},"dragging":false,"style":{"width":338,"height":137},"resizing":false,"selectable":true,"focusable":true},{"id":"Lj9dbZmTjKHvooKWLEkhU","type":"paragraph","position":{"x":-167.56446376179997,"y":938.4323026615212},"selected":true,"data":{"label":"Get some experience with some ORM.","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"left","color":"#001eff"},"oldId":"lIC09zhXysTm3qlAJqWMI"},"zIndex":999,"width":360,"height":63,"positionAbsolute":{"x":-167.56446376179997,"y":938.4323026615212},"dragging":false,"style":{"width":360},"resizing":false,"selectable":true,"focusable":true},{"id":"lxFXAD1DAeq3bGovSEuXE","type":"paragraph","position":{"x":-167.56446376179997,"y":1073.4323026615211},"selected":true,"data":{"label":"Learn about differeng testing techniques and learn learn how to write automated tests.","style":{"fontSize":17,"justifyContent":"flex-start","textAlign":"left"},"oldId":"wMVGAEIHhVbL6ZXGZOb8Q"},"zIndex":999,"width":396,"height":96,"positionAbsolute":{"x":-167.56446376179997,"y":1073.4323026615211},"dragging":false,"style":{"width":396,"height":96},"resizing":false,"selectable":true,"focusable":true}],"edges":[{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"sourceHandle":"x2","target":"sVXZrBCsiSzWBBYWTm-nQ","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"PShueM-HfMGu2Jy1dt73g","selected":true,"type":"smoothstep","focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"STQQbPa7PE3gbjMdL6P-t","sourceHandle":"z2","target":"3OYm6b9f6WOrKi4KTOZYK","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-STQQbPa7PE3gbjMdL6P-tz2-3OYm6b9f6WOrKi4KTOZYKy1","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"STQQbPa7PE3gbjMdL6P-t","sourceHandle":"z2","target":"381Kw1IMRv7CJp-Uf--qd","targetHandle":"y2","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-STQQbPa7PE3gbjMdL6P-tz2-381Kw1IMRv7CJp-Uf--qdy2","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"STQQbPa7PE3gbjMdL6P-t","sourceHandle":"z2","target":"NAGisfq2CgeK3SsuRjnMw","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-STQQbPa7PE3gbjMdL6P-tz2-NAGisfq2CgeK3SsuRjnMwy1","selected":true,"focusable":true,"selectable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"iogwMmOvub2ZF4zgg6WyF","sourceHandle":"x2","target":"2f0ZO6GJElfZ2Eis28Hzg","targetHandle":"w1","data":{"edgeStyle":"solid"},"selected":true,"id":"reactflow__edge-iogwMmOvub2ZF4zgg6WyFx2-2f0ZO6GJElfZ2Eis28Hzgw1","selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"2f0ZO6GJElfZ2Eis28Hzg","sourceHandle":"y2","target":"8-lO-v6jCYYoklEJXULxN","targetHandle":"z1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-2f0ZO6GJElfZ2Eis28Hzgy2-8-lO-v6jCYYoklEJXULxNz1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"2f0ZO6GJElfZ2Eis28Hzg","sourceHandle":"y2","target":"BdXbcz4-ar3XOX0wIKzBp","targetHandle":"z1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-2f0ZO6GJElfZ2Eis28Hzgy2-BdXbcz4-ar3XOX0wIKzBpz1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"2f0ZO6GJElfZ2Eis28Hzg","sourceHandle":"y2","target":"J_sVHsD72Yzyqb9KCIvAY","targetHandle":"z1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-2f0ZO6GJElfZ2Eis28Hzgy2-J_sVHsD72Yzyqb9KCIvAYz1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"2f0ZO6GJElfZ2Eis28Hzg","sourceHandle":"x2","target":"ezdqQW9wTUw93F6kjOzku","targetHandle":"w1","data":{"edgeStyle":"solid"},"selected":true,"focusable":true,"selectable":true,"id":"reactflow__edge-2f0ZO6GJElfZ2Eis28Hzgx2-ezdqQW9wTUw93F6kjOzkuw1"},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"ezdqQW9wTUw93F6kjOzku","sourceHandle":"y2","target":"_I1E__wCIVrhjMk6IMieE","targetHandle":"z1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-ezdqQW9wTUw93F6kjOzkuy2-_I1E__wCIVrhjMk6IMieEz1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"NvUcSDWBhzJZ31nzT4UlE","sourceHandle":"y2","target":"ptD8EVqwFUYr4W5A_tABY","targetHandle":"z1","data":{"edgeStyle":"dashed"},"selected":true,"focusable":true,"selectable":true,"id":"reactflow__edge-NvUcSDWBhzJZ31nzT4UlEy2-ptD8EVqwFUYr4W5A_tABYz1"},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"NvUcSDWBhzJZ31nzT4UlE","sourceHandle":"x2","target":"r45b461NxLN6wBODJ5CNP","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-NvUcSDWBhzJZ31nzT4UlEx2-r45b461NxLN6wBODJ5CNPw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"r45b461NxLN6wBODJ5CNP","sourceHandle":"z2","target":"FihTrMO56kj9jT8O_pO2T","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-r45b461NxLN6wBODJ5CNPz2-FihTrMO56kj9jT8O_pO2Ty1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"r45b461NxLN6wBODJ5CNP","sourceHandle":"x2","target":"EwvLPSI6AlZ4TnNIJTZA4","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-r45b461NxLN6wBODJ5CNPx2-EwvLPSI6AlZ4TnNIJTZA4w1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"EwvLPSI6AlZ4TnNIJTZA4","sourceHandle":"z2","target":"lfNFDZZNdrB0lbEaMtU71","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-EwvLPSI6AlZ4TnNIJTZA4z2-lfNFDZZNdrB0lbEaMtU71y1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"EwvLPSI6AlZ4TnNIJTZA4","sourceHandle":"z2","target":"sNceS4MpSIjRkWhNDmrFg","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-EwvLPSI6AlZ4TnNIJTZA4z2-sNceS4MpSIjRkWhNDmrFgy1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"EwvLPSI6AlZ4TnNIJTZA4","sourceHandle":"z2","target":"PY9G7KQy8bF6eIdr1ydHf","targetHandle":"y1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-EwvLPSI6AlZ4TnNIJTZA4z2-PY9G7KQy8bF6eIdr1ydHfy1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"EwvLPSI6AlZ4TnNIJTZA4","sourceHandle":"x2","target":"ELj8af7Mi38kUbaPJfCUR","targetHandle":"w2","data":{"edgeStyle":"solid"},"id":"reactflow__edge-EwvLPSI6AlZ4TnNIJTZA4x2-ELj8af7Mi38kUbaPJfCURw2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"ELj8af7Mi38kUbaPJfCUR","sourceHandle":"y2","target":"g8GjkJAhvnSxXTZks0V1g","targetHandle":"z2","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-ELj8af7Mi38kUbaPJfCURy2-g8GjkJAhvnSxXTZks0V1gz2","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"LJt27onEOeIBomiEMTyKd","sourceHandle":"y2","target":"Z7jp_Juj5PffSxV7UZcBb","targetHandle":"z1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-LJt27onEOeIBomiEMTyKdy2-Z7jp_Juj5PffSxV7UZcBbz1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"LJt27onEOeIBomiEMTyKd","sourceHandle":"y2","target":"qSAdfaGUfn8mtmDjHJi3z","targetHandle":"z1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-LJt27onEOeIBomiEMTyKdy2-qSAdfaGUfn8mtmDjHJi3zz1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"LJt27onEOeIBomiEMTyKd","sourceHandle":"y2","target":"rq_y_OBMD9AH_4aoecvAi","targetHandle":"z1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-LJt27onEOeIBomiEMTyKdy2-rq_y_OBMD9AH_4aoecvAiz1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0.8 8","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"LJt27onEOeIBomiEMTyKd","sourceHandle":"y2","target":"bQnOAu863hsHdyNMNyJop","targetHandle":"z1","data":{"edgeStyle":"dashed"},"id":"reactflow__edge-LJt27onEOeIBomiEMTyKdy2-bQnOAu863hsHdyNMNyJopz1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"ELj8af7Mi38kUbaPJfCUR","sourceHandle":"x2","target":"LJt27onEOeIBomiEMTyKd","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-ELj8af7Mi38kUbaPJfCURx2-LJt27onEOeIBomiEMTyKdw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"LJt27onEOeIBomiEMTyKd","sourceHandle":"x2","target":"STQQbPa7PE3gbjMdL6P-t","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-LJt27onEOeIBomiEMTyKdx2-STQQbPa7PE3gbjMdL6P-tw1","selected":true,"selectable":true,"focusable":true},{"style":{"strokeDasharray":"0","strokeLinecap":"round","strokeWidth":3.5,"stroke":"#2b78e4"},"source":"STQQbPa7PE3gbjMdL6P-t","sourceHandle":"x2","target":"sVXZrBCsiSzWBBYWTm-nQ","targetHandle":"w1","data":{"edgeStyle":"solid"},"id":"reactflow__edge-STQQbPa7PE3gbjMdL6P-tx2-sVXZrBCsiSzWBBYWTm-nQw1","selected":true,"selectable":true,"focusable":true}]} \ No newline at end of file diff --git a/src/data/roadmaps/backend/backend-forkable.json b/src/data/roadmaps/backend/backend-forkable.json deleted file mode 100644 index ca5b8b79f..000000000 --- a/src/data/roadmaps/backend/backend-forkable.json +++ /dev/null @@ -1,6639 +0,0 @@ -{ - "title": "Backend Roadmap (Fork)", - "description": "A step-by-step guide to becoming a modern backend developer.", - "topicCount": 138, - "nodes": [ - { - "width": 278, - "height": 235, - "id": "4_q73_Fz02yj45i7NcRlA", - "type": "section", - "position": { - "x": 133.63105494480027, - "y": 1902.4890694327544 - }, - "selected": false, - "data": { - "label": "", - "style": { - "width": 150, - "height": 100, - "fontSize": 17 - } - }, - "zIndex": -999, - "style": { - "width": 278, - "height": 235 - }, - "dragging": false, - "positionAbsolute": { - "x": 133.63105494480027, - "y": 1902.4890694327544 - }, - "focusable": false, - "resizing": false - }, - { - "width": 303, - "height": 400, - "id": "y4gMzo3mPn7_uGkuDkOqM", - "type": "paragraph", - "position": { - "x": 6.47204769515335, - "y": 753.0930339118986 - }, - "selected": false, - "data": { - "label": "Operating Systems Knowledge", - "style": { - "fontSize": 17, - "justifyContent": "flex-end", - "textAlign": "center", - "borderColor": "#000000", - "backgroundColor": "#ffffff" - } - }, - "zIndex": 999, - "dragging": false, - "style": { - "width": 303, - "height": 400 - }, - "resizing": false, - "positionAbsolute": { - "x": 6.47204769515335, - "y": 753.0930339118986 - }, - "focusable": false - }, - { - "width": 152, - "height": 68, - "id": "iogwMmOvub2ZF4zgg6WyF", - "type": "title", - "position": { - "x": -287, - "y": -123.59925177765109 - }, - "selected": false, - "data": { - "label": "Backend", - "style": { - "fontSize": 28, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "9nxw2PEl-_eQPW0FHNPq2" - }, - "zIndex": 999, - "dragging": false, - "positionAbsolute": { - "x": -287, - "y": -123.59925177765109 - }, - "focusable": false - }, - { - "width": 229, - "height": 49, - "id": "SiYUdtYMDImRPmV2_XPkH", - "type": "topic", - "position": { - "x": -326.4414891270593, - "y": 35.72193501509875 - }, - "selected": false, - "data": { - "label": "Internet", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "NVSQ4OtmvRp7p4cOEvKh7" - }, - "zIndex": 999, - "style": { - "width": 229, - "height": 49 - }, - "resizing": false, - "positionAbsolute": { - "x": -326.4414891270593, - "y": 35.72193501509875 - }, - "dragging": false, - "focusable": false - }, - { - "width": 307, - "height": 49, - "id": "9LcPXnAXvQYpahZMbjKt8", - "type": "subtopic", - "position": { - "x": -737.5514700259967, - "y": -18.06448505808305 - }, - "selected": false, - "data": { - "label": "How does the internet work?", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "yCnn-NfSxIybUQ2iTuUGq" - }, - "zIndex": 999, - "positionAbsolute": { - "x": -737.5514700259967, - "y": -18.06448505808305 - }, - "dragging": false, - "style": { - "width": 307, - "height": 49 - }, - "resizing": false, - "focusable": false - }, - { - "width": 307, - "height": 49, - "id": "23FbrQx2igq05rfQz0gsc", - "type": "subtopic", - "position": { - "x": -737.5514700259967, - "y": 35.93551494191695 - }, - "selected": false, - "data": { - "label": "What is HTTP?", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "R12sArWVpbIs_PHxBqVaR" - }, - "zIndex": 999, - "positionAbsolute": { - "x": -737.5514700259967, - "y": 35.93551494191695 - }, - "dragging": false, - "style": { - "width": 307, - "height": 49 - }, - "resizing": false, - "focusable": false - }, - { - "width": 307, - "height": 49, - "id": "fibQmpaQc5XKtLfcq35Xc", - "type": "subtopic", - "position": { - "x": 52.9227808279725, - "y": -17.347524812417248 - }, - "selected": false, - "data": { - "label": "What is Domain Name?", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "ZhSuu2VArnzPDp6dPQQSC" - }, - "zIndex": 999, - "positionAbsolute": { - "x": 52.9227808279725, - "y": -17.347524812417248 - }, - "dragging": false, - "style": { - "width": 307, - "height": 49 - }, - "resizing": false, - "focusable": false - }, - { - "width": 307, - "height": 49, - "id": "Re8n1GjRU9rbYBqwrjcT1", - "type": "subtopic", - "position": { - "x": 52.9227808279725, - "y": 36.65247518758275 - }, - "selected": false, - "data": { - "label": "What is hosting?", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "aqMaEY8gkKMikiqleV5EP" - }, - "zIndex": 999, - "positionAbsolute": { - "x": 52.9227808279725, - "y": 36.65247518758275 - }, - "dragging": false, - "style": { - "width": 307, - "height": 49 - }, - "resizing": false, - "focusable": false - }, - { - "width": 307, - "height": 49, - "id": "daOLv7Jl-LEhQrqZWO9Qj", - "type": "subtopic", - "position": { - "x": 52.9227808279725, - "y": 90.65247518758275 - }, - "selected": false, - "data": { - "label": "DNS and how it works?", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "hkxw9jPGYphmjhTjw8766" - }, - "zIndex": 999, - "positionAbsolute": { - "x": 52.9227808279725, - "y": 90.65247518758275 - }, - "dragging": false, - "style": { - "width": 307, - "height": 49 - }, - "resizing": false, - "focusable": false - }, - { - "width": 307, - "height": 49, - "id": "DqiIUWIYLgXsZhv4EvZ7p", - "type": "subtopic", - "position": { - "x": -737.5514700259967, - "y": 89.93551494191692 - }, - "selected": false, - "data": { - "label": "Browsers and how they work?", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "P82WFaTPgQEPNp5IIuZ1Y" - }, - "zIndex": 999, - "positionAbsolute": { - "x": -737.5514700259967, - "y": 89.93551494191692 - }, - "dragging": false, - "style": { - "width": 307, - "height": 49 - }, - "resizing": false, - "focusable": false - }, - { - "width": 132, - "height": 42, - "id": "CWwh2abwqx4hAxpAGvhIx", - "type": "subtopic", - "position": { - "x": -737.5514700259967, - "y": 165.75898502634902 - }, - "selected": false, - "data": { - "label": "Rust", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "7qaMNu3lSvTNh7uKo5SVa" - }, - "style": { - "width": 132, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -737.5514700259967, - "y": 165.75898502634902 - }, - "dragging": false, - "resizing": false - }, - { - "width": 132, - "height": 42, - "id": "l9Wrq_Ad9-Ju4NIB0m5Ha", - "type": "subtopic", - "position": { - "x": -737.5514700259967, - "y": 432.3455062588017 - }, - "selected": false, - "data": { - "label": "PHP", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "uVNbFu2GDndpQFLkfGTKp" - }, - "style": { - "width": 132, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -737.5514700259967, - "y": 432.3455062588017 - }, - "dragging": false - }, - { - "width": 132, - "height": 42, - "id": "BdXbcz4-ar3XOX0wIKzBp", - "type": "subtopic", - "position": { - "x": -562.5514700259967, - "y": 165.75898502634902 - }, - "selected": false, - "data": { - "label": "Go", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "Of5xsnf0QtksCDnCCHKIv" - }, - "style": { - "width": 132, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -562.5514700259967, - "y": 165.75898502634902 - }, - "dragging": false - }, - { - "width": 132, - "height": 42, - "id": "8-lO-v6jCYYoklEJXULxN", - "type": "subtopic", - "position": { - "x": -562.5514700259967, - "y": 338.3455062588017 - }, - "selected": false, - "data": { - "label": "JavaScript", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "CyQ_GODtWgrz6Uikts5bJ" - }, - "style": { - "width": 132, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -562.5514700259967, - "y": 338.3455062588017 - }, - "dragging": false - }, - { - "width": 132, - "height": 42, - "id": "ANeSwxJDJyQ-49pO2-CCI", - "type": "subtopic", - "position": { - "x": -737.5514700259967, - "y": 338.3455062588017 - }, - "selected": false, - "data": { - "label": "Java", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "5HsVY274YCvC6DqqHlSDD" - }, - "style": { - "width": 132, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -737.5514700259967, - "y": 338.3455062588017 - }, - "dragging": false - }, - { - "width": 132, - "height": 42, - "id": "J_sVHsD72Yzyqb9KCIvAY", - "type": "subtopic", - "position": { - "x": -562.5514700259967, - "y": 384.3455062588017 - }, - "selected": false, - "data": { - "label": "Python", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "FIPHmInvgJg9e8KqDAh2g" - }, - "style": { - "width": 132, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -562.5514700259967, - "y": 384.3455062588017 - }, - "dragging": false - }, - { - "width": 132, - "height": 42, - "id": "rImbMHLLfJwjf3l25vBkc", - "type": "subtopic", - "position": { - "x": -737.5514700259967, - "y": 385.3455062588017 - }, - "selected": false, - "data": { - "label": "C#", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "f9zIA51FbZ4ppqkpWFXzX" - }, - "style": { - "width": 132, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -737.5514700259967, - "y": 385.3455062588017 - }, - "dragging": false - }, - { - "width": 132, - "height": 42, - "id": "SlH0Rl07yURDko2nDPfFy", - "type": "subtopic", - "position": { - "x": -562.5514700259967, - "y": 432.3455062588017 - }, - "selected": false, - "data": { - "label": "Ruby", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "lEik_KnhW02L7xDMcutDa" - }, - "style": { - "width": 132, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -562.5514700259967, - "y": 432.3455062588017 - }, - "dragging": false - }, - { - "width": 307, - "height": 49, - "id": "2f0ZO6GJElfZ2Eis28Hzg", - "type": "topic", - "position": { - "x": -737.5514700259967, - "y": 252.68470896031113 - }, - "selected": false, - "data": { - "label": "Learn a Language", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "uGqgITLdZbxJdGUihNqxV" - }, - "style": { - "width": 307, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -737.5514700259967, - "y": 252.68470896031113 - }, - "dragging": false, - "resizing": false - }, - { - "width": 100, - "height": 49, - "id": "_I1E__wCIVrhjMk6IMieE", - "type": "subtopic", - "position": { - "x": -156.1355808229639, - "y": 165.75898502634902 - }, - "selected": false, - "data": { - "label": "Git", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "eyP1K2ve-C0gDYt6Hdgw0" - }, - "style": { - "width": 100, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -156.1355808229639, - "y": 165.75898502634902 - }, - "dragging": false, - "resizing": false - }, - { - "width": 231, - "height": 49, - "id": "ezdqQW9wTUw93F6kjOzku", - "type": "topic", - "position": { - "x": -221.35835147100158, - "y": 252.68470896031113 - }, - "selected": false, - "data": { - "label": "Version Control Systems", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "f2sY4RLE0k8vVAfZFnxgj" - }, - "style": { - "width": 231, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -221.35835147100158, - "y": 252.68470896031113 - }, - "dragging": false - }, - { - "width": 117, - "height": 49, - "id": "ptD8EVqwFUYr4W5A_tABY", - "type": "subtopic", - "position": { - "x": 80.37739157323301, - "y": 204.11002648913222 - }, - "selected": false, - "data": { - "label": "Github", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "eCkVAP0s0GKyY88M2fBDS" - }, - "style": { - "width": 117, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 80.37739157323301, - "y": 204.11002648913222 - }, - "dragging": false - }, - { - "width": 117, - "height": 49, - "id": "Ry_5Y-BK7HrkIc6X0JG1m", - "type": "subtopic", - "position": { - "x": 80.27582907323301, - "y": 311.25939143149003 - }, - "selected": false, - "data": { - "label": "Bitbucket", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "e4KQQInL16_RB4JdObH0I" - }, - "style": { - "width": 117, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 80.27582907323301, - "y": 311.25939143149003 - }, - "dragging": false - }, - { - "width": 117, - "height": 49, - "id": "Wcp-VDdFHipwa7hNAp1z_", - "type": "subtopic", - "position": { - "x": 80.27582907323301, - "y": 257.6847089603111 - }, - "selected": false, - "data": { - "label": "GitLab", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "yqA_KjfiUMC8BUu4IK9cy" - }, - "style": { - "width": 117, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 80.27582907323301, - "y": 257.6847089603111 - }, - "dragging": false - }, - { - "width": 231, - "height": 49, - "id": "NvUcSDWBhzJZ31nzT4UlE", - "type": "topic", - "position": { - "x": -221.6355808229639, - "y": 311.6847089603111 - }, - "selected": false, - "data": { - "label": "Repo hosting services", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "I-NkKNiKBNB6f8QaFzRgU" - }, - "style": { - "width": 231, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -221.6355808229639, - "y": 311.6847089603111 - }, - "dragging": false - }, - { - "width": 303, - "height": 49, - "id": "sHhaYEYv_lzGxFA4AjXSE", - "type": "subtopic", - "position": { - "x": 3.97204769515335, - "y": 426.3455062588017 - }, - "selected": false, - "data": { - "label": "Terminal Usage", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "qHDzjWb2k3KzBDKDMcmKS" - }, - "style": { - "width": 303, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 3.97204769515335, - "y": 426.3455062588017 - }, - "dragging": false - }, - { - "width": 303, - "height": 49, - "id": "DaKfYB2r4eTP9ve0FyOas", - "type": "subtopic", - "position": { - "x": 3.97204769515335, - "y": 480.3455062588017 - }, - "selected": false, - "data": { - "label": "POSIX Basics", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "pvM5FuSFuVFTB-ZMT7iLo" - }, - "style": { - "width": 303, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 3.97204769515335, - "y": 480.3455062588017 - }, - "dragging": false, - "resizing": false - }, - { - "width": 303, - "height": 49, - "id": "r1XmURGvxjZbJfniRtKYf", - "type": "topic", - "position": { - "x": 3.97204769515335, - "y": 551.176196380458 - }, - "selected": false, - "data": { - "label": "OS and General Knowledge", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "8ZguX2EDDS8uYcWVLyjYB" - }, - "style": { - "width": 303, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 3.97204769515335, - "y": 551.176196380458 - }, - "dragging": false, - "resizing": false - }, - { - "width": 137, - "height": 49, - "id": "FihTrMO56kj9jT8O_pO2T", - "type": "subtopic", - "position": { - "x": -790.5561634458938, - "y": 550.6793117728 - }, - "selected": false, - "data": { - "label": "PostgreSQL", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "lNsaFZwGE7vA0Km-Jfft4" - }, - "style": { - "width": 137, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -790.5561634458938, - "y": 550.6793117728 - }, - "dragging": false - }, - { - "width": 137, - "height": 49, - "id": "dEsTje8kfHwWjCI3zcgLC", - "type": "subtopic", - "position": { - "x": -527.1064465900799, - "y": 623.0930339118986 - }, - "selected": false, - "data": { - "label": "MS SQL", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "ulpADspLetx1g61PqMGU8" - }, - "style": { - "width": 137, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -527.1064465900799, - "y": 623.0930339118986 - }, - "dragging": false - }, - { - "width": 137, - "height": 49, - "id": "VPxOdjJtKAqmM5V0LR5OC", - "type": "subtopic", - "position": { - "x": -790.5561634458938, - "y": 604.6793117728 - }, - "selected": false, - "data": { - "label": "MySQL", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "3z18KztSA_4OY7zwxpFbB" - }, - "style": { - "width": 137, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -790.5561634458938, - "y": 604.6793117728 - }, - "dragging": false - }, - { - "width": 137, - "height": 49, - "id": "h1SAjQltHtztSt8QmRgab", - "type": "subtopic", - "position": { - "x": -527.1064465900799, - "y": 677.0930339118986 - }, - "selected": false, - "data": { - "label": "Oracle", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "bwQCmYPLWxGuE-GFmm3UG" - }, - "style": { - "width": 137, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -527.1064465900799, - "y": 677.0930339118986 - }, - "dragging": false - }, - { - "width": 137, - "height": 49, - "id": "tD3i-8gBpMKCHB-ITyDiU", - "type": "subtopic", - "position": { - "x": -790.5561634458938, - "y": 658.6793117728 - }, - "selected": false, - "data": { - "label": "MariaDB", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "YXyxPWu91_gMdNwFdTfRO" - }, - "style": { - "width": 137, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -790.5561634458938, - "y": 658.6793117728 - }, - "dragging": false - }, - { - "width": 209, - "height": 49, - "id": "r45b461NxLN6wBODJ5CNP", - "type": "topic", - "position": { - "x": -562.5514700259967, - "y": 551.176196380458 - }, - "selected": false, - "data": { - "label": "Relational Databases", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "sJ04XNIM7JqzHnffWd5UM" - }, - "style": { - "width": 209.4609375 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -562.5514700259967, - "y": 551.176196380458 - }, - "dragging": false - }, - { - "width": 188, - "height": 49, - "id": "F8frGuv1dunOdcVJ_IiGs", - "type": "topic", - "position": { - "x": -222, - "y": 810.0429990038838 - }, - "selected": false, - "data": { - "label": "NoSQL Databases", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "CNTHlHWUKgX1iafCRmV9s" - }, - "style": { - "width": 187.875 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -222, - "y": 810.0429990038838 - }, - "dragging": false - }, - { - "width": 161, - "height": 42, - "id": "Z7jp_Juj5PffSxV7UZcBb", - "type": "subtopic", - "position": { - "x": -437.91329687208076, - "y": 874.0429990038838 - }, - "selected": false, - "data": { - "label": "ORMs", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "FHrVrP-ndnV8MsDKMxdsq" - }, - "style": { - "width": 161, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -437.91329687208076, - "y": 874.0429990038838 - }, - "dragging": false - }, - { - "width": 161, - "height": 42, - "id": "Ge2SnKBrQQrU-oGLz6TmT", - "type": "subtopic", - "position": { - "x": -437.91329687208076, - "y": 1062.0429990038838 - }, - "selected": false, - "data": { - "label": "Normalization", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "50VkyrePI7pvgEyrWB1xN" - }, - "style": { - "width": 161, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -437.91329687208076, - "y": 1062.0429990038838 - }, - "dragging": false - }, - { - "width": 161, - "height": 42, - "id": "qSAdfaGUfn8mtmDjHJi3z", - "type": "subtopic", - "position": { - "x": -437.91329687208076, - "y": 921.0429990038838 - }, - "selected": false, - "data": { - "label": "ACID", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "4aBoOyTn1ALDRHYcfwzHf" - }, - "style": { - "width": 161, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -437.91329687208076, - "y": 921.0429990038838 - }, - "dragging": false - }, - { - "width": 161, - "height": 42, - "id": "GwApfL4Yx-b5Y8dB9Vy__", - "type": "subtopic", - "position": { - "x": -437.91329687208076, - "y": 1109.0429990038838 - }, - "selected": false, - "data": { - "label": "Failure Modes", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "--uLs-qyQYLn1WDir6KVt" - }, - "style": { - "width": 161, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -437.91329687208076, - "y": 1109.0429990038838 - }, - "dragging": false - }, - { - "width": 161, - "height": 42, - "id": "rq_y_OBMD9AH_4aoecvAi", - "type": "subtopic", - "position": { - "x": -437.91329687208076, - "y": 968.0429990038838 - }, - "selected": false, - "data": { - "label": "Transactions", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "plXELtRHevUzYUL3doQSs" - }, - "style": { - "width": 161, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -437.91329687208076, - "y": 968.0429990038838 - }, - "dragging": false - }, - { - "width": 161, - "height": 42, - "id": "SYXJhanu0lFmGj2m2XXhS", - "type": "subtopic", - "position": { - "x": -437.91329687208076, - "y": 1156.0429990038838 - }, - "selected": false, - "data": { - "label": "Profiling Perfor.", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "rFgQmfporOARKXsmzAy64" - }, - "style": { - "width": 161, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -437.91329687208076, - "y": 1156.0429990038838 - }, - "dragging": false, - "resizing": false - }, - { - "width": 161, - "height": 42, - "id": "bQnOAu863hsHdyNMNyJop", - "type": "subtopic", - "position": { - "x": -437.91329687208076, - "y": 1015.0429990038838 - }, - "selected": false, - "data": { - "label": "N+1 Problem", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "5pdTq6LCx8VXjd0-J1a1s" - }, - "style": { - "width": 161, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -437.91329687208076, - "y": 1015.0429990038838 - }, - "dragging": false - }, - { - "width": 220, - "height": 49, - "id": "LJt27onEOeIBomiEMTyKd", - "type": "topic", - "position": { - "x": -467.22698541870875, - "y": 1225.3986239741548 - }, - "selected": false, - "data": { - "label": "More about Databases", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "pNTfCAoFYG6YwBm5EOCvw" - }, - "style": { - "width": 220.4765625 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -467.22698541870875, - "y": 1225.3986239741548 - }, - "dragging": false - }, - { - "width": 196, - "height": 49, - "id": "y-xkHFE9YzhNIX3EiWspL", - "type": "subtopic", - "position": { - "x": 260.11624007042076, - "y": 1263.5357075345842 - }, - "selected": false, - "data": { - "label": "Database Indexes", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "S9MgYBsbsQ47S7J0Qg8wi" - }, - "style": { - "width": 196, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 260.11624007042076, - "y": 1263.5357075345842 - }, - "dragging": false - }, - { - "width": 196, - "height": 49, - "id": "zWstl08R4uzqve4BdYurp", - "type": "subtopic", - "position": { - "x": 260.11624007042076, - "y": 1371.5357075345842 - }, - "selected": false, - "data": { - "label": "Sharding Strategies", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "5dMoHdwlIIT8o3SE4JIJA" - }, - "style": { - "width": 196, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 260.11624007042076, - "y": 1371.5357075345842 - }, - "dragging": false - }, - { - "width": 196, - "height": 49, - "id": "wrl7HHWXOaxoKVlNZxZ6d", - "type": "subtopic", - "position": { - "x": 260.11624007042076, - "y": 1317.5357075345842 - }, - "selected": false, - "data": { - "label": "Data Replication", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "x4ws8SdWuAI2aH_kDauT0" - }, - "style": { - "width": 196, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 260.11624007042076, - "y": 1317.5357075345842 - }, - "dragging": false - }, - { - "width": 196, - "height": 49, - "id": "LAdKDJ4LcMaDWqslMvE8X", - "type": "subtopic", - "position": { - "x": 260.11624007042076, - "y": 1425.5357075345842 - }, - "selected": false, - "data": { - "label": "CAP Theorem", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "w_wOm7K0vM0mdW1aoNkoS" - }, - "style": { - "width": 196, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 260.11624007042076, - "y": 1425.5357075345842 - }, - "dragging": false - }, - { - "width": 188, - "height": 49, - "id": "95d9itpUZ4s9roZN8kG9x", - "type": "topic", - "position": { - "x": -64.1355808229639, - "y": 1427.0684283836745 - }, - "selected": false, - "data": { - "label": "Scaling Databases", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "h2QJvs2kJjVUTPe0u7lbI" - }, - "style": { - "width": 188.265625 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -64.1355808229639, - "y": 1427.0684283836745 - }, - "dragging": false - }, - { - "width": 190, - "height": 49, - "id": "dLY0KafPstajCcSbslC4M", - "type": "subtopic", - "position": { - "x": -840.3244886091768, - "y": 1427.0337865809788 - }, - "selected": false, - "data": { - "label": "HATEOAS", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "jg0GK9Vk3j4ASFJAYTCg9" - }, - "style": { - "width": 190, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -840.3244886091768, - "y": 1427.0337865809788 - }, - "dragging": false - }, - { - "width": 130, - "height": 42, - "id": "sNceS4MpSIjRkWhNDmrFg", - "type": "subtopic", - "position": { - "x": -523.7861967655382, - "y": 1557.2175162987423 - }, - "selected": false, - "data": { - "label": "JSON APIs", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "eZd-7w3ka8BhaAx8kGTgi" - }, - "style": { - "width": 130, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -523.7861967655382, - "y": 1557.2175162987423 - }, - "dragging": false - }, - { - "width": 190, - "height": 49, - "id": "9cD5ag1L0GqHx4_zxc5JX", - "type": "subtopic", - "position": { - "x": -840.3244886091768, - "y": 1479.4628967132546 - }, - "selected": false, - "data": { - "label": "Open API Specs", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "DUfNRRq7b-9qrmi3Jl9cg" - }, - "style": { - "width": 190, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -840.3244886091768, - "y": 1479.4628967132546 - }, - "dragging": false, - "resizing": false - }, - { - "width": 130, - "height": 42, - "id": "sSNf93azjuyMzQqIHE0Rh", - "type": "subtopic", - "position": { - "x": -523.7861967655382, - "y": 1604.2175162987423 - }, - "selected": false, - "data": { - "label": "SOAP", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "WcI3SBJRcNaE188PNbOVu" - }, - "style": { - "width": 130, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -523.7861967655382, - "y": 1604.2175162987423 - }, - "dragging": false - }, - { - "width": 190, - "height": 49, - "id": "HzlYQDi_ckQkiN4AvOQqu", - "type": "subtopic", - "position": { - "x": -840.3244886091768, - "y": 1531.8920068455304 - }, - "selected": false, - "data": { - "label": "Authentication", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "qAxwK0x7bbP5bmxK8KKqP" - }, - "style": { - "width": 190, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -840.3244886091768, - "y": 1531.8920068455304 - }, - "dragging": false - }, - { - "width": 130, - "height": 42, - "id": "J-TOE2lT4At1mSdNoxPS1", - "type": "subtopic", - "position": { - "x": -523.7861967655382, - "y": 1651.2175162987423 - }, - "selected": false, - "data": { - "label": "gRPC", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "QWSfT7edQOzSqxErGjzEW" - }, - "style": { - "width": 130, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -523.7861967655382, - "y": 1651.2175162987423 - }, - "dragging": false - }, - { - "width": 130, - "height": 42, - "id": "lfNFDZZNdrB0lbEaMtU71", - "type": "subtopic", - "position": { - "x": -523.7861967655382, - "y": 1510.2175162987423 - }, - "selected": false, - "data": { - "label": "REST", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "gVsbyjVssRCpAf6r-tF0O" - }, - "style": { - "width": 130, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -523.7861967655382, - "y": 1510.2175162987423 - }, - "dragging": false - }, - { - "width": 130, - "height": 42, - "id": "zp3bq38tMnutT2N0tktOW", - "type": "subtopic", - "position": { - "x": -523.7861967655382, - "y": 1698.2175162987423 - }, - "selected": false, - "data": { - "label": "GraphQL", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "SuTsL6Hx2f9mGGkuz6qzR" - }, - "style": { - "width": 130, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -523.7861967655382, - "y": 1698.2175162987423 - }, - "dragging": false - }, - { - "width": 177, - "height": 49, - "id": "EwvLPSI6AlZ4TnNIJTZA4", - "type": "topic", - "position": { - "x": -547.2861967655382, - "y": 1427.0684283836745 - }, - "selected": false, - "data": { - "label": "Learn about APIs", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "iGeAiNtqNadlJVDmd-p-g" - }, - "style": { - "width": 177.1796875 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -547.2861967655382, - "y": 1427.0684283836745 - }, - "dragging": false - }, - { - "width": 165, - "height": 49, - "id": "KWTbEVX_WxS8jmSaAX3Fe", - "type": "subtopic", - "position": { - "x": 46.776002172931726, - "y": 1516.4657382444411 - }, - "selected": false, - "data": { - "label": "Client Side", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "VCs8QGDemoQSkB36h9PJK" - }, - "style": { - "width": 165, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 46.776002172931726, - "y": 1516.4657382444411 - }, - "dragging": false - }, - { - "width": 165, - "height": 49, - "id": "Nq2BO53bHJdFT1rGZPjYx", - "type": "subtopic", - "position": { - "x": 46.776002172931726, - "y": 1624.4657382444411 - }, - "selected": false, - "data": { - "label": "CDN", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "bIXcS6GrLumi6encivC_r" - }, - "style": { - "width": 165, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 46.776002172931726, - "y": 1624.4657382444411 - }, - "dragging": false - }, - { - "width": 165, - "height": 49, - "id": "z1-eP4sV75GBEIdM4NvL9", - "type": "subtopic", - "position": { - "x": 46.776002172931726, - "y": 1570.4657382444411 - }, - "selected": false, - "data": { - "label": "Server Side", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "xPvVwGQw28uMeLYIWn8yn" - }, - "style": { - "width": 165, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 46.776002172931726, - "y": 1570.4657382444411 - }, - "dragging": false, - "resizing": false - }, - { - "width": 109, - "height": 49, - "id": "ELj8af7Mi38kUbaPJfCUR", - "type": "topic", - "position": { - "x": -165.6355808229639, - "y": 1624.2175162987423 - }, - "selected": false, - "data": { - "label": "Caching", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "T632e8R4J001IajMm9yp7" - }, - "style": { - "width": 108.53125 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -165.6355808229639, - "y": 1624.2175162987423 - }, - "dragging": false - }, - { - "width": 234, - "height": 49, - "id": "RBrIP5KbVQ2F0ly7kMfTo", - "type": "topic", - "position": { - "x": -228.1355808229639, - "y": 1767.6349642618343 - }, - "selected": false, - "data": { - "label": "Web Security Knowledge", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "Mu-HTzcpluvHTcfv0-nMw" - }, - "style": { - "width": 233.7578125 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -228.1355808229639, - "y": 1767.6349642618343 - }, - "dragging": false - }, - { - "width": 193, - "height": 49, - "id": "381Kw1IMRv7CJp-Uf--qd", - "type": "subtopic", - "position": { - "x": -491.8168004698666, - "y": 1816.6349642618343 - }, - "selected": false, - "data": { - "label": "Integration Testing", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "U7mP1unVOQgVXCCuXh8De" - }, - "style": { - "width": 193, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -491.8168004698666, - "y": 1816.6349642618343 - }, - "dragging": false, - "resizing": false - }, - { - "width": 193, - "height": 49, - "id": "NAGisfq2CgeK3SsuRjnMw", - "type": "subtopic", - "position": { - "x": -491.8168004698666, - "y": 1924.6349642618343 - }, - "selected": false, - "data": { - "label": "Functional Testing", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "Lcb9mmKc5k2UofZ0_o6Rs" - }, - "style": { - "width": 193, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -491.8168004698666, - "y": 1924.6349642618343 - }, - "dragging": false - }, - { - "width": 193, - "height": 49, - "id": "3OYm6b9f6WOrKi4KTOZYK", - "type": "subtopic", - "position": { - "x": -491.8168004698666, - "y": 1870.6349642618343 - }, - "selected": false, - "data": { - "label": "Unit Testing", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "J_kRwf-neWCW5DjfBmybt" - }, - "style": { - "width": 193, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -491.8168004698666, - "y": 1870.6349642618343 - }, - "dragging": false - }, - { - "width": 151, - "height": 49, - "id": "STQQbPa7PE3gbjMdL6P-t", - "type": "topic", - "position": { - "x": -186.6355808229639, - "y": 1924.6349642618343 - }, - "selected": false, - "data": { - "label": "Testing", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "RFUPBl2Q9hBXP9HacPOo1" - }, - "style": { - "width": 151, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -186.6355808229639, - "y": 1924.6349642618343 - }, - "dragging": false - }, - { - "width": 151, - "height": 49, - "id": "mGfD7HfuP184lFkXZzGjG", - "type": "topic", - "position": { - "x": -186.6355808229639, - "y": 2021.3743829670757 - }, - "selected": false, - "data": { - "label": "CI / CD", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "ZbqxpSU_yVIqn18nTHi7o" - }, - "style": { - "width": 151, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -186.6355808229639, - "y": 2021.3743829670757 - }, - "dragging": false, - "resizing": false - }, - { - "width": 238, - "height": 42, - "id": "6XIWO0MoE-ySl4qh_ihXa", - "type": "subtopic", - "position": { - "x": -789.5389019050331, - "y": 2203.569110860925 - }, - "selected": false, - "data": { - "label": "GOD Design Patterns", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "SbNqTFqv0nGaEgFRPJTdF" - }, - "style": { - "width": 238, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -789.5389019050331, - "y": 2203.569110860925 - }, - "dragging": false - }, - { - "width": 238, - "height": 42, - "id": "u8IRw5PuXGUcmxA0YYXgx", - "type": "subtopic", - "position": { - "x": -789.5389019050331, - "y": 2344.569110860925 - }, - "selected": false, - "data": { - "label": "CQRS", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "9f7ACjQRRLA7XKYnksZSf" - }, - "style": { - "width": 238, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -789.5389019050331, - "y": 2344.569110860925 - }, - "dragging": false - }, - { - "width": 238, - "height": 42, - "id": "BvHi5obg0L1JDZFKBzx9t", - "type": "subtopic", - "position": { - "x": -789.5389019050331, - "y": 2250.569110860925 - }, - "selected": false, - "data": { - "label": "Domain Driven Design", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "qrAayg7BD7kxb7_L2SJah" - }, - "style": { - "width": 238, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -789.5389019050331, - "y": 2250.569110860925 - }, - "dragging": false - }, - { - "width": 238, - "height": 42, - "id": "wqE-mkxvehOzOv8UyE39p", - "type": "subtopic", - "position": { - "x": -789.5389019050331, - "y": 2391.569110860925 - }, - "selected": false, - "data": { - "label": "Event Sourcing", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "O9Rikw8IeZBubICKMEWfh" - }, - "style": { - "width": 238, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -789.5389019050331, - "y": 2391.569110860925 - }, - "dragging": false - }, - { - "width": 240, - "height": 42, - "id": "I-PUAE2AzbEaUkW9vMaUM", - "type": "subtopic", - "position": { - "x": -790.5389019050331, - "y": 2297.569110860925 - }, - "selected": false, - "data": { - "label": "Test Driven Development", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "2s5av-0dXEoxUdJDBkGAw" - }, - "style": { - "width": 240, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -790.5389019050331, - "y": 2297.569110860925 - }, - "dragging": false - }, - { - "width": 320, - "height": 49, - "id": "9Fpoor-Os_9lvrwu5Zjh-", - "type": "topic", - "position": { - "x": -830.5389019050331, - "y": 2119.3295782776286 - }, - "selected": false, - "data": { - "label": "Design and Development Principles", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "pcrqm3BuBvkpiv5KOgmHH" - }, - "style": { - "width": 320, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -830.5389019050331, - "y": 2119.3295782776286 - }, - "dragging": false - }, - { - "width": 194, - "height": 42, - "id": "Ke522R-4k6TDeiDRyZbbU", - "type": "subtopic", - "position": { - "x": -9.83309407683197, - "y": 2177.565986217673 - }, - "selected": false, - "data": { - "label": "Monolithic Apps", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "eEjwT_0m1ClZ1Mzk3Tpe1" - }, - "style": { - "width": 194, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -9.83309407683197, - "y": 2177.565986217673 - }, - "dragging": false - }, - { - "width": 194, - "height": 42, - "id": "nkmIv3dNwre4yrULMgTh3", - "type": "subtopic", - "position": { - "x": -9.83309407683197, - "y": 2318.565986217673 - }, - "selected": false, - "data": { - "label": "Serverless", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "hbD8zLd1zLo8cxe1Zzv_q" - }, - "style": { - "width": 194, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -9.83309407683197, - "y": 2318.565986217673 - }, - "dragging": false - }, - { - "width": 194, - "height": 42, - "id": "K55h3aqOGe6-hgVhiFisT", - "type": "subtopic", - "position": { - "x": -9.83309407683197, - "y": 2224.565986217673 - }, - "selected": false, - "data": { - "label": "Microservices", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "3ihAuijCWt3qpmjhCvPAN" - }, - "style": { - "width": 194, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -9.83309407683197, - "y": 2224.565986217673 - }, - "dragging": false - }, - { - "width": 194, - "height": 42, - "id": "n14b7sfTOwsjKTpFC9EZ2", - "type": "subtopic", - "position": { - "x": -9.83309407683197, - "y": 2365.565986217673 - }, - "selected": false, - "data": { - "label": "Service Mesh", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "qpFqX--0c3Ns3GcMTLwIV" - }, - "style": { - "width": 194, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -9.83309407683197, - "y": 2365.565986217673 - }, - "dragging": false - }, - { - "width": 194, - "height": 42, - "id": "tObmzWpjsJtK4GWhx6pwB", - "type": "subtopic", - "position": { - "x": -9.83309407683197, - "y": 2271.565986217673 - }, - "selected": false, - "data": { - "label": "SOA", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "VN_aqqc0Ud08WEfGm0RD0" - }, - "style": { - "width": 194, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -9.83309407683197, - "y": 2271.565986217673 - }, - "dragging": false - }, - { - "width": 194, - "height": 42, - "id": "8DmabQJXlrT__COZrDVTV", - "type": "subtopic", - "position": { - "x": -9.83309407683197, - "y": 2412.565986217673 - }, - "selected": false, - "data": { - "label": "Twelve Factor Apps", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "-Kl-yF0-CvcxFVftrIhc3" - }, - "style": { - "width": 194, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -9.83309407683197, - "y": 2412.565986217673 - }, - "dragging": false - }, - { - "width": 210, - "height": 49, - "id": "tHiUpG9LN35E5RaHddMv5", - "type": "topic", - "position": { - "x": -356.91329687208076, - "y": 2267.565986217673 - }, - "selected": false, - "data": { - "label": "Architectural Patterns", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "vuQZVKbu31v9pPvUFO0PS" - }, - "style": { - "width": 210.140625 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -356.91329687208076, - "y": 2267.565986217673 - }, - "dragging": false - }, - { - "width": 123, - "height": 49, - "id": "GPFRMcY1DEtRgnaZwJ3vW", - "type": "subtopic", - "position": { - "x": -622.2825385512922, - "y": 2489.59322108098 - }, - "selected": false, - "data": { - "label": "RabbitMQ", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "nWqysC_xHODqEUf0bHiac" - }, - "style": { - "width": 123, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -622.2825385512922, - "y": 2489.59322108098 - }, - "dragging": false - }, - { - "width": 123, - "height": 49, - "id": "VoYSis1F1ZfTxMlQlXQKB", - "type": "subtopic", - "position": { - "x": -622.2825385512922, - "y": 2543.59322108098 - }, - "selected": false, - "data": { - "label": "Kafka", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "jHzW3C8W4K0B-APmq20sQ" - }, - "style": { - "width": 123, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -622.2825385512922, - "y": 2543.59322108098 - }, - "dragging": false - }, - { - "width": 180, - "height": 49, - "id": "nJ5FpFgGCRaALcWmAKBKT", - "type": "topic", - "position": { - "x": -650.7825385512922, - "y": 2616.821150629177 - }, - "selected": false, - "data": { - "label": "Message Brokers", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "ztkOqlGQWIilnsSAw0il9" - }, - "style": { - "width": 180.4921875 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -650.7825385512922, - "y": 2616.821150629177 - }, - "dragging": false - }, - { - "width": 152, - "height": 42, - "id": "sX7NPEJf7-qiTtIq2rW0Q", - "type": "subtopic", - "position": { - "x": 187.29669503650234, - "y": 2526.2949810183627 - }, - "selected": false, - "data": { - "label": "Kubernetes", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "X8wVYpC1DKAuoIWC3hNma" - }, - "style": { - "width": 152, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 187.29669503650234, - "y": 2526.2949810183627 - }, - "dragging": false - }, - { - "width": 152, - "height": 42, - "id": "31ZlpfIPr9-5vYZqvjUeL", - "type": "subtopic", - "position": { - "x": 187.29669503650234, - "y": 2620.2949810183627 - }, - "selected": false, - "data": { - "label": "LXC", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "SoLgdE9kMRb5TOPmiFNTg" - }, - "style": { - "width": 152, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 187.29669503650234, - "y": 2620.2949810183627 - }, - "dragging": false - }, - { - "width": 152, - "height": 42, - "id": "YQYp19TOR7w80qCnjcLVA", - "type": "subtopic", - "position": { - "x": 187.29669503650234, - "y": 2573.2949810183627 - }, - "selected": false, - "data": { - "label": "Docker", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "PWK0jI0o534pJGiK1FRSz" - }, - "style": { - "width": 152, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 187.29669503650234, - "y": 2573.2949810183627 - }, - "dragging": false - }, - { - "width": 295, - "height": 49, - "id": "SGVwJme-jT_pbOTvems0v", - "type": "topic", - "position": { - "x": -206.6355808229639, - "y": 2616.821150629177 - }, - "selected": false, - "data": { - "label": "Containerization vs Virtualization", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "xC2dMtwvHtn7bvkjoILGC" - }, - "style": { - "width": 294.6171875 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -206.6355808229639, - "y": 2616.821150629177 - }, - "dragging": false - }, - { - "width": 152, - "height": 42, - "id": "on4O41y_KQfjWxHPVYtuq", - "type": "subtopic", - "position": { - "x": 187.29669503650234, - "y": 2717.8291601401647 - }, - "selected": false, - "data": { - "label": "Apollo", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "AFKvY2cFqrs05Km4smpq5" - }, - "style": { - "width": 152, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 187.29669503650234, - "y": 2717.8291601401647 - }, - "dragging": false - }, - { - "width": 152, - "height": 42, - "id": "wHSoisl96wSA7f5nd8Stj", - "type": "subtopic", - "position": { - "x": 187.29669503650234, - "y": 2764.8291601401647 - }, - "selected": false, - "data": { - "label": "Relay Modern", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "s5O5tbHwLZO1F5kppru4u" - }, - "style": { - "width": 152, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 187.29669503650234, - "y": 2764.8291601401647 - }, - "dragging": false - }, - { - "width": 115, - "height": 49, - "id": "QtwgoG_m9dLoVykJRwGUp", - "type": "topic", - "position": { - "x": -116.74092870652134, - "y": 2760.6817784833934 - }, - "selected": false, - "data": { - "label": "GraphQL", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "oPq7LQLE42mQyZfKvxDuW" - }, - "style": { - "width": 115.4375 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -116.74092870652134, - "y": 2760.6817784833934 - }, - "dragging": false - }, - { - "width": 140, - "height": 49, - "id": "sVuIdAe08IWJVqAt4z-ag", - "type": "topic", - "position": { - "x": -355.55147002599665, - "y": 2760.6817784833934 - }, - "selected": false, - "data": { - "label": "WebSockets", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "AdD_qP2zWpDRF7fye4BAf" - }, - "style": { - "width": 139.9296875 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -355.55147002599665, - "y": 2760.6817784833934 - }, - "dragging": false - }, - { - "width": 193, - "height": 49, - "id": "RUSdlokJUcEYbCvq5FJBJ", - "type": "topic", - "position": { - "x": -647.9321649808119, - "y": 2760.6817784833934 - }, - "selected": false, - "data": { - "label": "Server Sent Events", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "nCUR4HAGITzZGQ9Ur-lwF" - }, - "style": { - "width": 193, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -647.9321649808119, - "y": 2760.6817784833934 - }, - "dragging": false - }, - { - "width": 103, - "height": 42, - "id": "z5AdThp9ByulmM9uekgm-", - "type": "subtopic", - "position": { - "x": -828.3776115707208, - "y": 2770.043819104486 - }, - "selected": false, - "data": { - "label": "Nginx", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "EszP1HTjYUcKJlODbvIlQ" - }, - "style": { - "width": 103, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -828.3776115707208, - "y": 2770.043819104486 - }, - "dragging": false - }, - { - "width": 103, - "height": 42, - "id": "Op-PSPNoyj6Ss9CS09AXh", - "type": "subtopic", - "position": { - "x": -828.3776115707208, - "y": 2864.043819104486 - }, - "selected": false, - "data": { - "label": "Caddy", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "GWX9hx7Zi-hJEuQl_smnD" - }, - "style": { - "width": 103, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -828.3776115707208, - "y": 2864.043819104486 - }, - "dragging": false - }, - { - "width": 103, - "height": 42, - "id": "jjjonHTHHo-NiAf6p9xPv", - "type": "subtopic", - "position": { - "x": -828.3776115707208, - "y": 2817.043819104486 - }, - "selected": false, - "data": { - "label": "Apache", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "OV10LPpeU9WkCnLB2nbjh" - }, - "style": { - "width": 103, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -828.3776115707208, - "y": 2817.043819104486 - }, - "dragging": false - }, - { - "width": 103, - "height": 42, - "id": "0NJDgfe6eMa7qPUOI6Eya", - "type": "subtopic", - "position": { - "x": -828.3776115707208, - "y": 2911.043819104486 - }, - "selected": false, - "data": { - "label": "MS IIS", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "th-s4CCGHamJSHHWbRbtF" - }, - "style": { - "width": 103, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -828.3776115707208, - "y": 2911.043819104486 - }, - "dragging": false - }, - { - "width": 193, - "height": 49, - "id": "fekyMpEnaGqjh1Cu4Nyc4", - "type": "topic", - "position": { - "x": -647.9321649808119, - "y": 2908.3771524378194 - }, - "selected": false, - "data": { - "label": "Web Servers", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "RPxWYpvCIOvqxJSZXvbrg" - }, - "style": { - "width": 193, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -647.9321649808119, - "y": 2908.3771524378194 - }, - "dragging": false - }, - { - "width": 184, - "height": 49, - "id": "SHmbcMRsc3SygEDksJQBD", - "type": "topic", - "position": { - "x": -370.6355808229639, - "y": 3093.231606891345 - }, - "selected": false, - "data": { - "label": "Building For Scale", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "lk9FVM9b-vD6HrCgdMts5" - }, - "style": { - "width": 183.84375 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -370.6355808229639, - "y": 3093.231606891345 - }, - "dragging": false - }, - { - "width": 165, - "height": 49, - "id": "g8GjkJAhvnSxXTZks0V1g", - "type": "subtopic", - "position": { - "x": 291.0229384955444, - "y": 1543.9581032974293 - }, - "selected": false, - "data": { - "label": "Redis", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "xPvVwGQw28uMeLYIWn8yn" - }, - "style": { - "width": 165, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 291.0229384955444, - "y": 1543.9581032974293 - }, - "dragging": false, - "resizing": false - }, - { - "width": 165, - "height": 49, - "id": "xPvVwGQw28uMeLYIWn8yn", - "type": "subtopic", - "position": { - "x": 291.0229384955444, - "y": 1597.9581032974293 - }, - "selected": false, - "data": { - "label": "Memcached", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "DfDS2g4vh52wUPGJN3mfV" - }, - "style": { - "width": 165, - "height": 49 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 291.0229384955444, - "y": 1597.9581032974293 - }, - "dragging": false, - "resizing": false - }, - { - "width": 303, - "height": 120, - "id": "pm1BODjPj6PWFx0dzKQ7r", - "type": "paragraph", - "position": { - "x": 6.47204769515335, - "y": 623.0930339118986 - }, - "selected": false, - "data": { - "label": "Basic Terminal Commands", - "style": { - "fontSize": 20, - "justifyContent": "flex-start", - "textAlign": "center", - "backgroundColor": "#ffe59a", - "borderColor": "#000000" - } - }, - "zIndex": 999, - "dragging": false, - "focusable": false, - "style": { - "width": 303, - "height": 120 - }, - "resizing": false, - "positionAbsolute": { - "x": 6.47204769515335, - "y": 623.0930339118986 - } - }, - { - "width": 285, - "height": 88, - "id": "keWHcMLFJHVPCGq1Mh1pJ", - "type": "paragraph", - "position": { - "x": 15.47204769515335, - "y": 655.0930339118986 - }, - "selected": false, - "data": { - "label": "grep, awk, sed, lsof, curl, wget, tail, head, less, find, ssh, kill, dig", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - } - }, - "zIndex": 999, - "dragging": false, - "positionAbsolute": { - "x": 15.47204769515335, - "y": 655.0930339118986 - }, - "style": { - "width": 285 - }, - "resizing": false, - "focusable": false - }, - { - "width": 267, - "height": 42, - "id": "Xv09yYM-kt_kMbFWL7PCP", - "type": "subtopic", - "position": { - "x": 25.21555503258878, - "y": 773.693186958534 - }, - "selected": false, - "data": { - "label": "How OSs work in General", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "16vCgVCVKx2T6PgR6eJxo" - }, - "style": { - "width": 267, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 25.21555503258878, - "y": 773.693186958534 - }, - "dragging": false - }, - { - "width": 267, - "height": 42, - "id": "8IeJ7ktBmXW9hH7NRzbzm", - "type": "subtopic", - "position": { - "x": 25.21555503258878, - "y": 820.693186958534 - }, - "selected": false, - "data": { - "label": "Memory Management", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "16vCgVCVKx2T6PgR6eJxo" - }, - "style": { - "width": 267, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 25.21555503258878, - "y": 820.693186958534 - }, - "dragging": false - }, - { - "width": 267, - "height": 42, - "id": "WdGqs2CLc2cDPEjzEPoFj", - "type": "subtopic", - "position": { - "x": 25.21555503258878, - "y": 867.693186958534 - }, - "selected": false, - "data": { - "label": "Interprocess Communication", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "16vCgVCVKx2T6PgR6eJxo" - }, - "style": { - "width": 267, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 25.21555503258878, - "y": 867.693186958534 - }, - "dragging": false - }, - { - "width": 267, - "height": 42, - "id": "KWAhsjFJilEvMka5KXzY2", - "type": "subtopic", - "position": { - "x": 25.21555503258878, - "y": 914.693186958534 - }, - "selected": false, - "data": { - "label": "I/O Management", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "16vCgVCVKx2T6PgR6eJxo" - }, - "style": { - "width": 267, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 25.21555503258878, - "y": 914.693186958534 - }, - "dragging": false - }, - { - "width": 267, - "height": 42, - "id": "IQ1VmqKR6MzNOM_HrJMn_", - "type": "subtopic", - "position": { - "x": 25.21555503258878, - "y": 961.693186958534 - }, - "selected": false, - "data": { - "label": "Basic Networking Concepts", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "16vCgVCVKx2T6PgR6eJxo" - }, - "style": { - "width": 267, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 25.21555503258878, - "y": 961.693186958534 - }, - "dragging": false - }, - { - "width": 267, - "height": 42, - "id": "8IH45wy4nlKOmoXusIki3", - "type": "subtopic", - "position": { - "x": 25.21555503258878, - "y": 1008.693186958534 - }, - "selected": false, - "data": { - "label": "Threads and Concurrency", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "16vCgVCVKx2T6PgR6eJxo" - }, - "style": { - "width": 267, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 25.21555503258878, - "y": 1008.693186958534 - }, - "dragging": false - }, - { - "width": 267, - "height": 42, - "id": "16vCgVCVKx2T6PgR6eJxo", - "type": "subtopic", - "position": { - "x": 25.21555503258878, - "y": 1055.693186958534 - }, - "selected": false, - "data": { - "label": "Process Mangement", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "Z7jp_Juj5PffSxV7UZcBb" - }, - "style": { - "width": 267, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 25.21555503258878, - "y": 1055.693186958534 - }, - "dragging": false - }, - { - "width": 200, - "height": 160, - "id": "UxAr1obi4rfJnohRmi9I0", - "type": "paragraph", - "position": { - "x": -906.3726652834954, - "y": 756.158647177753 - }, - "selected": false, - "data": { - "label": "Document DBs", - "style": { - "fontSize": 17, - "justifyContent": "flex-end", - "textAlign": "center", - "borderColor": "#000000", - "backgroundColor": "#ffffff" - } - }, - "zIndex": 999, - "style": { - "width": 200, - "height": 160 - }, - "resizing": false, - "dragging": false, - "positionAbsolute": { - "x": -906.3726652834954, - "y": 756.158647177753 - }, - "focusable": false - }, - { - "width": 170, - "height": 42, - "id": "28U6q_X-NTYf7OSKHjoWH", - "type": "subtopic", - "position": { - "x": -891.3762845287521, - "y": 768.8643153301546 - }, - "selected": false, - "data": { - "label": "MongoDB", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "Xv09yYM-kt_kMbFWL7PCP" - }, - "style": { - "width": 170, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -891.3762845287521, - "y": 768.8643153301546 - }, - "dragging": false, - "resizing": false - }, - { - "width": 170, - "height": 42, - "id": "qOlNzZ7U8LhIGukb67n7U", - "type": "subtopic", - "position": { - "x": -891.3762845287521, - "y": 815.7771121676461 - }, - "selected": false, - "data": { - "label": "CouchDB", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "28U6q_X-NTYf7OSKHjoWH" - }, - "style": { - "width": 170, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -891.3762845287521, - "y": 815.7771121676461 - }, - "dragging": false, - "resizing": false - }, - { - "width": 200, - "height": 160, - "id": "I5rct7q589I0lxFb0ssYd", - "type": "paragraph", - "position": { - "x": -708.6687555378932, - "y": 756.0714440152445 - }, - "selected": false, - "data": { - "label": "Time Series", - "style": { - "fontSize": 17, - "justifyContent": "flex-end", - "textAlign": "center", - "borderColor": "#000000", - "backgroundColor": "#ffffff" - }, - "oldId": "UxAr1obi4rfJnohRmi9I0" - }, - "zIndex": 999, - "style": { - "width": 200, - "height": 160 - }, - "resizing": false, - "dragging": false, - "positionAbsolute": { - "x": -708.6687555378932, - "y": 756.0714440152445 - }, - "focusable": false - }, - { - "width": 170, - "height": 42, - "id": "DfNZN0r7L5k1WdFFki40T", - "type": "subtopic", - "position": { - "x": -693.6723747831498, - "y": 768.7771121676461 - }, - "selected": false, - "data": { - "label": "InfluxDB", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "28U6q_X-NTYf7OSKHjoWH" - }, - "style": { - "width": 170, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -693.6723747831498, - "y": 768.7771121676461 - }, - "dragging": false, - "resizing": false - }, - { - "width": 170, - "height": 42, - "id": "VsW8D1YhHuDn34v9yCUbY", - "type": "subtopic", - "position": { - "x": -693.6723747831498, - "y": 815.7771121676461 - }, - "selected": false, - "data": { - "label": "TimeScale", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "qOlNzZ7U8LhIGukb67n7U" - }, - "style": { - "width": 170, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -693.6723747831498, - "y": 815.7771121676461 - }, - "dragging": false, - "resizing": false - }, - { - "width": 200, - "height": 160, - "id": "XkCHbDs8uo85HRxkS6mP8", - "type": "paragraph", - "position": { - "x": -906.359049554184, - "y": 913.2741288421048 - }, - "selected": false, - "data": { - "label": "Realtime", - "style": { - "fontSize": 17, - "justifyContent": "flex-end", - "textAlign": "center", - "borderColor": "#000000", - "backgroundColor": "#ffffff" - }, - "oldId": "UxAr1obi4rfJnohRmi9I0" - }, - "zIndex": 999, - "style": { - "width": 200, - "height": 160 - }, - "resizing": false, - "dragging": false, - "positionAbsolute": { - "x": -906.359049554184, - "y": 913.2741288421048 - }, - "focusable": false - }, - { - "width": 170, - "height": 42, - "id": "3VnDkoCp1db8cPFVyxV7c", - "type": "subtopic", - "position": { - "x": -891.3626687994407, - "y": 925.9797969945064 - }, - "selected": false, - "data": { - "label": "Firebase", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "28U6q_X-NTYf7OSKHjoWH" - }, - "style": { - "width": 170, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -891.3626687994407, - "y": 925.9797969945064 - }, - "dragging": false, - "resizing": false - }, - { - "width": 170, - "height": 42, - "id": "yrXGUHg7XfpDbwCKN77Av", - "type": "subtopic", - "position": { - "x": -891.3626687994407, - "y": 972.9797969945064 - }, - "selected": false, - "data": { - "label": "RethinkDB", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "qOlNzZ7U8LhIGukb67n7U" - }, - "style": { - "width": 170, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -891.3626687994407, - "y": 972.9797969945064 - }, - "dragging": false, - "resizing": false - }, - { - "width": 200, - "height": 160, - "id": "k2WQa0jCcj_F0rY7C4I4w", - "type": "paragraph", - "position": { - "x": -708.6551398085818, - "y": 913.1869256795964 - }, - "selected": false, - "data": { - "label": "Column DBs", - "style": { - "fontSize": 17, - "justifyContent": "flex-end", - "textAlign": "center", - "borderColor": "#000000", - "backgroundColor": "#ffffff" - }, - "oldId": "I5rct7q589I0lxFb0ssYd" - }, - "zIndex": 999, - "style": { - "width": 200, - "height": 160 - }, - "resizing": false, - "dragging": false, - "positionAbsolute": { - "x": -708.6551398085818, - "y": 913.1869256795964 - }, - "focusable": false - }, - { - "width": 170, - "height": 42, - "id": "zIP4lygeKaH1P-VYRMpdU", - "type": "subtopic", - "position": { - "x": -693.6587590538385, - "y": 925.8925938319979 - }, - "selected": false, - "data": { - "label": "Cassandra", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "DfNZN0r7L5k1WdFFki40T" - }, - "style": { - "width": 170, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -693.6587590538385, - "y": 925.8925938319979 - }, - "dragging": false, - "resizing": false - }, - { - "width": 170, - "height": 42, - "id": "VcNmACWoN4qY_eCrdVZBF", - "type": "subtopic", - "position": { - "x": -693.6587590538385, - "y": 972.9797969945064 - }, - "selected": false, - "data": { - "label": "HBase", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "VsW8D1YhHuDn34v9yCUbY" - }, - "style": { - "width": 170, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -693.6587590538385, - "y": 972.9797969945064 - }, - "dragging": false, - "resizing": false - }, - { - "width": 200, - "height": 160, - "id": "nKvHypr4-rGcVZhQn3avy", - "type": "paragraph", - "position": { - "x": -906.4768038690369, - "y": 1070.8665614300626 - }, - "selected": false, - "data": { - "label": "Key-Value", - "style": { - "fontSize": 17, - "justifyContent": "flex-end", - "textAlign": "center", - "borderColor": "#000000", - "backgroundColor": "#ffffff" - }, - "oldId": "XkCHbDs8uo85HRxkS6mP8" - }, - "zIndex": 999, - "style": { - "width": 200, - "height": 160 - }, - "resizing": false, - "dragging": false, - "positionAbsolute": { - "x": -906.4768038690369, - "y": 1070.8665614300626 - }, - "focusable": false - }, - { - "width": 170, - "height": 42, - "id": "WQkKdXwjbqov8KLR4Bn20", - "type": "subtopic", - "position": { - "x": -891.4804231142936, - "y": 1083.5722295824642 - }, - "selected": false, - "data": { - "label": "Redis", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "3VnDkoCp1db8cPFVyxV7c" - }, - "style": { - "width": 170, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -891.4804231142936, - "y": 1083.5722295824642 - }, - "dragging": false, - "resizing": false - }, - { - "width": 170, - "height": 42, - "id": "TJaO2ePry2wrNVasuj2me", - "type": "subtopic", - "position": { - "x": -891.4804231142936, - "y": 1130.4850264199558 - }, - "selected": false, - "data": { - "label": "DynamoDB", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "yrXGUHg7XfpDbwCKN77Av" - }, - "style": { - "width": 170, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -891.4804231142936, - "y": 1130.4850264199558 - }, - "dragging": false, - "resizing": false - }, - { - "width": 201, - "height": 115, - "id": "lz1qUvdtuZ5_MUBDw2M7B", - "type": "paragraph", - "position": { - "x": -708.7728941234346, - "y": 1070.779358267554 - }, - "selected": false, - "data": { - "label": "Graph DBs", - "style": { - "fontSize": 17, - "justifyContent": "flex-end", - "textAlign": "center", - "borderColor": "#000000", - "backgroundColor": "#ffffff" - }, - "oldId": "k2WQa0jCcj_F0rY7C4I4w" - }, - "zIndex": 999, - "style": { - "width": 201, - "height": 115 - }, - "resizing": false, - "dragging": false, - "positionAbsolute": { - "x": -708.7728941234346, - "y": 1070.779358267554 - }, - "focusable": false - }, - { - "width": 170, - "height": 42, - "id": "BTNJfWemFKEeNeTyENXui", - "type": "subtopic", - "position": { - "x": -693.7765133686913, - "y": 1083.4850264199558 - }, - "selected": false, - "data": { - "label": "Neo4j", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "zIP4lygeKaH1P-VYRMpdU" - }, - "style": { - "width": 170, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -693.7765133686913, - "y": 1083.4850264199558 - }, - "dragging": false, - "resizing": false - }, - { - "width": 320, - "height": 49, - "id": "ruK1Bf7XVIgOHguNFxYlY", - "type": "button", - "position": { - "x": -830.5389019050331, - "y": 2021.3743829670757 - }, - "selected": false, - "data": { - "label": "Software Design & Architecture", - "href": "https://roadmap.sh/software-design-architecture", - "color": "#ffffff", - "backgroundColor": "#4136d4", - "style": { - "fontSize": 17 - }, - "oldId": "sSG9zK0ZGTBSk-nFIOq8A" - }, - "zIndex": 999, - "dragging": false, - "positionAbsolute": { - "x": -830.5389019050331, - "y": 2021.3743829670757 - }, - "style": { - "width": 320, - "height": 49 - }, - "focusable": false - }, - { - "width": 303, - "height": 315, - "id": "SqTnY2zykzA6857nHHwG2", - "type": "paragraph", - "position": { - "x": -49.72190056065119, - "y": 2853.7515676779385 - }, - "selected": false, - "data": { - "label": "Mitigation Strategies", - "style": { - "fontSize": 17, - "justifyContent": "flex-end", - "textAlign": "center", - "borderColor": "#000000", - "backgroundColor": "#ffffff" - }, - "oldId": "y4gMzo3mPn7_uGkuDkOqM" - }, - "zIndex": 999, - "dragging": false, - "style": { - "width": 303, - "height": 315 - }, - "resizing": false, - "positionAbsolute": { - "x": -49.72190056065119, - "y": 2853.7515676779385 - }, - "focusable": false - }, - { - "width": 267, - "height": 42, - "id": "G9AI_i3MkUE1BsO3_-PH7", - "type": "subtopic", - "position": { - "x": -30.978393223215846, - "y": 2874.351720724574 - }, - "selected": false, - "data": { - "label": "Graceful Degradation", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "Xv09yYM-kt_kMbFWL7PCP" - }, - "style": { - "width": 267, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -30.978393223215846, - "y": 2874.351720724574 - }, - "dragging": false - }, - { - "width": 267, - "height": 42, - "id": "qAu-Y4KI2Z_y-EqiG86cR", - "type": "subtopic", - "position": { - "x": -30.978393223215846, - "y": 2921.351720724574 - }, - "selected": false, - "data": { - "label": "Throttling", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "8IeJ7ktBmXW9hH7NRzbzm" - }, - "style": { - "width": 267, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -30.978393223215846, - "y": 2921.351720724574 - }, - "dragging": false - }, - { - "width": 267, - "height": 42, - "id": "JansCqGDyXecQkD1K7E7e", - "type": "subtopic", - "position": { - "x": -30.978393223215846, - "y": 2968.351720724574 - }, - "selected": false, - "data": { - "label": "Backpressure", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "WdGqs2CLc2cDPEjzEPoFj" - }, - "style": { - "width": 267, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -30.978393223215846, - "y": 2968.351720724574 - }, - "dragging": false - }, - { - "width": 267, - "height": 42, - "id": "HoQdX7a4SnkFRU4RPQ-D5", - "type": "subtopic", - "position": { - "x": -30.978393223215846, - "y": 3015.351720724574 - }, - "selected": false, - "data": { - "label": "Loadshifting", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "KWAhsjFJilEvMka5KXzY2" - }, - "style": { - "width": 267, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -30.978393223215846, - "y": 3015.351720724574 - }, - "dragging": false - }, - { - "width": 267, - "height": 42, - "id": "spkiQTPvXY4qrhhVUkoPV", - "type": "subtopic", - "position": { - "x": -30.978393223215846, - "y": 3062.351720724574 - }, - "selected": false, - "data": { - "label": "Circuit Breaker", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "IQ1VmqKR6MzNOM_HrJMn_" - }, - "style": { - "width": 267, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -30.978393223215846, - "y": 3062.351720724574 - }, - "dragging": false - }, - { - "width": 303, - "height": 42, - "id": "f7iWBkC0X7yyCoP_YubVd", - "type": "subtopic", - "position": { - "x": -49.72190056065119, - "y": 3181.744175840269 - }, - "selected": false, - "data": { - "label": "Migration Strategies", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "8IH45wy4nlKOmoXusIki3" - }, - "style": { - "width": 303, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -49.72190056065119, - "y": 3181.744175840269 - }, - "dragging": false - }, - { - "width": 304, - "height": 42, - "id": "osQlGGy38xMcKLtgZtWaZ", - "type": "subtopic", - "position": { - "x": -49.72190056065119, - "y": 3228.744175840269 - }, - "selected": false, - "data": { - "label": "Types of Scaling", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "16vCgVCVKx2T6PgR6eJxo" - }, - "style": { - "width": 304, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -49.72190056065119, - "y": 3228.744175840269 - }, - "dragging": false - }, - { - "width": 304, - "height": 184, - "id": "cGK54S61fVQtnRhJ5jZuX", - "type": "paragraph", - "position": { - "x": -49.72190056065119, - "y": 3289.1497414193745 - }, - "selected": false, - "data": { - "label": "Observability", - "style": { - "fontSize": 20, - "justifyContent": "flex-start", - "textAlign": "left", - "backgroundColor": "#ffe59a", - "borderColor": "#000000" - }, - "oldId": "pm1BODjPj6PWFx0dzKQ7r" - }, - "zIndex": 999, - "dragging": false, - "focusable": false, - "style": { - "width": 304, - "height": 184 - }, - "resizing": false, - "positionAbsolute": { - "x": -49.72190056065119, - "y": 3289.1497414193745 - } - }, - { - "width": 304, - "height": 139, - "id": "UovGtIjo7OYEsaV6xJcpE", - "type": "paragraph", - "position": { - "x": -49.72190056065119, - "y": 3326.1497414193745 - }, - "selected": false, - "data": { - "label": "Metrics logging and other observable items that can help in debugging and solving Issues when things go wrong.", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "left" - }, - "oldId": "keWHcMLFJHVPCGq1Mh1pJ" - }, - "zIndex": 999, - "dragging": false, - "positionAbsolute": { - "x": -49.72190056065119, - "y": 3326.1497414193745 - }, - "style": { - "width": 304, - "height": 139 - }, - "resizing": false, - "focusable": false - }, - { - "width": 303, - "height": 215, - "id": "Uhj-lrUhQQnwOdn_e6_hd", - "type": "paragraph", - "position": { - "x": -828.8230929622179, - "y": 3010.415897079633 - }, - "selected": false, - "data": { - "label": "Difference between these", - "style": { - "fontSize": 17, - "justifyContent": "flex-end", - "textAlign": "center", - "borderColor": "#000000", - "backgroundColor": "#ffffff" - }, - "oldId": "SqTnY2zykzA6857nHHwG2" - }, - "zIndex": 999, - "dragging": false, - "style": { - "width": 303, - "height": 215 - }, - "resizing": false, - "positionAbsolute": { - "x": -828.8230929622179, - "y": 3010.415897079633 - }, - "focusable": false - }, - { - "width": 267, - "height": 42, - "id": "4X-sbqpP0NDhM99bKdqIa", - "type": "subtopic", - "position": { - "x": -810.0795856247825, - "y": 3031.0160501262685 - }, - "selected": false, - "data": { - "label": "Instrumentation", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "G9AI_i3MkUE1BsO3_-PH7" - }, - "style": { - "width": 267, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -810.0795856247825, - "y": 3031.0160501262685 - }, - "dragging": false - }, - { - "width": 267, - "height": 42, - "id": "QvMEEsXh0-rzn5hDGcmEv", - "type": "subtopic", - "position": { - "x": -810.0795856247825, - "y": 3078.0160501262685 - }, - "selected": false, - "data": { - "label": "Monitoring", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "qAu-Y4KI2Z_y-EqiG86cR" - }, - "style": { - "width": 267, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -810.0795856247825, - "y": 3078.0160501262685 - }, - "dragging": false - }, - { - "width": 267, - "height": 42, - "id": "neVRtPjIHP_VG7lHwfah0", - "type": "subtopic", - "position": { - "x": -810.0795856247825, - "y": 3125.0160501262685 - }, - "selected": false, - "data": { - "label": "Telemetry", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "JansCqGDyXecQkD1K7E7e" - }, - "style": { - "width": 267, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -810.0795856247825, - "y": 3125.0160501262685 - }, - "dragging": false - }, - { - "width": 369, - "height": 127, - "id": "sVXZrBCsiSzWBBYWTm-nQ", - "type": "paragraph", - "position": { - "x": -466.5743778219993, - "y": 3346.4641024256 - }, - "selected": false, - "data": { - "label": "Have a look at the DevOps Roadmap", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center", - "borderColor": "#000000" - }, - "oldId": "0vLaVNJaJSHZ_bHli6Qzs" - }, - "zIndex": 999, - "positionAbsolute": { - "x": -466.5743778219993, - "y": 3346.4641024256 - }, - "dragging": false, - "style": { - "width": 369, - "height": 127 - }, - "resizing": false, - "focusable": false - }, - { - "width": 337, - "height": 49, - "id": "PkhQdVms2TGgnPrytCBPZ", - "type": "button", - "position": { - "x": -450.5743778219993, - "y": 3409.0189950645 - }, - "selected": false, - "data": { - "label": "DevOps Roadmap", - "href": "", - "color": "#000000", - "backgroundColor": "#ffe59a", - "style": { - "fontSize": 17 - }, - "borderColor": "#000000", - "oldId": "OIcmPSbdsuWapb6HZ4BEi" - }, - "zIndex": 999, - "dragging": false, - "positionAbsolute": { - "x": -450.5743778219993, - "y": 3409.0189950645 - }, - "style": { - "width": 337, - "height": 49 - }, - "focusable": false, - "resizing": false - }, - { - "width": 20, - "height": 85, - "id": "FiDcIWq2P8dn0ThhEovQ_", - "type": "vertical", - "position": { - "x": -292.0743778219993, - "y": 3473.4641024256 - }, - "selected": false, - "data": { - "label": "vertical node", - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "black" - }, - "oldId": "RLtk1C3gofHnLJ17x3o5b" - }, - "zIndex": 999, - "positionAbsolute": { - "x": -292.0743778219993, - "y": 3473.4641024256 - }, - "dragging": false, - "focusable": false, - "style": { - "width": 20, - "height": 85 - }, - "resizing": false - }, - { - "width": 220, - "height": 175, - "id": "pdpMyfdDDThL6nqV4St1_", - "type": "paragraph", - "position": { - "x": -361.50167076442347, - "y": 2357.8639643199363 - }, - "selected": false, - "data": { - "label": "Search Engines", - "style": { - "fontSize": 17, - "justifyContent": "flex-end", - "textAlign": "center", - "borderColor": "#000000", - "backgroundColor": "#ffffff" - }, - "oldId": "Uhj-lrUhQQnwOdn_e6_hd" - }, - "zIndex": 999, - "dragging": false, - "style": { - "width": 220, - "height": 175 - }, - "resizing": false, - "positionAbsolute": { - "x": -361.50167076442347, - "y": 2357.8639643199363 - }, - "focusable": false - }, - { - "width": 180, - "height": 42, - "id": "xwTpnQQg2RNIRYadFZB4y", - "type": "subtopic", - "position": { - "x": -342.7581634269881, - "y": 2378.464117366572 - }, - "selected": false, - "data": { - "label": "Elasticsearch", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "4X-sbqpP0NDhM99bKdqIa" - }, - "style": { - "width": 180, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -342.7581634269881, - "y": 2378.464117366572 - }, - "dragging": false - }, - { - "width": 180, - "height": 42, - "id": "skgzJaH11FedwoeyOS_NU", - "type": "subtopic", - "position": { - "x": -342.7581634269881, - "y": 2425.464117366572 - }, - "selected": false, - "data": { - "label": "Solr", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "QvMEEsXh0-rzn5hDGcmEv" - }, - "style": { - "width": 180, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": -342.7581634269881, - "y": 2425.464117366572 - }, - "dragging": false - }, - { - "width": 278, - "height": 206, - "id": "0LZSE_H9xk3N77_OywbNl", - "type": "paragraph", - "position": { - "x": 133.38388420104502, - "y": 1697.875612673062 - }, - "selected": false, - "data": { - "label": "Hashing Algorithms", - "style": { - "fontSize": 17, - "justifyContent": "flex-end", - "textAlign": "center", - "borderColor": "#000000", - "backgroundColor": "#ffffff" - }, - "oldId": "nKvHypr4-rGcVZhQn3avy" - }, - "zIndex": 999, - "style": { - "width": 278, - "height": 206 - }, - "resizing": false, - "dragging": false, - "positionAbsolute": { - "x": 133.38388420104502, - "y": 1697.875612673062 - }, - "focusable": false - }, - { - "width": 249, - "height": 42, - "id": "jWwA6yX4Zjx-r_KpDaD3c", - "type": "subtopic", - "position": { - "x": 148.38026495578833, - "y": 1710.5812808254636 - }, - "selected": false, - "data": { - "label": "MD5 and why not to use it", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "WQkKdXwjbqov8KLR4Bn20" - }, - "style": { - "width": 249, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 148.38026495578833, - "y": 1710.5812808254636 - }, - "dragging": false, - "resizing": false - }, - { - "width": 249, - "height": 42, - "id": "JVN38r5jENoteia3YeIQ3", - "type": "subtopic", - "position": { - "x": 148.38026495578833, - "y": 1757.4940776629553 - }, - "selected": false, - "data": { - "label": "SHA Family", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "dlG1bVkDmjI3PEGpkm1xH" - }, - "style": { - "width": 249, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 148.38026495578833, - "y": 1757.4940776629553 - }, - "dragging": false, - "resizing": false - }, - { - "width": 117, - "height": 42, - "id": "kGTALrvCpxyVCXHRmkI7s", - "type": "subtopic", - "position": { - "x": 149.88388420104502, - "y": 1804.4940776629553 - }, - "selected": false, - "data": { - "label": "scrypt", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "dlG1bVkDmjI3PEGpkm1xH" - }, - "style": { - "width": 117, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 149.88388420104502, - "y": 1804.4940776629553 - }, - "dragging": false, - "resizing": false - }, - { - "width": 124, - "height": 42, - "id": "dlG1bVkDmjI3PEGpkm1xH", - "type": "subtopic", - "position": { - "x": 273.38026495578833, - "y": 1803.760608042976 - }, - "selected": false, - "data": { - "label": "bcrypt", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "TJaO2ePry2wrNVasuj2me" - }, - "style": { - "width": 124, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 273.38026495578833, - "y": 1803.760608042976 - }, - "dragging": false, - "resizing": false - }, - { - "width": 85, - "height": 42, - "id": "x-WBJjBd8u93ym5gtxGsR", - "type": "subtopic", - "position": { - "x": 147.04868156318236, - "y": 1922.0004864434413 - }, - "selected": false, - "data": { - "label": "HTTPS", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "kGTALrvCpxyVCXHRmkI7s" - }, - "style": { - "width": 85, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 147.04868156318236, - "y": 1922.0004864434413 - }, - "dragging": false, - "resizing": false - }, - { - "width": 162, - "height": 42, - "id": "AAgciyxuDvS2B_c6FRMvT", - "type": "subtopic", - "position": { - "x": 237.1380075914987, - "y": 1921.913322123971 - }, - "selected": false, - "data": { - "label": "OWASP Risks", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "dlG1bVkDmjI3PEGpkm1xH" - }, - "style": { - "width": 162, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 237.1380075914987, - "y": 1921.913322123971 - }, - "dragging": false, - "resizing": false - }, - { - "width": 82, - "height": 42, - "id": "GNWe97frAEPv6pQMUGfpC", - "type": "subtopic", - "position": { - "x": 146.77380420719857, - "y": 1968.8526062469912 - }, - "selected": false, - "data": { - "label": "CORS", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "LU6WUbkWKbPM1rb2_gEqa" - }, - "style": { - "width": 82, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 146.77380420719857, - "y": 1968.8526062469912 - }, - "dragging": false, - "resizing": false - }, - { - "width": 162, - "height": 42, - "id": "0v3OsaghJEGHeXX0c5kqn", - "type": "subtopic", - "position": { - "x": 236.86313023551492, - "y": 1968.765441927521 - }, - "selected": false, - "data": { - "label": "SSL/TLS", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "AAgciyxuDvS2B_c6FRMvT" - }, - "style": { - "width": 162, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 236.86313023551492, - "y": 1968.765441927521 - }, - "dragging": false, - "resizing": false - }, - { - "width": 85, - "height": 42, - "id": "LU6WUbkWKbPM1rb2_gEqa", - "type": "subtopic", - "position": { - "x": 146.77380420719857, - "y": 1968.8526062469912 - }, - "selected": false, - "data": { - "label": "CORS", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "x-WBJjBd8u93ym5gtxGsR" - }, - "style": { - "width": 85, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 146.77380420719857, - "y": 1968.8526062469912 - }, - "dragging": false, - "resizing": false - }, - { - "width": 162, - "height": 42, - "id": "TZ0BWOENPv6pQm8qYB8Ow", - "type": "subtopic", - "position": { - "x": 237.61574061512948, - "y": 2014.4526353174804 - }, - "selected": false, - "data": { - "label": "Server Security", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "0v3OsaghJEGHeXX0c5kqn" - }, - "style": { - "width": 162, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 237.61574061512948, - "y": 2014.4526353174804 - }, - "dragging": false, - "resizing": false - }, - { - "width": 85, - "height": 42, - "id": "HgQBde1zLUFtlwB66PR6_", - "type": "subtopic", - "position": { - "x": 147.52641458681313, - "y": 2014.5397996369506 - }, - "selected": false, - "data": { - "label": "CSP", - "style": { - "fontSize": 17, - "justifyContent": "flex-start", - "textAlign": "center" - }, - "oldId": "LU6WUbkWKbPM1rb2_gEqa" - }, - "style": { - "width": 85, - "height": 42 - }, - "zIndex": 999, - "focusable": false, - "positionAbsolute": { - "x": 147.52641458681313, - "y": 2014.5397996369506 - }, - "dragging": false, - "resizing": false - }, - { - "width": 253, - "height": 49, - "id": "sSG9zK0ZGTBSk-nFIOq8A", - "type": "button", - "position": { - "x": 147.52641458681313, - "y": 2070.3743829670757 - }, - "selected": false, - "data": { - "label": "API Security Best Practices", - "href": "https://roadmap.sh/best-practices/api-security", - "color": "#ffffff", - "backgroundColor": "#4136d4", - "style": { - "fontSize": 17 - } - }, - "zIndex": 999, - "dragging": false, - "positionAbsolute": { - "x": 147.52641458681313, - "y": 2070.3743829670757 - }, - "style": { - "width": 253, - "height": 49 - }, - "focusable": false, - "resizing": false - } - ], - "edges": [ - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "sourceHandle": "x2", - "target": "SiYUdtYMDImRPmV2_XPkH", - "targetHandle": "w1", - "data": { - "edgeStyle": "solid" - }, - "id": "kZ9PY1uTum4Z-k0i7eGRP", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "SiYUdtYMDImRPmV2_XPkH", - "sourceHandle": "z2", - "target": "fibQmpaQc5XKtLfcq35Xc", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "pIy5AZOJdYx800407u7g_", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "SiYUdtYMDImRPmV2_XPkH", - "sourceHandle": "z2", - "target": "Re8n1GjRU9rbYBqwrjcT1", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "iHMBv4c_NBY2qsXx_EpYL", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "SiYUdtYMDImRPmV2_XPkH", - "sourceHandle": "z2", - "target": "daOLv7Jl-LEhQrqZWO9Qj", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "qk5HGgprnJwR-tKXRsi-k", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "SiYUdtYMDImRPmV2_XPkH", - "sourceHandle": "y2", - "targetHandle": "w1", - "data": { - "edgeStyle": "solid" - }, - "id": "TOiTwryy9Q_l_quUkU2D2", - "selected": false, - "type": "smoothstep", - "focusable": true - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "iogwMmOvub2ZF4zgg6WyF", - "sourceHandle": "x2", - "target": "SiYUdtYMDImRPmV2_XPkH", - "targetHandle": "w1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-iogwMmOvub2ZF4zgg6WyFx2-NVSQ4OtmvRp7p4cOEvKh7w1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "23FbrQx2igq05rfQz0gsc", - "sourceHandle": "z2", - "target": "SiYUdtYMDImRPmV2_XPkH", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-23FbrQx2igq05rfQz0gscz2-NVSQ4OtmvRp7p4cOEvKh7y1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "9LcPXnAXvQYpahZMbjKt8", - "sourceHandle": "z2", - "target": "SiYUdtYMDImRPmV2_XPkH", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-9LcPXnAXvQYpahZMbjKt8z2-NVSQ4OtmvRp7p4cOEvKh7y1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "DqiIUWIYLgXsZhv4EvZ7p", - "sourceHandle": "z2", - "target": "SiYUdtYMDImRPmV2_XPkH", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-DqiIUWIYLgXsZhv4EvZ7pz2-NVSQ4OtmvRp7p4cOEvKh7y1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "VwebVpL3U2wE9GuwmAVEI", - "source": "NvUcSDWBhzJZ31nzT4UlE", - "target": "Ry_5Y-BK7HrkIc6X0JG1m", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "z2", - "targetHandle": "y1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "2V72b7TbYUWL5w2yXEHWF", - "source": "r45b461NxLN6wBODJ5CNP", - "target": "FihTrMO56kj9jT8O_pO2T", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "y2", - "targetHandle": "z1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "DtzVLXMhhdN560kgrv7lS", - "source": "r45b461NxLN6wBODJ5CNP", - "target": "VPxOdjJtKAqmM5V0LR5OC", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "y2", - "targetHandle": "z1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "ORg_fUw3emcc9HwTtneOD", - "source": "r45b461NxLN6wBODJ5CNP", - "target": "tD3i-8gBpMKCHB-ITyDiU", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "y2", - "targetHandle": "z1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "H0nCa99soVKsNWLlgQBhj", - "source": "95d9itpUZ4s9roZN8kG9x", - "target": "zWstl08R4uzqve4BdYurp", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "z2", - "targetHandle": "y1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "M3d2CPIhXK17wNy-8_h3r", - "source": "95d9itpUZ4s9roZN8kG9x", - "target": "LAdKDJ4LcMaDWqslMvE8X", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "z2", - "targetHandle": "y1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "DY6Bh42G0WIMusjqEMjJx", - "source": "EwvLPSI6AlZ4TnNIJTZA4", - "target": "dLY0KafPstajCcSbslC4M", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "y2", - "targetHandle": "z1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "STokdlFywkWFOctE7zZPi", - "source": "EwvLPSI6AlZ4TnNIJTZA4", - "target": "9cD5ag1L0GqHx4_zxc5JX", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "y2", - "targetHandle": "z1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "wJ6Fn2PpNnbGL3T8EMm0h", - "source": "EwvLPSI6AlZ4TnNIJTZA4", - "target": "HzlYQDi_ckQkiN4AvOQqu", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "y2", - "targetHandle": "z1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "HEFqXgdBIvvbdEjUtdvCx", - "source": "RBrIP5KbVQ2F0ly7kMfTo", - "target": "STQQbPa7PE3gbjMdL6P-t", - "targetHandle": "w1", - "sourceHandle": "x2", - "data": { - "edgeStyle": "solid" - }, - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "ihc41Ocn1NWwnkHuQ2cOW", - "source": "STQQbPa7PE3gbjMdL6P-t", - "target": "381Kw1IMRv7CJp-Uf--qd", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "y2", - "targetHandle": "z1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "h6HNDOOidvh9mud-6LgK_", - "source": "STQQbPa7PE3gbjMdL6P-t", - "target": "3OYm6b9f6WOrKi4KTOZYK", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "y2", - "targetHandle": "z1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "8AJE83rbS3qpY-Qot4oFg", - "source": "tHiUpG9LN35E5RaHddMv5", - "target": "nkmIv3dNwre4yrULMgTh3", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "z2", - "targetHandle": "y1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "SXquJc6KW759CzJINlRx2", - "source": "tHiUpG9LN35E5RaHddMv5", - "target": "n14b7sfTOwsjKTpFC9EZ2", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "z2", - "targetHandle": "y1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "DtYXBPKzYDzECXMhnKW3z", - "source": "tHiUpG9LN35E5RaHddMv5", - "target": "8DmabQJXlrT__COZrDVTV", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "z2", - "targetHandle": "y1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "O4k61ST75A_tITXAwV6kv", - "source": "SGVwJme-jT_pbOTvems0v", - "target": "31ZlpfIPr9-5vYZqvjUeL", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "z2", - "targetHandle": "y1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "hq4Z_H0G-y8twmKAkAIBE", - "source": "SGVwJme-jT_pbOTvems0v", - "target": "QtwgoG_m9dLoVykJRwGUp", - "targetHandle": "w1", - "sourceHandle": "x2", - "data": { - "edgeStyle": "solid" - }, - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "RFHOL-QSedgGBpqAxf_f1", - "source": "QtwgoG_m9dLoVykJRwGUp", - "target": "wHSoisl96wSA7f5nd8Stj", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "z2", - "targetHandle": "y1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "PgszHaqxDHaB5QN8JAPSt", - "source": "fekyMpEnaGqjh1Cu4Nyc4", - "target": "z5AdThp9ByulmM9uekgm-", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "y2", - "targetHandle": "z1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "id": "ad61LnGU_C92URjr6pXkA", - "source": "fekyMpEnaGqjh1Cu4Nyc4", - "target": "jjjonHTHHo-NiAf6p9xPv", - "data": { - "edgeStyle": "dashed" - }, - "sourceHandle": "y2", - "targetHandle": "z1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "SiYUdtYMDImRPmV2_XPkH", - "sourceHandle": "x2", - "target": "2f0ZO6GJElfZ2Eis28Hzg", - "targetHandle": "z1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-SiYUdtYMDImRPmV2_XPkHx2-2f0ZO6GJElfZ2Eis28Hzgz1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "CWwh2abwqx4hAxpAGvhIx", - "sourceHandle": "x2", - "target": "2f0ZO6GJElfZ2Eis28Hzg", - "targetHandle": "w1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-CWwh2abwqx4hAxpAGvhIxx2-2f0ZO6GJElfZ2Eis28Hzgw1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "BdXbcz4-ar3XOX0wIKzBp", - "sourceHandle": "x2", - "target": "2f0ZO6GJElfZ2Eis28Hzg", - "targetHandle": "w1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-BdXbcz4-ar3XOX0wIKzBpx2-2f0ZO6GJElfZ2Eis28Hzgw1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "ANeSwxJDJyQ-49pO2-CCI", - "sourceHandle": "w2", - "target": "2f0ZO6GJElfZ2Eis28Hzg", - "targetHandle": "x1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-ANeSwxJDJyQ-49pO2-CCIw2-2f0ZO6GJElfZ2Eis28Hzgx1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "2f0ZO6GJElfZ2Eis28Hzg", - "sourceHandle": "x2", - "target": "8-lO-v6jCYYoklEJXULxN", - "targetHandle": "w1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-2f0ZO6GJElfZ2Eis28Hzgx2-8-lO-v6jCYYoklEJXULxNw1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "2f0ZO6GJElfZ2Eis28Hzg", - "sourceHandle": "z2", - "target": "ezdqQW9wTUw93F6kjOzku", - "targetHandle": "y1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-2f0ZO6GJElfZ2Eis28Hzgz2-ezdqQW9wTUw93F6kjOzkuy1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "ezdqQW9wTUw93F6kjOzku", - "sourceHandle": "w2", - "target": "_I1E__wCIVrhjMk6IMieE", - "targetHandle": "x1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-ezdqQW9wTUw93F6kjOzkuw2-_I1E__wCIVrhjMk6IMieEx1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "NvUcSDWBhzJZ31nzT4UlE", - "sourceHandle": "z2", - "target": "Wcp-VDdFHipwa7hNAp1z_", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-NvUcSDWBhzJZ31nzT4UlEz2-Wcp-VDdFHipwa7hNAp1z_y1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "NvUcSDWBhzJZ31nzT4UlE", - "sourceHandle": "z2", - "target": "ptD8EVqwFUYr4W5A_tABY", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-NvUcSDWBhzJZ31nzT4UlEz2-ptD8EVqwFUYr4W5A_tABYy1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "r1XmURGvxjZbJfniRtKYf", - "sourceHandle": "w2", - "target": "DaKfYB2r4eTP9ve0FyOas", - "targetHandle": "x1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-r1XmURGvxjZbJfniRtKYfw2-DaKfYB2r4eTP9ve0FyOasx1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "NvUcSDWBhzJZ31nzT4UlE", - "sourceHandle": "x2", - "target": "r1XmURGvxjZbJfniRtKYf", - "targetHandle": "y1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-NvUcSDWBhzJZ31nzT4UlEx2-r1XmURGvxjZbJfniRtKYfy1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "r45b461NxLN6wBODJ5CNP", - "sourceHandle": "z2", - "target": "r1XmURGvxjZbJfniRtKYf", - "targetHandle": "y1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-r45b461NxLN6wBODJ5CNPz2-r1XmURGvxjZbJfniRtKYfy1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "r45b461NxLN6wBODJ5CNP", - "sourceHandle": "x2", - "target": "dEsTje8kfHwWjCI3zcgLC", - "targetHandle": "w2", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-r45b461NxLN6wBODJ5CNPx2-dEsTje8kfHwWjCI3zcgLCw2", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "r45b461NxLN6wBODJ5CNP", - "sourceHandle": "z2", - "target": "F8frGuv1dunOdcVJ_IiGs", - "targetHandle": "w1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-r45b461NxLN6wBODJ5CNPz2-F8frGuv1dunOdcVJ_IiGsw1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "F8frGuv1dunOdcVJ_IiGs", - "target": "LJt27onEOeIBomiEMTyKd", - "targetHandle": "z1", - "sourceHandle": "x2", - "data": { - "edgeStyle": "solid" - }, - "selected": false, - "focusable": true, - "id": "reactflow__edge-F8frGuv1dunOdcVJ_IiGsx2-LJt27onEOeIBomiEMTyKdz1", - "type": "smoothstep" - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "LJt27onEOeIBomiEMTyKd", - "sourceHandle": "w2", - "target": "SYXJhanu0lFmGj2m2XXhS", - "targetHandle": "x2", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-LJt27onEOeIBomiEMTyKdw2-SYXJhanu0lFmGj2m2XXhSx2", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "EwvLPSI6AlZ4TnNIJTZA4", - "sourceHandle": "z2", - "target": "95d9itpUZ4s9roZN8kG9x", - "targetHandle": "y1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-EwvLPSI6AlZ4TnNIJTZA4z2-95d9itpUZ4s9roZN8kG9xy1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "EwvLPSI6AlZ4TnNIJTZA4", - "sourceHandle": "x2", - "target": "lfNFDZZNdrB0lbEaMtU71", - "targetHandle": "w1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-EwvLPSI6AlZ4TnNIJTZA4x2-lfNFDZZNdrB0lbEaMtU71w1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "EwvLPSI6AlZ4TnNIJTZA4", - "sourceHandle": "z2", - "target": "ELj8af7Mi38kUbaPJfCUR", - "targetHandle": "w1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-EwvLPSI6AlZ4TnNIJTZA4z2-ELj8af7Mi38kUbaPJfCURw1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "ELj8af7Mi38kUbaPJfCUR", - "sourceHandle": "z2", - "target": "z1-eP4sV75GBEIdM4NvL9", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-ELj8af7Mi38kUbaPJfCURz2-xPvVwGQw28uMeLYIWn8yny1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "ELj8af7Mi38kUbaPJfCUR", - "sourceHandle": "z2", - "target": "KWTbEVX_WxS8jmSaAX3Fe", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-ELj8af7Mi38kUbaPJfCURz2-KWTbEVX_WxS8jmSaAX3Fey1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "ELj8af7Mi38kUbaPJfCUR", - "sourceHandle": "z2", - "target": "Nq2BO53bHJdFT1rGZPjYx", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-ELj8af7Mi38kUbaPJfCURz2-Nq2BO53bHJdFT1rGZPjYxy1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "z1-eP4sV75GBEIdM4NvL9", - "sourceHandle": "z2", - "target": "g8GjkJAhvnSxXTZks0V1g", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-z1-eP4sV75GBEIdM4NvL9z2-g8GjkJAhvnSxXTZks0V1gy1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "z1-eP4sV75GBEIdM4NvL9", - "sourceHandle": "z2", - "target": "xPvVwGQw28uMeLYIWn8yn", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-z1-eP4sV75GBEIdM4NvL9z2-xPvVwGQw28uMeLYIWn8yny1", - "selected": false, - "focusable": true - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "r1XmURGvxjZbJfniRtKYf", - "sourceHandle": "x2", - "target": "y4gMzo3mPn7_uGkuDkOqM", - "targetHandle": "w1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-r1XmURGvxjZbJfniRtKYfx2-y4gMzo3mPn7_uGkuDkOqMw1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "F8frGuv1dunOdcVJ_IiGs", - "sourceHandle": "y2", - "target": "I5rct7q589I0lxFb0ssYd", - "targetHandle": "z1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-F8frGuv1dunOdcVJ_IiGsy2-I5rct7q589I0lxFb0ssYdz1", - "selected": false, - "type": "straight" - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "LJt27onEOeIBomiEMTyKd", - "sourceHandle": "z2", - "target": "95d9itpUZ4s9roZN8kG9x", - "targetHandle": "w1", - "data": { - "edgeStyle": "solid" - }, - "selected": false, - "type": "simplebezier", - "focusable": true, - "id": "reactflow__edge-LJt27onEOeIBomiEMTyKdz2-95d9itpUZ4s9roZN8kG9xw1" - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "ELj8af7Mi38kUbaPJfCUR", - "sourceHandle": "x2", - "target": "RBrIP5KbVQ2F0ly7kMfTo", - "targetHandle": "w1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-ELj8af7Mi38kUbaPJfCURx2-RBrIP5KbVQ2F0ly7kMfTow1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "NAGisfq2CgeK3SsuRjnMw", - "sourceHandle": "z2", - "target": "STQQbPa7PE3gbjMdL6P-t", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-NAGisfq2CgeK3SsuRjnMwz2-STQQbPa7PE3gbjMdL6P-ty1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "STQQbPa7PE3gbjMdL6P-t", - "sourceHandle": "x2", - "target": "mGfD7HfuP184lFkXZzGjG", - "targetHandle": "w1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-STQQbPa7PE3gbjMdL6P-tx2-mGfD7HfuP184lFkXZzGjGw1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "ruK1Bf7XVIgOHguNFxYlY", - "sourceHandle": "z2", - "target": "mGfD7HfuP184lFkXZzGjG", - "targetHandle": "y1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-sSG9zK0ZGTBSk-nFIOq8Az2-mGfD7HfuP184lFkXZzGjGy1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "9Fpoor-Os_9lvrwu5Zjh-", - "sourceHandle": "x2", - "target": "6XIWO0MoE-ySl4qh_ihXa", - "targetHandle": "w1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-9Fpoor-Os_9lvrwu5Zjh-x2-6XIWO0MoE-ySl4qh_ihXaw1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "ruK1Bf7XVIgOHguNFxYlY", - "sourceHandle": "x2", - "target": "9Fpoor-Os_9lvrwu5Zjh-", - "targetHandle": "w1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-sSG9zK0ZGTBSk-nFIOq8Ax2-9Fpoor-Os_9lvrwu5Zjh-w1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "9Fpoor-Os_9lvrwu5Zjh-", - "sourceHandle": "z2", - "target": "tHiUpG9LN35E5RaHddMv5", - "targetHandle": "w1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-9Fpoor-Os_9lvrwu5Zjh-z2-tHiUpG9LN35E5RaHddMv5w1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "tHiUpG9LN35E5RaHddMv5", - "sourceHandle": "z2", - "target": "Ke522R-4k6TDeiDRyZbbU", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-tHiUpG9LN35E5RaHddMv5z2-Ke522R-4k6TDeiDRyZbbUy1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "tHiUpG9LN35E5RaHddMv5", - "sourceHandle": "z2", - "target": "K55h3aqOGe6-hgVhiFisT", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-tHiUpG9LN35E5RaHddMv5z2-K55h3aqOGe6-hgVhiFisTy1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "tHiUpG9LN35E5RaHddMv5", - "sourceHandle": "z2", - "target": "tObmzWpjsJtK4GWhx6pwB", - "targetHandle": "y2", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-tHiUpG9LN35E5RaHddMv5z2-tObmzWpjsJtK4GWhx6pwBy2", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "nJ5FpFgGCRaALcWmAKBKT", - "sourceHandle": "w2", - "target": "VoYSis1F1ZfTxMlQlXQKB", - "targetHandle": "x1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-nJ5FpFgGCRaALcWmAKBKTw2-VoYSis1F1ZfTxMlQlXQKBx1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "nJ5FpFgGCRaALcWmAKBKT", - "sourceHandle": "z2", - "target": "SGVwJme-jT_pbOTvems0v", - "targetHandle": "y1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-nJ5FpFgGCRaALcWmAKBKTz2-SGVwJme-jT_pbOTvems0vy1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "SGVwJme-jT_pbOTvems0v", - "sourceHandle": "z2", - "target": "YQYp19TOR7w80qCnjcLVA", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-SGVwJme-jT_pbOTvems0vz2-YQYp19TOR7w80qCnjcLVAy1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "SGVwJme-jT_pbOTvems0v", - "sourceHandle": "z2", - "target": "sX7NPEJf7-qiTtIq2rW0Q", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-SGVwJme-jT_pbOTvems0vz2-sX7NPEJf7-qiTtIq2rW0Qy1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "QtwgoG_m9dLoVykJRwGUp", - "sourceHandle": "z2", - "target": "on4O41y_KQfjWxHPVYtuq", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-QtwgoG_m9dLoVykJRwGUpz2-on4O41y_KQfjWxHPVYtuqy1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "RUSdlokJUcEYbCvq5FJBJ", - "sourceHandle": "z2", - "target": "sVuIdAe08IWJVqAt4z-ag", - "targetHandle": "y2", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-RUSdlokJUcEYbCvq5FJBJz2-sVuIdAe08IWJVqAt4z-agy2", - "selected": false - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "sVuIdAe08IWJVqAt4z-ag", - "sourceHandle": "z2", - "target": "QtwgoG_m9dLoVykJRwGUp", - "targetHandle": "y1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-sVuIdAe08IWJVqAt4z-agz2-QtwgoG_m9dLoVykJRwGUpy1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "0NJDgfe6eMa7qPUOI6Eya", - "sourceHandle": "z2", - "target": "fekyMpEnaGqjh1Cu4Nyc4", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-0NJDgfe6eMa7qPUOI6Eyaz2-fekyMpEnaGqjh1Cu4Nyc4y1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "Op-PSPNoyj6Ss9CS09AXh", - "sourceHandle": "z2", - "target": "fekyMpEnaGqjh1Cu4Nyc4", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-Op-PSPNoyj6Ss9CS09AXhz2-fekyMpEnaGqjh1Cu4Nyc4y1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "RUSdlokJUcEYbCvq5FJBJ", - "sourceHandle": "x2", - "target": "fekyMpEnaGqjh1Cu4Nyc4", - "targetHandle": "w2", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-RUSdlokJUcEYbCvq5FJBJx2-fekyMpEnaGqjh1Cu4Nyc4w2", - "selected": false - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "fekyMpEnaGqjh1Cu4Nyc4", - "sourceHandle": "z2", - "target": "SHmbcMRsc3SygEDksJQBD", - "targetHandle": "w1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-fekyMpEnaGqjh1Cu4Nyc4z2-SHmbcMRsc3SygEDksJQBDw1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "sourceHandle": "x2", - "target": "SqTnY2zykzA6857nHHwG2", - "targetHandle": "w1", - "data": { - "edgeStyle": "dashed" - }, - "id": "Nv-ANzvcD7ePvAaOHPXzV", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "SHmbcMRsc3SygEDksJQBD", - "sourceHandle": "z2", - "target": "SqTnY2zykzA6857nHHwG2", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-SHmbcMRsc3SygEDksJQBDz2-SqTnY2zykzA6857nHHwG2y1", - "selected": false, - "type": "smoothstep" - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "sourceHandle": "x2", - "target": "Uhj-lrUhQQnwOdn_e6_hd", - "targetHandle": "w1", - "data": { - "edgeStyle": "dashed" - }, - "id": "szv1qDulQMvfjMvZbaqDo", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "sourceHandle": "z2", - "target": "Uhj-lrUhQQnwOdn_e6_hd", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "j_W-PXyE77bi_kA45fYqn", - "selected": false, - "type": "smoothstep" - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "SHmbcMRsc3SygEDksJQBD", - "sourceHandle": "y2", - "target": "Uhj-lrUhQQnwOdn_e6_hd", - "targetHandle": "z1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-SHmbcMRsc3SygEDksJQBDy2-Uhj-lrUhQQnwOdn_e6_hdz1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "sourceHandle": "x2", - "target": "sVXZrBCsiSzWBBYWTm-nQ", - "targetHandle": "w1", - "data": { - "edgeStyle": "solid" - }, - "id": "PShueM-HfMGu2Jy1dt73g", - "selected": false, - "type": "smoothstep", - "focusable": true - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "SHmbcMRsc3SygEDksJQBD", - "sourceHandle": "x2", - "target": "sVXZrBCsiSzWBBYWTm-nQ", - "targetHandle": "w1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-SHmbcMRsc3SygEDksJQBDx2-sVXZrBCsiSzWBBYWTm-nQw1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "sourceHandle": "x2", - "target": "pdpMyfdDDThL6nqV4St1_", - "targetHandle": "w1", - "data": { - "edgeStyle": "dashed" - }, - "id": "9Z6qes5MGZ3Fnb67bX3M2", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "sourceHandle": "z2", - "target": "pdpMyfdDDThL6nqV4St1_", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "jIU3hH3Sb1a-Omgov2AY9", - "selected": false, - "type": "smoothstep" - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "sourceHandle": "y2", - "target": "pdpMyfdDDThL6nqV4St1_", - "targetHandle": "z1", - "data": { - "edgeStyle": "dashed" - }, - "id": "JAWj6i6U349cghlh1n7nJ", - "selected": false - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "pdpMyfdDDThL6nqV4St1_", - "sourceHandle": "x2", - "target": "nJ5FpFgGCRaALcWmAKBKT", - "targetHandle": "z1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-pdpMyfdDDThL6nqV4St1_x2-nJ5FpFgGCRaALcWmAKBKTz1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "pdpMyfdDDThL6nqV4St1_", - "sourceHandle": "w2", - "target": "tHiUpG9LN35E5RaHddMv5", - "targetHandle": "x1", - "data": { - "edgeStyle": "solid" - }, - "id": "reactflow__edge-pdpMyfdDDThL6nqV4St1_w2-tHiUpG9LN35E5RaHddMv5x1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "95d9itpUZ4s9roZN8kG9x", - "sourceHandle": "z2", - "target": "wrl7HHWXOaxoKVlNZxZ6d", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-95d9itpUZ4s9roZN8kG9xz2-wrl7HHWXOaxoKVlNZxZ6dy1", - "selected": false - }, - { - "style": { - "strokeDasharray": "0.8 8", - "strokeLinecap": "round", - "strokeWidth": 3.5, - "stroke": "#2b78e4" - }, - "source": "95d9itpUZ4s9roZN8kG9x", - "sourceHandle": "z2", - "target": "y-xkHFE9YzhNIX3EiWspL", - "targetHandle": "y1", - "data": { - "edgeStyle": "dashed" - }, - "id": "reactflow__edge-95d9itpUZ4s9roZN8kG9xz2-y-xkHFE9YzhNIX3EiWspLy1", - "selected": false - } - ] -} diff --git a/src/data/roadmaps/backend/backend.json b/src/data/roadmaps/backend/backend.json index 2607f141a..e416add59 100644 --- a/src/data/roadmaps/backend/backend.json +++ b/src/data/roadmaps/backend/backend.json @@ -1,13335 +1,7287 @@ { - "mockup": { - "controls": { - "control": [ - { - "ID": "3376", - "typeID": "Arrow", - "zOrder": "1", - "w": "1", - "h": "101", - "measuredW": "150", - "measuredH": "100", - "x": "1274", - "y": "866", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.08262228161265739, - "y": -0.00765522788196904 - }, - "p1": { - "x": 0.4673783006670675, - "y": -0.003606051439574666 - }, - "p2": { - "x": 0.08262228161265739, - "y": 100.83103671353786 - } - } - }, - { - "ID": "3377", - "typeID": "Arrow", - "zOrder": "2", - "w": "136", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1091", - "y": "3269", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.08928421577456902, - "y": -0.2906057506302204 - }, - "p1": { - "x": 0.4734542725983134, - "y": -0.00011162392477928117 - }, - "p2": { - "x": 136.35388907392644, - "y": -0.2906057506302204 - } - } - }, - { - "ID": "3378", - "typeID": "__group__", - "zOrder": "3", - "measuredW": "214", - "measuredH": "46", - "w": "214", - "h": "46", - "x": "691", - "y": "3278", - "properties": { - "controlName": "102-scalability:migration-strategies" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "214", - "h": "46", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "155", - "measuredH": "25", - "x": "29", - "y": "9", - "properties": { - "text": "Migration Strategies", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3379", - "typeID": "__group__", - "zOrder": "4", - "measuredW": "211", - "measuredH": "196", - "w": "211", - "h": "196", - "x": "691", - "y": "3318", - "properties": { - "controlName": "101-scalability:instrumentation-monitoring-telemetry" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "211", - "h": "196", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "151", - "measuredH": "25", - "x": "29", - "y": "156", - "properties": { - "size": "17", - "text": "Difference + Usage" - } - }, - { - "ID": "4", - "typeID": "TextArea", - "zOrder": "2", - "w": "187", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "15", - "properties": { - "color": "16770457" - } - }, - { - "ID": "5", - "typeID": "Label", - "zOrder": "3", - "measuredW": "121", - "measuredH": "25", - "x": "44", - "y": "22", - "properties": { - "size": "17", - "text": "Instrumentation" - } - }, - { - "ID": "6", - "typeID": "TextArea", - "zOrder": "4", - "w": "187", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "60", - "properties": { - "color": "16770457" - } - }, - { - "ID": "7", - "typeID": "Label", - "zOrder": "5", - "measuredW": "83", - "measuredH": "25", - "x": "63", - "y": "67", - "properties": { - "size": "17", - "text": "Monitoring" - } - }, - { - "ID": "8", - "typeID": "TextArea", - "zOrder": "6", - "w": "187", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "105", - "properties": { - "color": "16770457" - } - }, - { - "ID": "9", - "typeID": "Label", - "zOrder": "7", - "measuredW": "76", - "measuredH": "25", - "x": "67", - "y": "112", - "properties": { - "size": "17", - "text": "Telemetry" - } - } - ] - } - } - }, - { - "ID": "3380", - "typeID": "Arrow", - "zOrder": "5", - "w": "1", - "h": "744", - "measuredW": "150", - "measuredH": "100", - "x": "1321", - "y": "2977", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.4734542725983139, - "y": -0.00011162392477927807 - }, - "p2": { - "x": 0, - "y": 743.8442967676933 - } - } - }, - { - "ID": "3381", - "typeID": "Arrow", - "zOrder": "6", - "w": "276", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1284", - "y": "2968", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.14952920007272041, - "y": -0.2906057506302204 - }, - "p1": { - "x": 0.47345427259831324, - "y": -0.00011162392477928119 - }, - "p2": { - "x": 276.35388907392644, - "y": -0.2906057506302204 - } - } - }, - { - "ID": "3382", - "typeID": "Arrow", - "zOrder": "7", - "w": "1", - "h": "95", - "measuredW": "150", - "measuredH": "100", - "x": "1071", - "y": "2966", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.14952920007272041, - "y": 95.70939424936978 - }, - "p1": { - "x": 0.4734542725983132, - "y": -0.00011162392477928113 - }, - "p2": { - "x": 0.14952920007272041, - "y": 0.28897406297528505 - } - } - }, - { - "ID": "3383", - "typeID": "Arrow", - "zOrder": "8", - "w": "487", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "857", - "y": "2969", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": -0.27015691059352775, - "y": -0.5 - }, - "p1": { - "x": 0.47345427259831374, - "y": -0.00011162392477927586 - }, - "p2": { - "x": 486.40782766206894, - "y": -0.5 - } - } - }, - { - "ID": "3384", - "typeID": "Arrow", - "zOrder": "9", - "w": "1", - "h": "141", - "measuredW": "150", - "measuredH": "100", - "x": "765", - "y": "2833", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.4734542725983137, - "y": -0.00011162392477927808 - }, - "p2": { - "x": 0, - "y": 140.20697009709465 - } - } - }, - { - "ID": "3385", - "typeID": "__group__", - "zOrder": "10", - "measuredW": "200", - "measuredH": "50", - "w": "200", - "h": "50", - "x": "694", - "y": "2947", - "properties": { - "controlName": "120-real-time-data" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "120", - "measuredH": "25", - "x": "40", - "y": "12", - "properties": { - "size": "17", - "text": "Real-Time Data" - } - } - ] - } - } - }, - { - "ID": "3386", - "typeID": "Arrow", - "zOrder": "11", - "w": "1", - "h": "91", - "measuredW": "150", - "measuredH": "100", - "x": "767", - "y": "2749", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.14952920007272041, - "y": 91.51893704138683 - }, - "p1": { - "x": 0.4734542725983133, - "y": -0.0001116239247792811 - }, - "p2": { - "x": 0.14952920007272041, - "y": 0.044261593589453696 - } - } - }, - { - "ID": "3387", - "typeID": "Arrow", - "zOrder": "12", - "w": "623", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "869", - "y": "2831", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": -0.27015691059352775, - "y": -0.5 - }, - "p1": { - "x": 0.47345427259831374, - "y": -0.00011162392477927636 - }, - "p2": { - "x": 622.4205322823302, - "y": -0.5 - } - } - }, - { - "ID": "3388", - "typeID": "Arrow", - "zOrder": "13", - "w": "1", - "h": "260", - "measuredW": "150", - "measuredH": "100", - "x": "1587", - "y": "2522", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.4734542725983138, - "y": -0.00011162392477927808 - }, - "p2": { - "x": 0, - "y": 259.3201595478108 - } - } - }, - { - "ID": "3389", - "typeID": "Arrow", - "zOrder": "14", - "w": "1", - "h": "61", - "measuredW": "150", - "measuredH": "100", - "x": "1771", - "y": "2628", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": 61.303758754635055 - }, - "p1": { - "x": 0.5702216182256715, - "y": -0.004517251466967861 - }, - "p2": { - "x": 0, - "y": 0.4406451246140932 - } - } - }, - { - "ID": "3390", - "typeID": "Arrow", - "zOrder": "15", - "w": "1", - "h": "68", - "measuredW": "150", - "measuredH": "100", - "x": "1399", - "y": "2511", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.14952920007272041, - "y": 68.46927069197682 - }, - "p1": { - "x": 0.47345427259831335, - "y": -0.00011162392477928112 - }, - "p2": { - "x": 0.14952920007272041, - "y": 0.11283757677028916 - } - } - }, - { - "ID": "3391", - "typeID": "Arrow", - "zOrder": "16", - "w": "413", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1180", - "y": "2509", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": -0.23631528854207318, - "y": -0.5 - }, - "p1": { - "x": 0.4734542725983137, - "y": -0.00011162392477927657 - }, - "p2": { - "x": 412.9689266111002, - "y": -0.5 - } - } - }, - { - "ID": "3392", - "typeID": "Arrow", - "zOrder": "17", - "w": "1", - "h": "95", - "measuredW": "150", - "measuredH": "100", - "x": "1106", - "y": "2514", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.14952920007272041, - "y": 95.46927069197682 - }, - "p1": { - "x": 0.47345427259831324, - "y": -0.00011162392477928106 - }, - "p2": { - "x": 0.14952920007272041, - "y": 0.044261593589453696 - } - } - }, - { - "ID": "3393", - "typeID": "Arrow", - "zOrder": "18", - "w": "1", - "h": "141", - "measuredW": "150", - "measuredH": "100", - "x": "1106", - "y": "2371", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.4734542725983137, - "y": -0.00011162392477927808 - }, - "p2": { - "x": 0, - "y": 140.20697009709465 - } - } - }, - { - "ID": "3394", - "typeID": "Arrow", - "zOrder": "19", - "w": "283", - "h": "70", - "measuredW": "150", - "measuredH": "100", - "x": "1306", - "y": "2357", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.4303565735040138, - "y": 0.1604238547820387 - }, - "p1": { - "x": 0.6318104821378916, - "y": 0.08459535307056273 - }, - "p2": { - "x": 282.89489105686675, - "y": 70.62473414627311 - } - } - }, - { - "ID": "3395", - "typeID": "Arrow", - "zOrder": "20", - "w": "280", - "h": "32", - "measuredW": "150", - "measuredH": "100", - "x": "1311", - "y": "2350", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.4416692841202803, - "y": 1.288397997157972 - }, - "p1": { - "x": 0.6187498978609268, - "y": 0.05481031926139201 - }, - "p2": { - "x": 280.830903985679, - "y": 32.11653374968546 - } - } - }, - { - "ID": "3396", - "typeID": "Arrow", - "zOrder": "21", - "w": "272", - "h": "35", - "measuredW": "150", - "measuredH": "100", - "x": "1319", - "y": "2289", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.21829839384940897, - "y": 35.13027840564564 - }, - "p1": { - "x": 0.6266543897586216, - "y": -0.03388863281637455 - }, - "p2": { - "x": 271.362897521273, - "y": -0.10187674010012415 - } - } - }, - { - "ID": "3397", - "typeID": "Arrow", - "zOrder": "22", - "w": "280", - "h": "72", - "measuredW": "150", - "measuredH": "100", - "x": "1307", - "y": "2243", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.03764989090200288, - "y": 72.32223961920909 - }, - "p1": { - "x": 0.531044448873829, - "y": -0.059547538369544246 - }, - "p2": { - "x": 280.42688459246074, - "y": 0.3899228633117673 - } - } - }, - { - "ID": "3398", - "typeID": "Arrow", - "zOrder": "23", - "w": "320", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1315", - "y": "2336", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.4734542725983135, - "y": -0.00011162392477927686 - }, - "p2": { - "x": 320.137094685658, - "y": -0.5 - }, - "stroke": "dotted" - } - }, - { - "ID": "3399", - "typeID": "__group__", - "zOrder": "24", - "measuredW": "324", - "measuredH": "50", - "w": "324", - "h": "50", - "x": "1025", - "y": "2332", - "properties": { - "controlName": "114-design-and-development-principles" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "324", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "275", - "measuredH": "25", - "x": "24", - "y": "13", - "properties": { - "size": "17", - "text": "Design and Development Principles" - } - } - ] - } - } - }, - { - "ID": "3400", - "typeID": "Arrow", - "zOrder": "25", - "w": "219", - "h": "145", - "measuredW": "150", - "measuredH": "100", - "x": "888", - "y": "2175", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": -0.23631528854207318, - "y": 0.5 - }, - "p1": { - "x": 0.5857743945397229, - "y": 0.2432032446977395 - }, - "p2": { - "x": 219.0587868926923, - "y": 144.632126492103 - } - } - }, - { - "ID": "3401", - "typeID": "Arrow", - "zOrder": "26", - "w": "1", - "h": "91", - "measuredW": "150", - "measuredH": "100", - "x": "788", - "y": "2168", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.14952920007272041, - "y": 91.51893704138683 - }, - "p1": { - "x": 0.4734542725983133, - "y": -0.0001116239247792811 - }, - "p2": { - "x": 0.14952920007272041, - "y": 0.044261593589453696 - } - } - }, - { - "ID": "3402", - "typeID": "Arrow", - "zOrder": "27", - "w": "1", - "h": "118", - "measuredW": "150", - "measuredH": "100", - "x": "788", - "y": "2051", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.47345427259831374, - "y": -0.0001116239247792781 - }, - "p2": { - "x": 0, - "y": 117.42746065827805 - } - } - }, - { - "ID": "3403", - "typeID": "Arrow", - "zOrder": "28", - "w": "1", - "h": "91", - "measuredW": "150", - "measuredH": "100", - "x": "789", - "y": "1959", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.14952920007272041, - "y": 91.51893704138683 - }, - "p1": { - "x": 0.4734542725983133, - "y": -0.0001116239247792811 - }, - "p2": { - "x": 0.14952920007272041, - "y": 0.044261593589453696 - } - } - }, - { - "ID": "3404", - "typeID": "Arrow", - "zOrder": "29", - "w": "469", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "857", - "y": "2053", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": -0.23631528854207318, - "y": -0.5 - }, - "p1": { - "x": 0.4734542725983135, - "y": -0.000111623924779277 - }, - "p2": { - "x": 468.3987853999388, - "y": -0.5 - } - } - }, - { - "ID": "3405", - "typeID": "Arrow", - "zOrder": "30", - "w": "1", - "h": "75", - "measuredW": "150", - "measuredH": "100", - "x": "1411", - "y": "2059", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.14952920007272041, - "y": 75.11122147525384 - }, - "p1": { - "x": 0.4734542725983133, - "y": -0.000111623924779281 - }, - "p2": { - "x": 0.14952920007272041, - "y": 0.044261593589453696 - } - } - }, - { - "ID": "3406", - "typeID": "Arrow", - "zOrder": "31", - "w": "223", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1411", - "y": "1818", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.4734542725983135, - "y": -0.00011162392477927705 - }, - "p2": { - "x": 223.3987853999388, - "y": -0.5 - } - } - }, - { - "ID": "3407", - "typeID": "Arrow", - "zOrder": "32", - "w": "1", - "h": "206", - "measuredW": "150", - "measuredH": "100", - "x": "1708", - "y": "1710", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.14952920007272041, - "y": 206.75343217305021 - }, - "p1": { - "x": 0.4734542725983135, - "y": -0.00011162392477928018 - }, - "p2": { - "x": 0.14952920007272041, - "y": 0.38258659839470965 - } - } - }, - { - "ID": "3408", - "typeID": "Arrow", - "zOrder": "33", - "w": "223", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1411", - "y": "1800", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.4734542725983135, - "y": -0.00011162392477927705 - }, - "p2": { - "x": 223.3987853999388, - "y": -0.5 - } - } - }, - { - "ID": "3409", - "typeID": "Arrow", - "zOrder": "34", - "w": "1", - "h": "211", - "measuredW": "150", - "measuredH": "100", - "x": "1411", - "y": "1586", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.47345427259831363, - "y": -0.00011162392477927808 - }, - "p2": { - "x": 0, - "y": 210.88680138292193 - } - } - }, - { - "ID": "3410", - "typeID": "Arrow", - "zOrder": "35", - "w": "1", - "h": "93", - "measuredW": "150", - "measuredH": "100", - "x": "1411", - "y": "1506", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 1.2127956978895327, - "y": 93.40095678414946 - }, - "p1": { - "x": 0.47345427259831346, - "y": -0.00011162392477928008 - }, - "p2": { - "x": 0.14952920007272041, - "y": 0.38258659839470965 - } - } - }, - { - "ID": "3411", - "typeID": "Arrow", - "zOrder": "36", - "w": "267", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1157", - "y": "1599", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.4734542725983135, - "y": -0.00011162392477927736 - }, - "p2": { - "x": 267.29850098875386, - "y": -0.5 - } - } - }, - { - "ID": "3412", - "typeID": "Arrow", - "zOrder": "37", - "w": "1", - "h": "108", - "measuredW": "150", - "measuredH": "100", - "x": "1140", - "y": "1484", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.21279569788953268, - "y": 107.33087955966835 - }, - "p1": { - "x": 0.47345427259831363, - "y": -0.00011162392477927894 - }, - "p2": { - "x": 0.21279569788953268, - "y": -0.3596558928045397 - } - } - }, - { - "ID": "3413", - "typeID": "Arrow", - "zOrder": "38", - "w": "1", - "h": "129", - "measuredW": "150", - "measuredH": "100", - "x": "1078", - "y": "1607", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.21279569788953268, - "y": 129.33087955966835 - }, - "p1": { - "x": 0.4734542725983137, - "y": -0.00011162392477927875 - }, - "p2": { - "x": 0.21279569788953268, - "y": 0.03075605110257129 - } - } - }, - { - "ID": "3414", - "typeID": "Arrow", - "zOrder": "39", - "w": "214", - "h": "180", - "measuredW": "150", - "measuredH": "100", - "x": "836", - "y": "1606", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.17347654643435817, - "y": 180.38352203951763 - }, - "p1": { - "x": 0.4387031121915371, - "y": 0.07581196822794485 - }, - "p2": { - "x": 214.2042960399042, - "y": 0.24664368571939121 - } - } - }, - { - "ID": "3415", - "typeID": "Arrow", - "zOrder": "40", - "w": "183", - "h": "125", - "measuredW": "150", - "measuredH": "100", - "x": "831", - "y": "1614", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.36031985801696464, - "y": 124.74401702033128 - }, - "p1": { - "x": 0.47415070546175875, - "y": 0.06172844723948579 - }, - "p2": { - "x": 183.47466727551432, - "y": -0.3096836550328135 - } - } - }, - { - "ID": "3416", - "typeID": "Arrow", - "zOrder": "41", - "w": "186", - "h": "82", - "measuredW": "150", - "measuredH": "100", - "x": "828", - "y": "1611", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": 81.5 - }, - "p1": { - "x": 0.4667037938257157, - "y": 0.05826324141902692 - }, - "p2": { - "x": 186.47466727551432, - "y": -0.2871527187319316 - } - } - }, - { - "ID": "3417", - "typeID": "Arrow", - "zOrder": "42", - "h": "40", - "measuredW": "150", - "measuredH": "100", - "x": "837", - "y": "1611", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.3152579854152009, - "y": 39.90867964120662 - }, - "p1": { - "x": 0.4665558798140599, - "y": 0.0702975125629915 - }, - "p2": { - "x": 150.67744570222203, - "y": -0.2871527187319316 - } - } - }, - { - "ID": "3418", - "typeID": "Arrow", - "zOrder": "43", - "w": "176", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "824", - "y": "1597", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": 1.5 - }, - "p1": { - "x": 0.47345427259831363, - "y": -0.00011162392477927848 - }, - "p2": { - "x": 176.21279569788953, - "y": 0.03075605110257129 - } - } - }, - { - "ID": "3419", - "typeID": "Arrow", - "zOrder": "44", - "w": "1", - "h": "239", - "measuredW": "150", - "measuredH": "100", - "x": "1079", - "y": "1356", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.47345427259831346, - "y": -0.00011162392477927806 - }, - "p2": { - "x": 0, - "y": 238.3367674309227 - } - } - }, - { - "ID": "3420", - "typeID": "Arrow", - "zOrder": "45", - "w": "236", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1155", - "y": "1343", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": 0.5 - }, - "p1": { - "x": 0.47345427259831335, - "y": -0.00011162392477927807 - }, - "p2": { - "x": 235.68489507160098, - "y": -0.32512695598120445 - } - } - }, - { - "ID": "3421", - "typeID": "Arrow", - "zOrder": "46", - "w": "166", - "h": "168", - "measuredW": "150", - "measuredH": "100", - "x": "879", - "y": "1362", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.24202910684186918, - "y": 167.85171934094888 - }, - "p1": { - "x": 0.5187506526383378, - "y": 0.10092669429158865 - }, - "p2": { - "x": 165.86308329089002, - "y": -0.4192717100440859 - } - } - }, - { - "ID": "3422", - "typeID": "Arrow", - "zOrder": "47", - "w": "151", - "h": "125", - "measuredW": "150", - "measuredH": "100", - "x": "882", - "y": "1360", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.1080340262133177, - "y": 124.80279260288762 - }, - "p1": { - "x": 0.4785842736801959, - "y": 0.11879950919024476 - }, - "p2": { - "x": 150.93836738963864, - "y": 0.25575985648356436 - } - } - }, - { - "ID": "3423", - "typeID": "Arrow", - "zOrder": "48", - "w": "115", - "h": "81", - "measuredW": "150", - "measuredH": "100", - "x": "883", - "y": "1364", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.216934407259032, - "y": 81.05373959871622 - }, - "p1": { - "x": 0.44045282407886405, - "y": 0.13711042381893543 - }, - "p2": { - "x": 115.48918811935664, - "y": 0.2306651569006135 - } - } - }, - { - "ID": "3424", - "typeID": "Arrow", - "zOrder": "49", - "w": "97", - "h": "40", - "measuredW": "150", - "measuredH": "100", - "x": "879", - "y": "1355", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.24202910684186918, - "y": 39.70493912676557 - }, - "p1": { - "x": 0.41485764854624113, - "y": 0.109423049141837 - }, - "p2": { - "x": 96.96472475032601, - "y": -0.044113877406061874 - } - } - }, - { - "ID": "3425", - "typeID": "Arrow", - "zOrder": "50", - "w": "107", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "866", - "y": "1345", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.4734542725983134, - "y": -0.00011162392477927755 - }, - "p2": { - "x": 107.31478788338131, - "y": -0.5 - }, - "stroke": "dotted" - } - }, - { - "ID": "3426", - "typeID": "Arrow", - "zOrder": "51", - "w": "140", - "h": "251", - "measuredW": "150", - "measuredH": "100", - "x": "1222", - "y": "1078", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 1.733821809662004, - "y": -0.012705872300330157 - }, - "p1": { - "x": 0.6281690675432272, - "y": -0.24735053069351437 - }, - "p2": { - "x": 139.53053889079024, - "y": 250.4063280539806 - } - } - }, - { - "ID": "3427", - "typeID": "Arrow", - "zOrder": "52", - "w": "1", - "h": "99", - "measuredW": "150", - "measuredH": "100", - "x": "929", - "y": "974", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.08262228161265739, - "y": -0.00765522788196904 - }, - "p1": { - "x": 0.46737830066706765, - "y": -0.0036060514395746665 - }, - "p2": { - "x": 0.08262228161265739, - "y": 99.34990461054645 - } - } - }, - { - "ID": "3428", - "typeID": "Arrow", - "zOrder": "53", - "w": "257", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "929", - "y": "972", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.2658611453201729, - "y": 0.452028801972574 - }, - "p1": { - "x": 0.47345427259831346, - "y": -0.00011162392477927633 - }, - "p2": { - "x": 257.72987682295434, - "y": 0.452028801972574 - } - } - }, - { - "ID": "3429", - "typeID": "Arrow", - "zOrder": "54", - "w": "189", - "h": "129", - "measuredW": "150", - "measuredH": "100", - "x": "1349", - "y": "991", - "properties": { - "color": "2848996", - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 189.29875220380154, - "y": 129.53446090344232 - }, - "p1": { - "x": 0.5173830120100052, - "y": -0.10475991954824745 - }, - "p2": { - "x": -0.0566612271975373, - "y": 0.20186173525848972 - } - } - }, - { - "ID": "3430", - "typeID": "Arrow", - "zOrder": "55", - "w": "173", - "h": "89", - "measuredW": "150", - "measuredH": "100", - "x": "1364", - "y": "985", - "properties": { - "color": "2848996", - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 172.29875220380154, - "y": 88.53446090344232 - }, - "p1": { - "x": 0.5173830120100056, - "y": -0.10475991954824762 - }, - "p2": { - "x": -0.4820084590012357, - "y": -0.42298043210348624 - } - } - }, - { - "ID": "3431", - "typeID": "Arrow", - "zOrder": "56", - "w": "60", - "h": "30", - "measuredW": "150", - "measuredH": "100", - "x": "1464", - "y": "1465", - "properties": { - "color": "2848996", - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 60.31920991767379, - "y": 30.162697528578974 - }, - "p1": { - "x": 0.38469222125109326, - "y": -0.13210138594081827 - }, - "p2": { - "x": 0.32605804231866387, - "y": -0.07999046131453724 - } - } - }, - { - "ID": "3432", - "typeID": "Arrow", - "zOrder": "57", - "w": "61", - "h": "24", - "measuredW": "150", - "measuredH": "100", - "x": "1468", - "y": "1429", - "properties": { - "color": "2848996", - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 61.039807248761235, - "y": 0.07433489335426202 - }, - "p1": { - "x": 0.46208226221079857, - "y": 0.11053984575835622 - }, - "p2": { - "x": 0.4878500355812321, - "y": 24.3979188798794 - } - } - }, - { - "ID": "3433", - "typeID": "Arrow", - "zOrder": "58", - "w": "1", - "h": "76", - "measuredW": "150", - "measuredH": "100", - "x": "1771", - "y": "2502", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": 76.34691492882303 - }, - "p1": { - "x": 0.5702216182256714, - "y": -0.004517251466967862 - }, - "p2": { - "x": 0, - "y": 0.4406451246140932 - } - } - }, - { - "ID": "3434", - "typeID": "Arrow", - "zOrder": "59", - "w": "1", - "h": "83", - "measuredW": "150", - "measuredH": "100", - "x": "1348", - "y": "1074", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.24980034602958767, - "y": 83.20762430962418 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": -0.24980034602958767, - "y": 0.43870807682526447 - } - } - }, - { - "ID": "3435", - "typeID": "Arrow", - "zOrder": "60", - "w": "189", - "h": "26", - "measuredW": "150", - "measuredH": "100", - "x": "1356", - "y": "968", - "properties": { - "color": "2848996", - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 188.1515397158321, - "y": 26.337543700961987 - }, - "p1": { - "x": 0.47995321703110466, - "y": -0.07212649611970283 - }, - "p2": { - "x": -0.43181905983556135, - "y": 4.652303666645025 - } - } - }, - { - "ID": "3436", - "typeID": "Arrow", - "zOrder": "61", - "w": "166", - "h": "56", - "measuredW": "150", - "measuredH": "100", - "x": "1371", - "y": "892", - "properties": { - "color": "2848996", - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 166.53718413209776, - "y": 0.4764677114528695 - }, - "p1": { - "x": 0.46937049176096135, - "y": 0.08997514266115965 - }, - "p2": { - "x": 0.46780214183309, - "y": 56.80287186414216 - } - } - }, - { - "ID": "3437", - "typeID": "Arrow", - "zOrder": "62", - "w": "167", - "h": "21", - "measuredW": "150", - "measuredH": "100", - "x": "1369", - "y": "938", - "properties": { - "color": "2848996", - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 166.76388789240877, - "y": 0.20312439636302315 - }, - "p1": { - "x": 0.4153666146645862, - "y": 0.03354134165366616 - }, - "p2": { - "x": -0.18213472511160944, - "y": 21.402619331921187 - } - } - }, - { - "ID": "3438", - "typeID": "Arrow", - "zOrder": "63", - "w": "174", - "h": "99", - "measuredW": "150", - "measuredH": "100", - "x": "1539", - "y": "1226", - "properties": { - "curvature": "0", - "rightArrow": "false", - "leftArrow": "false", - "color": "10027263", - "stroke": "dotted", - "p0": { - "x": -0.4945558087927111, - "y": 99.40759071508523 - }, - "p1": { - "x": 0.4991402865711436, - "y": -0.13680773075641436 - }, - "p2": { - "x": 173.69874920774737, - "y": 0.19861969047110506 - } - } - }, - { - "ID": "3439", - "typeID": "Arrow", - "zOrder": "64", - "w": "177", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "1536", - "y": "1283", - "properties": { - "curvature": "0", - "rightArrow": "false", - "leftArrow": "false", - "color": "10027263", - "stroke": "dotted", - "p0": { - "x": -0.14449267573741054, - "y": 54.33230661633661 - }, - "p1": { - "x": 0.5049653579676676, - "y": -0.08879907621247117 - }, - "p2": { - "x": 176.69874920774737, - "y": 0.08207771058664548 - } - } - }, - { - "ID": "3440", - "typeID": "Arrow", - "zOrder": "65", - "w": "189", - "h": "5", - "measuredW": "150", - "measuredH": "100", - "x": "1540", - "y": "1343", - "properties": { - "curvature": "0", - "rightArrow": "false", - "leftArrow": "false", - "color": "10027263", - "stroke": "dotted", - "p0": { - "x": -0.1695873753203614, - "y": 4.932054084115634 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 188.57320260870983, - "y": -0.3887220358042214 - } - } - }, - { - "ID": "3441", - "typeID": "Arrow", - "zOrder": "66", - "w": "236", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "943", - "y": "1067", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": 0.5 - }, - "p1": { - "x": 0.47345427259831335, - "y": -0.00011162392477927807 - }, - "p2": { - "x": 235.68489507160098, - "y": -0.32512695598120445 - } - } - }, - { - "ID": "3442", - "typeID": "Arrow", - "zOrder": "67", - "w": "1", - "h": "90", - "measuredW": "150", - "measuredH": "100", - "x": "930", - "y": "1072", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.24980034602958767, - "y": 89.04191001796403 - }, - "p1": { - "x": 0.49999999999999994, - "y": 0 - }, - "p2": { - "x": -0.24980034602958767, - "y": -0.47695781458287456 - } - } - }, - { - "ID": "3443", - "typeID": "Arrow", - "zOrder": "68", - "w": "1", - "h": "172", - "measuredW": "150", - "measuredH": "100", - "x": "766", - "y": "989", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.24980034602958767, - "y": 172.04191001796403 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": -0.24980034602958767, - "y": 0.24952581221509718 - } - } - }, - { - "ID": "3444", - "typeID": "Arrow", - "zOrder": "69", - "w": "1", - "h": "113", - "measuredW": "150", - "measuredH": "100", - "x": "1319", - "y": "3777", - "properties": { - "color": "2848996", - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 1, - "y": 112.58154962364824 - }, - "p1": { - "x": 0.4072427393330942, - "y": 0.00953746862674794 - }, - "p2": { - "x": 1, - "y": 0 - } - } - }, - { - "ID": "3445", - "typeID": "__group__", - "zOrder": "70", - "measuredW": "200", - "measuredH": "50", - "w": "200", - "h": "50", - "x": "1025", - "y": "2483", - "properties": { - "controlName": "115-architectural-patterns" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "166", - "measuredH": "25", - "x": "17", - "y": "13", - "properties": { - "text": "Architectural Patterns", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3446", - "typeID": "__group__", - "zOrder": "71", - "measuredW": "209", - "measuredH": "40", - "w": "209", - "h": "40", - "x": "1025", - "y": "2566", - "properties": { - "controlName": "100-architectural-patterns:monolithic-apps" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "202", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "123", - "measuredW": "123", - "measuredH": "25", - "x": "39", - "y": "7", - "properties": { - "size": "17", - "text": "Monolithic Apps" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "185", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "185", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3447", - "typeID": "__group__", - "zOrder": "72", - "measuredW": "209", - "measuredH": "37", - "w": "209", - "h": "37", - "x": "1025", - "y": "2608", - "properties": { - "controlName": "101-architectural-patterns:microservices" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "202", - "h": "37", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "112", - "measuredW": "108", - "measuredH": "25", - "x": "45", - "y": "6", - "properties": { - "size": "17", - "text": "Microservices" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "185", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "185", - "y": "7", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3448", - "typeID": "__group__", - "zOrder": "73", - "measuredW": "209", - "measuredH": "37", - "w": "209", - "h": "37", - "x": "1025", - "y": "2648", - "properties": { - "controlName": "102-architectural-patterns:soa" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "202", - "h": "37", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "38", - "measuredW": "34", - "measuredH": "25", - "x": "103", - "y": "6", - "properties": { - "size": "17", - "text": "SOA" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "185", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "185", - "y": "7", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3449", - "typeID": "__group__", - "zOrder": "74", - "measuredW": "182", - "measuredH": "50", - "w": "182", - "h": "50", - "x": "1304", - "y": "2483", - "properties": { - "controlName": "117-message-brokers" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "182", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "141", - "measuredW": "136", - "measuredH": "25", - "x": "20", - "y": "12", - "properties": { - "size": "17", - "text": "Message Brokers" - } - } - ] - } - } - }, - { - "ID": "3450", - "typeID": "__group__", - "zOrder": "75", - "measuredW": "305", - "measuredH": "50", - "w": "305", - "h": "50", - "x": "1536", - "y": "2485", - "properties": { - "controlName": "118-containerization" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "305", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "250", - "measuredH": "25", - "x": "28", - "y": "13", - "properties": { - "text": "Containerization vs Virtualization", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3451", - "typeID": "__group__", - "zOrder": "76", - "measuredW": "197", - "measuredH": "50", - "w": "197", - "h": "50", - "x": "698", - "y": "2806", - "properties": { - "controlName": "122-web-servers" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "197", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "98", - "measuredH": "25", - "x": "50", - "y": "13", - "properties": { - "text": "Web Servers", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3452", - "typeID": "__group__", - "zOrder": "77", - "measuredW": "153", - "measuredH": "40", - "w": "153", - "h": "40", - "x": "691", - "y": "2592", - "properties": { - "controlName": "100-web-servers:nginx" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "144", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "46", - "measuredW": "45", - "measuredH": "25", - "x": "58", - "y": "7", - "properties": { - "size": "17", - "text": "Nginx" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3453", - "typeID": "__group__", - "zOrder": "78", - "measuredW": "153", - "measuredH": "40", - "w": "153", - "h": "40", - "x": "691", - "y": "2637", - "properties": { - "controlName": "101-web-servers:apache" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "144", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "60", - "measuredW": "59", - "measuredH": "25", - "x": "51", - "y": "7", - "properties": { - "size": "17", - "text": "Apache" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3454", - "typeID": "__group__", - "zOrder": "79", - "measuredW": "153", - "measuredH": "40", - "w": "153", - "h": "40", - "x": "691", - "y": "2683", - "properties": { - "controlName": "102-web-servers:caddy" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "144", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "53", - "measuredW": "49", - "measuredH": "25", - "x": "54", - "y": "7", - "properties": { - "size": "17", - "text": "Caddy" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3455", - "typeID": "__group__", - "zOrder": "80", - "measuredW": "152", - "measuredH": "40", - "w": "152", - "h": "40", - "x": "691", - "y": "2728", - "properties": { - "controlName": "103-web-servers:ms-iis" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "144", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "55", - "measuredW": "51", - "measuredH": "25", - "x": "57", - "y": "7", - "properties": { - "size": "17", - "text": "MS IIS" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3456", - "typeID": "__group__", - "zOrder": "81", - "measuredW": "144", - "measuredH": "40", - "w": "144", - "h": "40", - "x": "1691", - "y": "2608", - "properties": { - "controlName": "ext_link:roadmap.sh/docker" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "144", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "4273622", - "borderColor": "4273622" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "58", - "measuredW": "56", - "measuredH": "25", - "x": "47", - "y": "8", - "properties": { - "size": "17", - "text": "Docker", - "color": "16777215" - } - } - ] - } - } - }, - { - "ID": "3457", - "typeID": "__group__", - "zOrder": "82", - "measuredW": "154", - "measuredH": "40", - "w": "154", - "h": "40", - "x": "1692", - "y": "2564", - "properties": { - "controlName": "102-containerization:lxc" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "144", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "textColor": "6710886", - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "37", - "measuredW": "32", - "measuredH": "25", - "x": "53", - "y": "8", - "properties": { - "color": "3355443", - "size": "17", - "text": "LXC" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "130", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "130", - "y": "8", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - }, - { - "ID": "3458", - "typeID": "__group__", - "zOrder": "83", - "measuredW": "141", - "measuredH": "50", - "w": "141", - "h": "50", - "x": "996", - "y": "2947", - "properties": { - "controlName": "ext_link:roadmap.sh/graphql" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "141", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "4273622", - "borderColor": "4273622" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "71", - "measuredH": "25", - "x": "35", - "y": "13", - "properties": { - "text": "GraphQL", - "size": "17", - "color": "16777215" - } - } - ] - } - } - }, - { - "ID": "3459", - "typeID": "__group__", - "zOrder": "84", - "measuredW": "155", - "measuredH": "40", - "w": "155", - "h": "40", - "x": "995", - "y": "3045", - "properties": { - "controlName": "100-graphql:apollo" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "144", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "50", - "measuredW": "48", - "measuredH": "25", - "x": "47", - "y": "7", - "properties": { - "size": "17", - "text": "Apollo" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "131", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "131", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3460", - "typeID": "__group__", - "zOrder": "85", - "measuredW": "153", - "measuredH": "40", - "w": "153", - "h": "40", - "x": "995", - "y": "3089", - "properties": { - "controlName": "101-graphql:relay-modern" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "144", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "108", - "measuredW": "107", - "measuredH": "25", - "x": "18", - "y": "7", - "properties": { - "size": "17", - "text": "Relay Modern" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "129", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "129", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "129", - "y": "8", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3461", - "typeID": "__group__", - "zOrder": "86", - "measuredW": "179", - "measuredH": "40", - "w": "179", - "h": "40", - "x": "995", - "y": "1712", - "properties": { - "controlName": "104-apis:authentication:jwt" - }, - "children": { - "controls": { - "control": [ - { - "ID": "1", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Canvas", - "zOrder": "0", - "w": "169", - "h": "40", - "measuredW": "100", - "measuredH": "70", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "1", - "measuredW": "35", - "measuredH": "25", - "x": "77", - "y": "7", - "properties": { - "text": "JWT", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3462", - "typeID": "__group__", - "zOrder": "87", - "measuredW": "130", - "measuredH": "50", - "w": "130", - "h": "50", - "x": "1352", - "y": "1572", - "properties": { - "controlName": "110-caching" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "130", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "64", - "measuredH": "25", - "x": "33", - "y": "13", - "properties": { - "text": "Caching", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3463", - "typeID": "__group__", - "zOrder": "88", - "measuredW": "154", - "measuredH": "40", - "w": "154", - "h": "40", - "x": "1522", - "y": "1420", - "properties": { - "controlName": "100-caching:server-side:redis" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "144", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "46", - "measuredW": "45", - "measuredH": "25", - "x": "49", - "y": "8", - "properties": { - "size": "17", - "text": "Redis" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "130", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "130", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3464", - "typeID": "__group__", - "zOrder": "89", - "measuredW": "155", - "measuredH": "40", - "w": "155", - "h": "40", - "x": "1522", - "y": "1465", - "properties": { - "controlName": "101-caching:server-side:memcached" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "144", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "96", - "measuredW": "96", - "measuredH": "25", - "x": "28", - "y": "8", - "properties": { - "size": "17", - "text": "Memcached" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "131", - "y": "9", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "131", - "y": "9", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "131", - "y": "9", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3465", - "typeID": "__group__", - "zOrder": "90", - "measuredW": "129", - "measuredH": "40", - "w": "129", - "h": "40", - "x": "1352", - "y": "1441", - "properties": { - "controlName": "101-caching:server-side" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "129", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "95", - "measuredW": "90", - "measuredH": "25", - "x": "19", - "y": "8", - "properties": { - "size": "17", - "text": "Server Side" - } - } - ] - } - } - }, - { - "ID": "3466", - "typeID": "__group__", - "zOrder": "91", - "measuredW": "140", - "measuredH": "40", - "w": "140", - "h": "40", - "x": "1353", - "y": "1484", - "properties": { - "controlName": "102-caching:client-side" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "130", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "88", - "measuredW": "84", - "measuredH": "25", - "x": "21", - "y": "7", - "properties": { - "size": "17", - "text": "Client Side" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "116", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "116", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3467", - "typeID": "__group__", - "zOrder": "92", - "measuredW": "139", - "measuredH": "37", - "w": "139", - "h": "37", - "x": "1352", - "y": "1401", - "properties": { - "controlName": "100-caching:cdn" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "129", - "h": "37", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "40", - "measuredW": "38", - "measuredH": "25", - "x": "45", - "y": "6", - "properties": { - "size": "17", - "text": "CDN" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "115", - "y": "5", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "115", - "y": "5", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3468", - "typeID": "__group__", - "zOrder": "93", - "measuredW": "229", - "measuredH": "50", - "w": "229", - "h": "50", - "x": "961", - "y": "1321", - "properties": { - "controlName": "106-relational-databases" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "229", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "165", - "measuredH": "25", - "x": "32", - "y": "13", - "properties": { - "size": "17", - "text": "Relational Databases" - } - } - ] - } - } - }, - { - "ID": "3469", - "typeID": "__group__", - "zOrder": "94", - "measuredW": "199", - "measuredH": "40", - "w": "199", - "h": "40", - "x": "688", - "y": "1279", - "properties": { - "controlName": "100-relational-databases:postgresql" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "191", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "96", - "measuredW": "93", - "measuredH": "25", - "x": "56", - "y": "7", - "properties": { - "size": "17", - "text": "PostgreSQL" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3470", - "typeID": "__group__", - "zOrder": "95", - "measuredW": "199", - "measuredH": "40", - "w": "199", - "h": "40", - "x": "688", - "y": "1324", - "properties": { - "controlName": "101-relational-databases:mysql" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "191", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "60", - "measuredW": "56", - "measuredH": "25", - "x": "74", - "y": "7", - "properties": { - "size": "17", - "text": "MySQL" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3471", - "typeID": "__group__", - "zOrder": "96", - "measuredW": "199", - "measuredH": "40", - "w": "199", - "h": "40", - "x": "688", - "y": "1415", - "properties": { - "controlName": "102-relational-databases:mariadb" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "191", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "69", - "measuredH": "25", - "x": "69", - "y": "7", - "properties": { - "size": "17", - "text": "MariaDB" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3472", - "typeID": "__group__", - "zOrder": "97", - "measuredW": "199", - "measuredH": "40", - "w": "199", - "h": "40", - "x": "688", - "y": "1460", - "properties": { - "controlName": "103-relational-databases:mssql" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "191", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "67", - "measuredW": "63", - "measuredH": "25", - "x": "70", - "y": "8", - "properties": { - "size": "17", - "text": "MS SQL" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3473", - "typeID": "__group__", - "zOrder": "98", - "measuredW": "199", - "measuredH": "40", - "w": "199", - "h": "40", - "x": "688", - "y": "1506", - "properties": { - "controlName": "104-relational-databases:oracle" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "191", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "54", - "measuredW": "52", - "measuredH": "25", - "x": "77", - "y": "8", - "properties": { - "size": "17", - "text": "Oracle" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3474", - "typeID": "__group__", - "zOrder": "99", - "measuredW": "214", - "measuredH": "50", - "w": "214", - "h": "50", - "x": "1208", - "y": "2944", - "properties": { - "controlName": "107-nosql-databases" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "214", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "143", - "measuredH": "25", - "x": "35", - "y": "12", - "properties": { - "text": "NoSQL Databases", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3475", - "typeID": "__group__", - "zOrder": "100", - "measuredW": "213", - "measuredH": "40", - "w": "213", - "h": "40", - "x": "694", - "y": "2282", - "properties": { - "controlName": "101-more-about-databases:acid" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "206", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "7", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "43", - "measuredW": "40", - "measuredH": "25", - "x": "88", - "y": "7", - "properties": { - "size": "17", - "text": "ACID" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3476", - "typeID": "__group__", - "zOrder": "101", - "measuredW": "211", - "measuredH": "50", - "w": "211", - "h": "50", - "x": "699", - "y": "2150", - "properties": { - "controlName": "108-more-about-databases" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "211", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "176", - "measuredH": "25", - "x": "18", - "y": "13", - "properties": { - "text": "More about Databases", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3477", - "typeID": "__group__", - "zOrder": "102", - "measuredW": "213", - "measuredH": "40", - "w": "213", - "h": "40", - "x": "694", - "y": "2326", - "properties": { - "controlName": "102-more-about-databases:transactions" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "206", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "7", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "105", - "measuredW": "99", - "measuredH": "25", - "x": "57", - "y": "7", - "properties": { - "size": "17", - "text": "Transactions" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3478", - "typeID": "__group__", - "zOrder": "103", - "measuredW": "213", - "measuredH": "40", - "w": "213", - "h": "40", - "x": "694", - "y": "2370", - "properties": { - "controlName": "103-more-about-databases:n-plus-one-problem" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "206", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "7", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "99", - "measuredH": "25", - "x": "60", - "y": "7", - "properties": { - "text": "N+1 Problem", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3479", - "typeID": "__group__", - "zOrder": "104", - "measuredW": "215", - "measuredH": "40", - "w": "215", - "h": "40", - "x": "692", - "y": "2414", - "properties": { - "controlName": "104-more-about-databases:database-normalization" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "206", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "107", - "measuredH": "25", - "x": "58", - "y": "7", - "properties": { - "size": "17", - "text": "Normalization" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3480", - "typeID": "__group__", - "zOrder": "105", - "measuredW": "218", - "measuredH": "40", - "w": "218", - "h": "40", - "x": "690", - "y": "1830", - "properties": { - "controlName": "100-scaling-databases:database-indexes" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "208", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "140", - "measuredH": "25", - "x": "44", - "y": "7", - "properties": { - "size": "17", - "text": "Database Indexes" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3481", - "typeID": "__group__", - "zOrder": "106", - "measuredW": "212", - "measuredH": "50", - "w": "212", - "h": "50", - "x": "965", - "y": "1574", - "properties": { - "controlName": "109-apis" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "212", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "133", - "measuredH": "25", - "x": "39", - "y": "13", - "properties": { - "text": "Learn about APIs", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3482", - "typeID": "__group__", - "zOrder": "107", - "measuredW": "157", - "measuredH": "40", - "w": "157", - "h": "40", - "x": "688", - "y": "1582", - "properties": { - "controlName": "100-apis:rest" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "146", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "49", - "measuredW": "44", - "measuredH": "25", - "x": "59", - "y": "7", - "properties": { - "size": "17", - "text": "REST" - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3483", - "typeID": "__group__", - "zOrder": "108", - "measuredW": "157", - "measuredH": "40", - "w": "157", - "h": "40", - "x": "688", - "y": "1627", - "properties": { - "controlName": "101-apis:json-apis" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "146", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "90", - "measuredW": "85", - "measuredH": "25", - "x": "39", - "y": "7", - "properties": { - "size": "17", - "text": "JSON APIs" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3484", - "typeID": "__group__", - "zOrder": "109", - "measuredW": "155", - "measuredH": "40", - "w": "155", - "h": "40", - "x": "690", - "y": "1672", - "properties": { - "controlName": "102-apis:soap" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "145", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "49", - "measuredW": "44", - "measuredH": "25", - "x": "58", - "y": "7", - "properties": { - "size": "17", - "text": "SOAP" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3485", - "typeID": "__group__", - "zOrder": "110", - "measuredW": "201", - "measuredH": "40", - "w": "201", - "h": "40", - "x": "1102", - "y": "1432", - "properties": { - "controlName": "104-apis:hateoas" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "190", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "78", - "measuredW": "76", - "measuredH": "25", - "x": "56", - "y": "7", - "properties": { - "size": "17", - "text": "HATEOAS" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "177", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "177", - "y": "8", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3486", - "typeID": "__group__", - "zOrder": "111", - "measuredW": "201", - "measuredH": "40", - "w": "201", - "h": "40", - "x": "1102", - "y": "1468", - "properties": { - "controlName": "105-apis:open-api-spec" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "190", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "126", - "measuredH": "25", - "x": "32", - "y": "7", - "properties": { - "size": "17", - "text": "Open API Specs" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "177", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "177", - "y": "8", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3487", - "typeID": "__group__", - "zOrder": "112", - "measuredW": "170", - "measuredH": "50", - "w": "170", - "h": "50", - "x": "1005", - "y": "1665", - "properties": { - "controlName": "106-apis:authentication" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "170", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "111", - "measuredW": "111", - "measuredH": "25", - "x": "29", - "y": "12", - "properties": { - "size": "17", - "text": "Authentication" - } - } - ] - } - } - }, - { - "ID": "3488", - "typeID": "__group__", - "zOrder": "113", - "measuredW": "240", - "measuredH": "54", - "w": "240", - "h": "54", - "x": "1601", - "y": "1782", - "properties": { - "controlName": "111-web-security-knowledge" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "240", - "h": "54", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "189", - "measuredH": "25", - "x": "25", - "y": "15", - "properties": { - "size": "17", - "text": "Web Security Knowledge" - } - } - ] - } - } - }, - { - "ID": "3489", - "typeID": "TextArea", - "zOrder": "114", - "w": "270", - "h": "192", - "measuredW": "200", - "measuredH": "140", - "x": "1572", - "y": "1546" - }, - { - "ID": "3490", - "typeID": "__group__", - "zOrder": "115", - "measuredW": "239", - "measuredH": "40", - "w": "239", - "h": "40", - "x": "1587", - "y": "1561", - "properties": { - "controlName": "100-web-security-knowledge:md5" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "239", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "203", - "measuredW": "197", - "measuredH": "25", - "x": "20", - "y": "8", - "properties": { - "size": "17", - "text": "MD5 and why not to use it" - } - } - ] - } - } - }, - { - "ID": "3491", - "typeID": "__group__", - "zOrder": "116", - "measuredW": "237", - "measuredH": "40", - "w": "237", - "h": "40", - "x": "1588", - "y": "1606", - "properties": { - "controlName": "101-web-security-knowledge:sha-family" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "237", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "93", - "measuredW": "87", - "measuredH": "25", - "x": "72", - "y": "7", - "properties": { - "size": "17", - "text": "SHA Family" - } - } - ] - } - } - }, - { - "ID": "3492", - "typeID": "__group__", - "zOrder": "117", - "measuredW": "119", - "measuredH": "40", - "w": "119", - "h": "40", - "x": "1589", - "y": "1652", - "properties": { - "controlName": "104-web-security-knowledge:scrypt" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "119", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "62", - "measuredW": "47", - "measuredH": "25", - "x": "38", - "y": "7", - "properties": { - "size": "17", - "text": "scrypt" - } - } - ] - } - } - }, - { - "ID": "3493", - "typeID": "__group__", - "zOrder": "118", - "measuredW": "111", - "measuredH": "40", - "w": "111", - "h": "40", - "x": "1715", - "y": "1652", - "properties": { - "controlName": "102-web-security-knowledge:bcrypt" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "111", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "53", - "measuredW": "48", - "measuredH": "25", - "x": "35", - "y": "7", - "properties": { - "size": "17", - "text": "bcrypt" - } - } - ] - } - } - }, - { - "ID": "3494", - "typeID": "Label", - "zOrder": "119", - "w": "155", - "measuredW": "149", - "measuredH": "25", - "x": "1629", - "y": "1700", - "properties": { - "size": "17", - "text": "Hashing Algorithms" - } - }, - { - "ID": "3495", - "typeID": "Label", - "zOrder": "120", - "measuredW": "128", - "measuredH": "40", - "x": "1220", - "y": "809", - "properties": { - "size": "32", - "text": "Backend" - } - }, - { - "ID": "3496", - "typeID": "Arrow", - "zOrder": "121", - "w": "1", - "h": "75", - "measuredW": "150", - "measuredH": "100", - "x": "1271", - "y": "722", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.43268541466795796, - "y": -0.4292144763719534 - }, - "p1": { - "x": 0.4673783006670677, - "y": -0.0036060514395746665 - }, - "p2": { - "x": 0.08850738176079176, - "y": 74.41806720423438 - } - } - }, - { - "ID": "3497", - "typeID": "__group__", - "zOrder": "122", - "measuredW": "350", - "measuredH": "141", - "w": "350", - "h": "141", - "x": "1497", - "y": "692", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "350", - "h": "141", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "314", - "measuredH": "25", - "x": "14", - "y": "17", - "properties": { - "size": "17", - "text": "Find the detailed version of this roadmap" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "319", - "measuredH": "25", - "x": "14", - "y": "45", - "properties": { - "size": "17", - "text": "along with resources and other roadmaps" - } - }, - { - "ID": "3", - "typeID": "__group__", - "zOrder": "3", - "measuredW": "320", - "measuredH": "45", - "w": "320", - "h": "45", - "x": "15", - "y": "81", - "properties": { - "controlName": "ext_link:roadmap.sh" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "320", - "h": "45", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "borderColor": "4273622", - "color": "4273622" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "105", - "measuredH": "28", - "x": "141", - "y": "8", - "properties": { - "color": "16777215", - "size": "20", - "text": "roadmap.sh" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "45", - "measuredH": "28", - "x": "66", - "y": "8", - "properties": { - "color": "16777215", - "size": "20", - "text": "https" - } - }, - { - "ID": "3", - "typeID": "Label", - "zOrder": "3", - "measuredW": "5", - "measuredH": "28", - "x": "113", - "y": "8", - "properties": { - "bold": "true", - "color": "16777215", - "size": "20", - "text": ":" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "4", - "measuredW": "10", - "measuredH": "28", - "x": "120", - "y": "9", - "properties": { - "color": "16777215", - "size": "20", - "text": "/" - } - }, - { - "ID": "5", - "typeID": "Label", - "zOrder": "5", - "measuredW": "10", - "measuredH": "28", - "x": "128", - "y": "9", - "properties": { - "color": "16777215", - "size": "20", - "text": "/" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "3498", - "typeID": "__group__", - "zOrder": "123", - "measuredW": "408", - "measuredH": "162", - "w": "408", - "h": "162", - "x": "685", - "y": "682", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "408", - "h": "162", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "23", - "y": "21", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "23", - "y": "21", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Label", - "zOrder": "3", - "measuredW": "269", - "measuredH": "24", - "x": "59", - "y": "21", - "properties": { - "size": "16", - "text": "Personal Recommendation / Opinion" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "4", - "measuredW": "159", - "measuredH": "24", - "x": "59", - "y": "118", - "properties": { - "size": "16", - "text": "I wouldn't recommend" - } - }, - { - "ID": "5", - "typeID": "Icon", - "zOrder": "5", - "measuredW": "24", - "measuredH": "24", - "x": "23", - "y": "118", - "properties": { - "color": "10066329", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "6", - "typeID": "Label", - "zOrder": "6", - "w": "324", - "measuredW": "315", - "measuredH": "24", - "x": "60", - "y": "86", - "properties": { - "size": "16", - "text": "Order in roadmap not strict (Learn anytime)" - } - }, - { - "ID": "7", - "typeID": "Icon", - "zOrder": "7", - "measuredW": "24", - "measuredH": "24", - "x": "23", - "y": "86", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "8", - "typeID": "Icon", - "zOrder": "8", - "measuredW": "24", - "measuredH": "24", - "x": "23", - "y": "86", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - }, - { - "ID": "9", - "typeID": "Label", - "zOrder": "9", - "measuredW": "272", - "measuredH": "24", - "x": "59", - "y": "54", - "properties": { - "size": "16", - "text": "Alternative Option - Pick this or purple" - } - }, - { - "ID": "10", - "typeID": "Icon", - "zOrder": "10", - "measuredW": "24", - "measuredH": "24", - "x": "23", - "y": "53", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "11", - "typeID": "Icon", - "zOrder": "11", - "measuredW": "24", - "measuredH": "24", - "x": "23", - "y": "53", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "12", - "typeID": "Icon", - "zOrder": "12", - "measuredW": "24", - "measuredH": "24", - "x": "23", - "y": "53", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3499", - "typeID": "__group__", - "zOrder": "124", - "measuredW": "144", - "measuredH": "40", - "w": "144", - "h": "40", - "x": "688", - "y": "970", - "properties": { - "controlName": "100-learn-a-language:go" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "136", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "26", - "measuredW": "23", - "measuredH": "25", - "x": "63", - "y": "7", - "properties": { - "size": "17", - "text": "Go" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3500", - "typeID": "__group__", - "zOrder": "125", - "measuredW": "144", - "measuredH": "40", - "w": "144", - "h": "40", - "x": "688", - "y": "1128", - "properties": { - "controlName": "102-learn-a-language:java" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "136", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "38", - "measuredW": "36", - "measuredH": "25", - "x": "57", - "y": "7", - "properties": { - "size": "17", - "text": "Java" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3501", - "typeID": "__group__", - "zOrder": "126", - "measuredW": "145", - "measuredH": "40", - "w": "145", - "h": "40", - "x": "688", - "y": "927", - "properties": { - "controlName": "101-learn-a-language:rust" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "136", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "39", - "measuredW": "36", - "measuredH": "25", - "x": "57", - "y": "7", - "properties": { - "size": "17", - "text": "Rust" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3502", - "typeID": "__group__", - "zOrder": "127", - "measuredW": "144", - "measuredH": "40", - "w": "144", - "h": "40", - "x": "688", - "y": "1172", - "properties": { - "controlName": "103-learn-a-language:csharp" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "136", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "27", - "measuredW": "24", - "measuredH": "25", - "x": "62", - "y": "7", - "properties": { - "size": "17", - "text": "C#" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3503", - "typeID": "__group__", - "zOrder": "128", - "measuredW": "302", - "measuredH": "50", - "w": "302", - "h": "50", - "x": "699", - "y": "1046", - "properties": { - "controlName": "103-learn-a-language" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "302", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "141", - "measuredH": "25", - "x": "80", - "y": "13", - "properties": { - "text": "Learn a Language", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3504", - "typeID": "__group__", - "zOrder": "129", - "measuredW": "144", - "measuredH": "40", - "w": "144", - "h": "40", - "x": "688", - "y": "1216", - "properties": { - "controlName": "103-learn-a-language:php" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "136", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "34", - "measuredW": "34", - "measuredH": "25", - "x": "59", - "y": "7", - "properties": { - "size": "17", - "text": "PHP" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3505", - "typeID": "__group__", - "zOrder": "130", - "measuredW": "146", - "measuredH": "40", - "w": "146", - "h": "40", - "x": "866", - "y": "1130", - "properties": { - "controlName": "105-learn-a-language:javascript" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "136", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "85", - "measuredW": "81", - "measuredH": "25", - "x": "27", - "y": "8", - "properties": { - "size": "17", - "text": "JavaScript" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "122", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "122", - "y": "7", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3506", - "typeID": "__group__", - "zOrder": "131", - "measuredW": "146", - "measuredH": "40", - "w": "146", - "h": "40", - "x": "866", - "y": "1173", - "properties": { - "controlName": "106-learn-a-language:python" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "136", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "56", - "measuredW": "53", - "measuredH": "25", - "x": "40", - "y": "8", - "properties": { - "size": "17", - "text": "Python" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "122", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "122", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "122", - "y": "8", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3507", - "typeID": "__group__", - "zOrder": "132", - "measuredW": "146", - "measuredH": "40", - "w": "146", - "h": "40", - "x": "866", - "y": "1216", - "properties": { - "controlName": "107-learn-a-language:ruby" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "136", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "42", - "measuredW": "39", - "measuredH": "25", - "x": "47", - "y": "8", - "properties": { - "size": "17", - "text": "Ruby" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "122", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "122", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "122", - "y": "8", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3508", - "typeID": "Arrow", - "zOrder": "133", - "w": "175", - "h": "48", - "measuredW": "150", - "measuredH": "100", - "x": "1362", - "y": "980", - "properties": { - "color": "2848996", - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 175.29875220380154, - "y": 48.53446090344232 - }, - "p1": { - "x": 0.5008052694036629, - "y": -0.08367970543914485 - }, - "p2": { - "x": 0.1930231075264146, - "y": 0.6021142674793509 - } - } - }, - { - "ID": "3509", - "typeID": "__group__", - "zOrder": "134", - "measuredW": "227", - "measuredH": "50", - "w": "227", - "h": "50", - "x": "1160", - "y": "947", - "properties": { - "controlName": "100-internet" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "227", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "62", - "measuredH": "25", - "x": "83", - "y": "13", - "properties": { - "text": "Internet", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3510", - "typeID": "__group__", - "zOrder": "135", - "measuredW": "310", - "measuredH": "44", - "w": "310", - "h": "44", - "x": "1530", - "y": "875", - "properties": { - "controlName": "100-internet:how-does-the-internet-work" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "299", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "223", - "measuredW": "219", - "measuredH": "25", - "x": "38", - "y": "9", - "properties": { - "size": "17", - "text": "How does the internet work?" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "286", - "y": "9", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "286", - "y": "9", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3511", - "typeID": "__group__", - "zOrder": "136", - "measuredW": "310", - "measuredH": "40", - "w": "310", - "h": "40", - "x": "1530", - "y": "922", - "properties": { - "controlName": "101-internet:what-is-http" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "299", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "119", - "measuredW": "113", - "measuredH": "25", - "x": "90", - "y": "8", - "properties": { - "size": "17", - "text": "What is HTTP?" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "286", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "286", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3512", - "typeID": "__group__", - "zOrder": "137", - "measuredW": "310", - "measuredH": "40", - "w": "310", - "h": "40", - "x": "1530", - "y": "966", - "properties": { - "controlName": "102-internet:browsers-and-how-they-work" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "299", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "230", - "measuredW": "225", - "measuredH": "25", - "x": "34", - "y": "8", - "properties": { - "size": "17", - "text": "Browsers and how they work?" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "286", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "286", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3513", - "typeID": "__group__", - "zOrder": "138", - "measuredW": "311", - "measuredH": "40", - "w": "311", - "h": "40", - "x": "1531", - "y": "1010", - "properties": { - "controlName": "103-internet:dns-and-how-it-works" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "300", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "179", - "measuredW": "175", - "measuredH": "25", - "x": "60", - "y": "8", - "properties": { - "size": "17", - "text": "DNS and how it works?" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "287", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "287", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3514", - "typeID": "__group__", - "zOrder": "139", - "measuredW": "312", - "measuredH": "40", - "w": "312", - "h": "40", - "x": "1530", - "y": "1054", - "properties": { - "controlName": "104-internet:what-is-domain-name" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "302", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "179", - "measuredW": "180", - "measuredH": "25", - "x": "61", - "y": "8", - "properties": { - "size": "17", - "text": "What is Domain Name?" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "288", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "288", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3515", - "typeID": "__group__", - "zOrder": "140", - "measuredW": "313", - "measuredH": "40", - "w": "313", - "h": "40", - "x": "1531", - "y": "1098", - "properties": { - "controlName": "105-internet:what-is-hosting" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "304", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "133", - "measuredW": "126", - "measuredH": "25", - "x": "85", - "y": "8", - "properties": { - "size": "17", - "text": "What is hosting?" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "289", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "289", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3516", - "typeID": "__group__", - "zOrder": "141", - "measuredW": "82", - "measuredH": "50", - "w": "82", - "h": "50", - "x": "1313", - "y": "1122", - "properties": { - "controlName": "100-version-control-systems:git" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "71", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "22", - "measuredH": "25", - "x": "25", - "y": "12", - "properties": { - "size": "17", - "text": "Git" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "58", - "y": "13", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "58", - "y": "13", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3517", - "typeID": "__group__", - "zOrder": "142", - "measuredW": "138", - "measuredH": "49", - "w": "138", - "h": "49", - "x": "1704", - "y": "1204", - "properties": { - "controlName": "100-repo-hosting-services:github" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "131", - "h": "49", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "54", - "measuredH": "25", - "x": "39", - "y": "12", - "properties": { - "text": "GitHub", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "114", - "y": "13", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "114", - "y": "13", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3518", - "typeID": "__group__", - "zOrder": "143", - "measuredW": "227", - "measuredH": "50", - "w": "227", - "h": "50", - "x": "1353", - "y": "1312", - "properties": { - "controlName": "105-repo-hosting-services" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "227", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "172", - "measuredH": "25", - "x": "28", - "y": "12", - "properties": { - "text": "Repo hosting services", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3519", - "typeID": "__group__", - "zOrder": "144", - "measuredW": "226", - "measuredH": "50", - "w": "226", - "h": "50", - "x": "1159", - "y": "1043", - "properties": { - "controlName": "104-version-control-systems" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "226", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "186", - "measuredH": "25", - "x": "20", - "y": "12", - "properties": { - "text": "Version Control Systems", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3520", - "typeID": "__group__", - "zOrder": "145", - "measuredW": "140", - "measuredH": "49", - "w": "140", - "h": "49", - "x": "1704", - "y": "1311", - "properties": { - "controlName": "102-repo-hosting-services:bitbucket" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "131", - "h": "49", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "73", - "measuredH": "25", - "x": "29", - "y": "12", - "properties": { - "color": "3355443", - "text": "Bitbucket", - "size": "17" - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "116", - "y": "13", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "116", - "y": "13", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "5", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "116", - "y": "13", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3521", - "typeID": "__group__", - "zOrder": "146", - "measuredW": "140", - "measuredH": "49", - "w": "140", - "h": "49", - "x": "1704", - "y": "1257", - "properties": { - "controlName": "101-repo-hosting-services:gitlab" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "131", - "h": "49", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "52", - "measuredW": "51", - "measuredH": "25", - "x": "40", - "y": "12", - "properties": { - "color": "3355443", - "size": "17", - "text": "GitLab" - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "116", - "y": "13", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "116", - "y": "13", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "5", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "116", - "y": "13", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3522", - "typeID": "__group__", - "zOrder": "147", - "measuredW": "212", - "measuredH": "40", - "w": "212", - "h": "40", - "x": "694", - "y": "2238", - "properties": { - "controlName": "100-more-about-databases:orms" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "205", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "7", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "49", - "measuredW": "49", - "measuredH": "25", - "x": "85", - "y": "7", - "properties": { - "size": "17", - "text": "ORMs" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3523", - "typeID": "__group__", - "zOrder": "148", - "measuredW": "169", - "measuredH": "50", - "w": "169", - "h": "50", - "x": "1004", - "y": "2028", - "properties": { - "controlName": "113-ci-cd" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "169", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "62", - "measuredW": "59", - "measuredH": "25", - "x": "54", - "y": "12", - "properties": { - "size": "17", - "text": "CI / CD" - } - } - ] - } - } - }, - { - "ID": "3524", - "typeID": "__group__", - "zOrder": "149", - "measuredW": "271", - "measuredH": "40", - "w": "271", - "h": "40", - "x": "1581", - "y": "2228", - "properties": { - "controlName": "100-design-and-development-principles:gof-design-patterns" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "260", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "168", - "measuredW": "164", - "measuredH": "25", - "x": "46", - "y": "7", - "properties": { - "size": "17", - "text": "GOF Design Patterns" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "247", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "247", - "y": "8", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - }, - { - "ID": "3525", - "typeID": "__group__", - "zOrder": "150", - "measuredW": "271", - "measuredH": "40", - "w": "271", - "h": "40", - "x": "1581", - "y": "2272", - "properties": { - "controlName": "101-design-and-development-principles:domain-driven-design" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "260", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "175", - "measuredW": "172", - "measuredH": "25", - "x": "42", - "y": "7", - "properties": { - "size": "17", - "text": "Domain Driven Design" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "247", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "247", - "y": "8", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - }, - { - "ID": "3526", - "typeID": "__group__", - "zOrder": "151", - "measuredW": "271", - "measuredH": "40", - "w": "271", - "h": "40", - "x": "1581", - "y": "2316", - "properties": { - "controlName": "102-design-and-development-principles:test-driven-development" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "260", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "196", - "measuredW": "194", - "measuredH": "25", - "x": "32", - "y": "7", - "properties": { - "size": "17", - "text": "Test Driven Development" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "247", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "247", - "y": "8", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - }, - { - "ID": "3527", - "typeID": "__group__", - "zOrder": "152", - "measuredW": "210", - "measuredH": "37", - "w": "210", - "h": "37", - "x": "1025", - "y": "2688", - "properties": { - "controlName": "104-architectural-patterns:serverless" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "202", - "h": "37", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "87", - "measuredW": "82", - "measuredH": "25", - "x": "57", - "y": "6", - "properties": { - "size": "17", - "text": "Serverless" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "186", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "186", - "y": "7", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3528", - "typeID": "__group__", - "zOrder": "153", - "measuredW": "155", - "measuredH": "40", - "w": "155", - "h": "40", - "x": "690", - "y": "1717", - "properties": { - "controlName": "103-apis:grpc" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "145", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "90", - "measuredW": "45", - "measuredH": "25", - "x": "38", - "y": "7", - "properties": { - "align": "center", - "size": "17", - "text": "gRPC" - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "5", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3529", - "typeID": "__group__", - "zOrder": "154", - "measuredW": "323", - "measuredH": "50", - "w": "323", - "h": "50", - "x": "1025", - "y": "2284", - "properties": { - "controlName": "ext_link:roadmap.sh/software-design-architecture" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "323", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "4273622", - "borderColor": "4273622", - "textColor": "16777215" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "240", - "measuredH": "25", - "x": "42", - "y": "12", - "properties": { - "text": "Software Design & Architecture", - "size": "17", - "color": "16777215" - } - } - ] - } - } - }, - { - "ID": "3530", - "typeID": "__group__", - "zOrder": "155", - "measuredW": "174", - "measuredH": "154", - "w": "174", - "h": "154", - "x": "1495", - "y": "2943", - "properties": { - "controlName": "100-nosql-databases:document-databases" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "174", - "h": "154", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "TextArea", - "zOrder": "1", - "w": "137", - "h": "43", - "measuredW": "200", - "measuredH": "140", - "x": "21", - "y": "15", - "properties": { - "color": "16770457" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "78", - "measuredH": "25", - "x": "51", - "y": "24", - "properties": { - "size": "17", - "text": "MongoDB" - } - }, - { - "ID": "3", - "typeID": "TextArea", - "zOrder": "3", - "w": "137", - "h": "43", - "measuredW": "200", - "measuredH": "140", - "x": "21", - "y": "63", - "properties": { - "color": "16770457" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "4", - "measuredW": "74", - "measuredH": "25", - "x": "53", - "y": "72", - "properties": { - "size": "17", - "text": "CouchDB" - } - }, - { - "ID": "5", - "typeID": "Label", - "zOrder": "5", - "measuredW": "117", - "measuredH": "25", - "x": "31", - "y": "114", - "properties": { - "size": "17", - "text": "Document DBs" - } - }, - { - "ID": "6", - "typeID": "__group__", - "zOrder": "6", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "12", - "y": "22", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "7", - "typeID": "__group__", - "zOrder": "7", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "11", - "y": "71", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "3531", - "typeID": "__group__", - "zOrder": "156", - "measuredW": "168", - "measuredH": "154", - "w": "168", - "h": "154", - "x": "1666", - "y": "2943", - "properties": { - "controlName": "102-nosql-databases:timeseries-databases" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "168", - "h": "154", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "TextArea", - "zOrder": "1", - "w": "137", - "h": "43", - "measuredW": "200", - "measuredH": "140", - "x": "17", - "y": "14", - "properties": { - "color": "16770457" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "65", - "measuredH": "25", - "x": "53", - "y": "23", - "properties": { - "size": "17", - "text": "InfluxDB" - } - }, - { - "ID": "3", - "typeID": "TextArea", - "zOrder": "3", - "w": "137", - "h": "43", - "measuredW": "200", - "measuredH": "140", - "x": "17", - "y": "62", - "properties": { - "color": "16770457" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "4", - "measuredW": "81", - "measuredH": "25", - "x": "45", - "y": "71", - "properties": { - "size": "17", - "text": "TimeScale" - } - }, - { - "ID": "5", - "typeID": "Label", - "zOrder": "5", - "measuredW": "91", - "measuredH": "25", - "x": "38", - "y": "113", - "properties": { - "size": "17", - "text": "Time Series" - } - }, - { - "ID": "6", - "typeID": "__group__", - "zOrder": "6", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "137", - "y": "21", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "7", - "typeID": "__group__", - "zOrder": "7", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "141", - "y": "70", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "3532", - "typeID": "__group__", - "zOrder": "157", - "measuredW": "174", - "measuredH": "154", - "w": "174", - "h": "154", - "x": "1495", - "y": "3092", - "properties": { - "controlName": "103-nosql-databases:realtime-databases" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "174", - "h": "154", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "TextArea", - "zOrder": "1", - "w": "137", - "h": "43", - "measuredW": "200", - "measuredH": "140", - "x": "21", - "y": "14", - "properties": { - "color": "16770457" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "68", - "measuredH": "25", - "x": "56", - "y": "23", - "properties": { - "size": "17", - "text": "Firebase" - } - }, - { - "ID": "3", - "typeID": "TextArea", - "zOrder": "3", - "w": "137", - "h": "43", - "measuredW": "200", - "measuredH": "140", - "x": "21", - "y": "62", - "properties": { - "color": "16770457" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "4", - "measuredW": "83", - "measuredH": "25", - "x": "48", - "y": "71", - "properties": { - "size": "17", - "text": "RethinkDB" - } - }, - { - "ID": "5", - "typeID": "Label", - "zOrder": "5", - "measuredW": "69", - "measuredH": "25", - "x": "55", - "y": "113", - "properties": { - "size": "17", - "text": "Realtime" - } - }, - { - "ID": "6", - "typeID": "__group__", - "zOrder": "6", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "9", - "y": "23", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "7", - "typeID": "__group__", - "zOrder": "7", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "10", - "y": "71", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "3533", - "typeID": "__group__", - "zOrder": "158", - "measuredW": "168", - "measuredH": "154", - "w": "168", - "h": "154", - "x": "1666", - "y": "3092", - "properties": { - "controlName": "101-nosql-databases:column-databases" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "168", - "h": "154", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "TextArea", - "zOrder": "1", - "w": "137", - "h": "43", - "measuredW": "200", - "measuredH": "140", - "x": "15", - "y": "14", - "properties": { - "color": "16770457" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "83", - "measuredH": "25", - "x": "42", - "y": "23", - "properties": { - "size": "17", - "text": "Cassandra" - } - }, - { - "ID": "3", - "typeID": "TextArea", - "zOrder": "3", - "w": "137", - "h": "43", - "measuredW": "200", - "measuredH": "140", - "x": "15", - "y": "62", - "properties": { - "color": "16770457" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "4", - "measuredW": "53", - "measuredH": "25", - "x": "57", - "y": "71", - "properties": { - "size": "17", - "text": "HBase" - } - }, - { - "ID": "5", - "typeID": "Label", - "zOrder": "5", - "measuredW": "96", - "measuredH": "25", - "x": "36", - "y": "113", - "properties": { - "size": "17", - "text": "Column DBs" - } - }, - { - "ID": "6", - "typeID": "__group__", - "zOrder": "6", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "137", - "y": "23", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "7", - "typeID": "__group__", - "zOrder": "7", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "137", - "y": "71", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "3534", - "typeID": "__group__", - "zOrder": "159", - "measuredW": "174", - "measuredH": "154", - "w": "174", - "h": "154", - "x": "1495", - "y": "3242", - "properties": { - "controlName": "104-nosql-databases:key-value-databases" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "174", - "h": "154", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "TextArea", - "zOrder": "1", - "w": "143", - "h": "43", - "measuredW": "200", - "measuredH": "140", - "x": "18", - "y": "14", - "properties": { - "color": "16770457" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "45", - "measuredH": "25", - "x": "64", - "y": "23", - "properties": { - "size": "17", - "text": "Redis" - } - }, - { - "ID": "3", - "typeID": "TextArea", - "zOrder": "3", - "w": "143", - "h": "43", - "measuredW": "200", - "measuredH": "140", - "x": "18", - "y": "61", - "properties": { - "color": "16770457" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "4", - "measuredW": "88", - "measuredH": "25", - "x": "43", - "y": "70", - "properties": { - "size": "17", - "text": "DynamoDB" - } - }, - { - "ID": "5", - "typeID": "Label", - "zOrder": "5", - "measuredW": "76", - "measuredH": "25", - "x": "52", - "y": "114", - "properties": { - "size": "17", - "text": "Key-Value" - } - }, - { - "ID": "6", - "typeID": "__group__", - "zOrder": "6", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "11", - "y": "21", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "7", - "typeID": "__group__", - "zOrder": "7", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "9", - "y": "70", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "3535", - "typeID": "__group__", - "zOrder": "160", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "1822", - "y": "3056", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3536", - "typeID": "__group__", - "zOrder": "161", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "1822", - "y": "3205", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3537", - "typeID": "__group__", - "zOrder": "162", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "1486", - "y": "3205", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3538", - "typeID": "__group__", - "zOrder": "163", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "1510", - "y": "2930", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - }, - { - "ID": "3539", - "typeID": "__group__", - "zOrder": "164", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "1486", - "y": "2930", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - }, - { - "ID": "3540", - "typeID": "__group__", - "zOrder": "165", - "measuredW": "211", - "measuredH": "50", - "w": "211", - "h": "50", - "x": "699", - "y": "2028", - "properties": { - "controlName": "109-scaling-databases" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "211", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "144", - "measuredH": "25", - "x": "34", - "y": "12", - "properties": { - "size": "17", - "text": "Scaling Databases" - } - } - ] - } - } - }, - { - "ID": "3541", - "typeID": "__group__", - "zOrder": "166", - "measuredW": "153", - "measuredH": "40", - "w": "153", - "h": "40", - "x": "692", - "y": "1762", - "properties": { - "controlName": "106-apis:graphql" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "146", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "7", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "71", - "measuredH": "25", - "x": "44", - "y": "7", - "properties": { - "align": "center", - "size": "17", - "text": "GraphQL" - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "5", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3542", - "typeID": "__group__", - "zOrder": "167", - "measuredW": "144", - "measuredH": "40", - "w": "144", - "h": "40", - "x": "1693", - "y": "2673", - "properties": { - "controlName": "ext_link:roadmap.sh/kubernetes" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "144", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "4273622", - "borderColor": "4273622" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "90", - "measuredH": "25", - "x": "27", - "y": "7", - "properties": { - "size": "17", - "text": "Kubernetes", - "color": "16777215" - } - } - ] - } - } - }, - { - "ID": "3543", - "typeID": "__group__", - "zOrder": "168", - "measuredW": "169", - "measuredH": "102", - "w": "169", - "h": "102", - "x": "1666", - "y": "3242", - "properties": { - "controlName": "120-graph-databases" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "169", - "h": "102", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "85", - "measuredH": "25", - "x": "42", - "y": "64", - "properties": { - "size": "17", - "text": "Graph DBs" - } - }, - { - "ID": "2", - "typeID": "TextArea", - "zOrder": "2", - "w": "143", - "h": "43", - "measuredW": "200", - "measuredH": "140", - "x": "14", - "y": "15", - "properties": { - "color": "16770457" - } - }, - { - "ID": "3", - "typeID": "Label", - "zOrder": "3", - "measuredW": "47", - "measuredH": "25", - "x": "62", - "y": "24", - "properties": { - "size": "17", - "text": "Neo4j" - } - }, - { - "ID": "4", - "typeID": "__group__", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "5", - "y": "24", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "3544", - "typeID": "TextArea", - "zOrder": "169", - "w": "271", - "h": "224", - "measuredW": "200", - "measuredH": "140", - "x": "1571", - "y": "1894" - }, - { - "ID": "3545", - "typeID": "__group__", - "zOrder": "170", - "measuredW": "86", - "measuredH": "42", - "w": "86", - "h": "42", - "x": "1587", - "y": "1958", - "properties": { - "controlName": "106-web-security-knowledge:cors" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "86", - "h": "42", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "48", - "measuredH": "25", - "x": "25", - "y": "9", - "properties": { - "text": "CORS", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3546", - "typeID": "__group__", - "zOrder": "171", - "measuredW": "90", - "measuredH": "43", - "w": "90", - "h": "43", - "x": "1585", - "y": "1908", - "properties": { - "controlName": "105-web-security-knowledge:https" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "90", - "h": "43", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "54", - "measuredH": "25", - "x": "21", - "y": "10", - "properties": { - "text": "HTTPS", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3547", - "typeID": "__group__", - "zOrder": "172", - "measuredW": "87", - "measuredH": "44", - "w": "87", - "h": "44", - "x": "1588", - "y": "2008", - "properties": { - "controlName": "105-web-security-knowledge:content-security-policy" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "87", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "34", - "measuredH": "25", - "x": "27", - "y": "10", - "properties": { - "size": "17", - "text": "CSP" - } - } - ] - } - } - }, - { - "ID": "3548", - "typeID": "__group__", - "zOrder": "173", - "measuredW": "147", - "measuredH": "43", - "w": "147", - "h": "43", - "x": "1680", - "y": "1908", - "properties": { - "controlName": "108-web-security-knowledge:owasp" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "147", - "h": "43", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "104", - "measuredH": "25", - "x": "22", - "y": "10", - "properties": { - "size": "17", - "text": "OWASP Risks" - } - } - ] - } - } - }, - { - "ID": "3549", - "typeID": "__group__", - "zOrder": "174", - "measuredW": "149", - "measuredH": "43", - "w": "149", - "h": "43", - "x": "1679", - "y": "1958", - "properties": { - "controlName": "107-web-security-knowledge:ssl-tls" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "149", - "h": "43", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "69", - "measuredH": "25", - "x": "40", - "y": "9", - "properties": { - "text": "SSL/TLS", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3550", - "typeID": "__group__", - "zOrder": "175", - "measuredW": "271", - "measuredH": "40", - "w": "271", - "h": "40", - "x": "1581", - "y": "2360", - "properties": { - "controlName": "103-design-and-development-principles:cqrs" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "260", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "48", - "measuredH": "25", - "x": "106", - "y": "7", - "properties": { - "size": "17", - "text": "CQRS" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "247", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "247", - "y": "8", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - }, - { - "ID": "3551", - "typeID": "__group__", - "zOrder": "176", - "measuredW": "270", - "measuredH": "40", - "w": "270", - "h": "40", - "x": "1581", - "y": "2404", - "properties": { - "controlName": "104-design-and-development-principles:event-sourcing" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "260", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "116", - "measuredH": "25", - "x": "72", - "y": "7", - "properties": { - "size": "17", - "text": "Event Sourcing" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "246", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "246", - "y": "7", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - }, - { - "ID": "3552", - "typeID": "__group__", - "zOrder": "177", - "measuredW": "211", - "measuredH": "37", - "w": "211", - "h": "37", - "x": "1026", - "y": "2728", - "properties": { - "controlName": "105-architectural-patterns:service-mesh" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "202", - "h": "37", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "105", - "measuredH": "25", - "x": "48", - "y": "6", - "properties": { - "size": "17", - "text": "Service Mesh" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "187", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "187", - "y": "7", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3553", - "typeID": "__group__", - "zOrder": "178", - "measuredW": "211", - "measuredH": "37", - "w": "211", - "h": "37", - "x": "1026", - "y": "2768", - "properties": { - "controlName": "106-architectural-patterns:twelve-factor-apps" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "202", - "h": "37", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "149", - "measuredH": "25", - "x": "26", - "y": "6", - "properties": { - "size": "17", - "text": "Twelve Factor Apps" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "187", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "187", - "y": "7", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3554", - "typeID": "__group__", - "zOrder": "179", - "measuredW": "198", - "measuredH": "159", - "w": "198", - "h": "159", - "x": "1444", - "y": "2694", - "properties": { - "controlName": "116-search-engines" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "198", - "h": "159", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "126", - "measuredW": "122", - "measuredH": "25", - "x": "36", - "y": "116", - "properties": { - "size": "17", - "text": "Search Engines" - } - } - ] - } - } - }, - { - "ID": "3555", - "typeID": "__group__", - "zOrder": "180", - "measuredW": "167", - "measuredH": "40", - "w": "167", - "h": "40", - "x": "1459", - "y": "2711", - "properties": { - "controlName": "100-search-engines:elasticsearch" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "160", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "7", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "106", - "measuredW": "104", - "measuredH": "25", - "x": "39", - "y": "8", - "properties": { - "size": "17", - "text": "Elasticsearch" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3556", - "typeID": "__group__", - "zOrder": "181", - "measuredW": "167", - "measuredH": "40", - "w": "167", - "h": "40", - "x": "1459", - "y": "2757", - "properties": { - "controlName": "101-search-engines:solr" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "160", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "7", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "36", - "measuredW": "30", - "measuredH": "25", - "x": "69", - "y": "8", - "properties": { - "size": "17", - "text": "Solr" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3557", - "typeID": "__group__", - "zOrder": "182", - "measuredW": "191", - "measuredH": "40", - "w": "191", - "h": "40", - "x": "1295", - "y": "2560", - "properties": { - "controlName": "100-message-brokers:rabbitmq" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "182", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "78", - "measuredH": "25", - "x": "61", - "y": "7", - "properties": { - "size": "17", - "text": "RabbitMQ" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3558", - "typeID": "__group__", - "zOrder": "183", - "measuredW": "192", - "measuredH": "40", - "w": "192", - "h": "40", - "x": "1295", - "y": "2604", - "properties": { - "controlName": "101-message-brokers:kafka" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "183", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "44", - "measuredH": "25", - "x": "79", - "y": "7", - "properties": { - "size": "17", - "text": "Kafka" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - }, - { - "ID": "3559", - "typeID": "__group__", - "zOrder": "184", - "measuredW": "201", - "measuredH": "50", - "w": "201", - "h": "50", - "x": "694", - "y": "2993", - "properties": { - "controlName": "122-server-sent-events" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "201", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "148", - "measuredH": "25", - "x": "27", - "y": "12", - "properties": { - "size": "17", - "text": "Server Sent Events" - } - } - ] - } - } - }, - { - "ID": "3560", - "typeID": "__group__", - "zOrder": "185", - "measuredW": "213", - "measuredH": "50", - "w": "213", - "h": "50", - "x": "1208", - "y": "3244", - "properties": { - "controlName": "123-scalability" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "213", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "134", - "measuredH": "25", - "x": "40", - "y": "13", - "properties": { - "size": "17", - "text": "Building for Scale" - } - } - ] - } - } - }, - { - "ID": "3561", - "typeID": "__group__", - "zOrder": "186", - "measuredW": "232", - "measuredH": "282", - "w": "232", - "h": "282", - "x": "900", - "y": "3232", - "properties": { - "controlName": "100-scalability:mitigation-strategies" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "222", - "h": "274", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "8" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "159", - "measuredH": "25", - "x": "31", - "y": "246", - "properties": { - "size": "17", - "text": "Mitigation Strategies" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "208", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "208", - "y": "0", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3562", - "typeID": "__group__", - "zOrder": "187", - "measuredW": "197", - "measuredH": "40", - "w": "197", - "h": "40", - "x": "912", - "y": "3251", - "properties": { - "controlName": "100-scalability:mitigation-strategies:graceful-degradation" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "197", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "166", - "measuredH": "25", - "x": "17", - "y": "7", - "properties": { - "size": "17", - "text": "Graceful Degradation" - } - } - ] - } - } - }, - { - "ID": "3563", - "typeID": "__group__", - "zOrder": "188", - "measuredW": "197", - "measuredH": "40", - "w": "197", - "h": "40", - "x": "912", - "y": "3295", - "properties": { - "controlName": "101-scalability:mitigation-strategies:throttling" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "197", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "73", - "measuredH": "25", - "x": "62", - "y": "7", - "properties": { - "size": "17", - "text": "Throttling" - } - } - ] - } - } - }, - { - "ID": "3564", - "typeID": "__group__", - "zOrder": "189", - "measuredW": "199", - "measuredH": "40", - "w": "199", - "h": "40", - "x": "912", - "y": "3339", - "properties": { - "controlName": "102-scalability:mitigation-strategies:backpressure" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "199", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "107", - "measuredH": "25", - "x": "46", - "y": "7", - "properties": { - "size": "17", - "text": "Backpressure" - } - } - ] - } - } - }, - { - "ID": "3565", - "typeID": "__group__", - "zOrder": "190", - "measuredW": "199", - "measuredH": "40", - "w": "199", - "h": "40", - "x": "912", - "y": "3383", - "properties": { - "controlName": "103-scalability:mitigation-strategies:loadshifting" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "199", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "94", - "measuredH": "25", - "x": "53", - "y": "7", - "properties": { - "size": "17", - "text": "Loadshifting" - } - } - ] - } - } - }, - { - "ID": "3566", - "typeID": "__group__", - "zOrder": "191", - "measuredW": "197", - "measuredH": "40", - "w": "197", - "h": "40", - "x": "912", - "y": "3427", - "properties": { - "controlName": "104-scalability:mitigation-strategies:circuit-breaker" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "197", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "116", - "measuredH": "25", - "x": "41", - "y": "7", - "properties": { - "size": "17", - "text": "Circuit Breaker" - } - } - ] - } - } - }, - { - "ID": "3567", - "typeID": "__group__", - "zOrder": "192", - "measuredW": "215", - "measuredH": "40", - "w": "215", - "h": "40", - "x": "692", - "y": "2458", - "properties": { - "controlName": "105-more-about-databases:failure-modes" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "206", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "110", - "measuredH": "25", - "x": "57", - "y": "7", - "properties": { - "size": "17", - "text": "Failure Modes" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3568", - "typeID": "__group__", - "zOrder": "193", - "measuredW": "215", - "measuredH": "40", - "w": "215", - "h": "40", - "x": "692", - "y": "2502", - "properties": { - "controlName": "106-more-about-databases:profiling-performance" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "206", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "166", - "measuredH": "25", - "x": "29", - "y": "7", - "properties": { - "size": "17", - "text": "Profiling Performance" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3569", - "typeID": "TextArea", - "zOrder": "194", - "w": "337", - "h": "124", - "measuredW": "200", - "measuredH": "140", - "x": "1153", - "y": "3703" - }, - { - "ID": "3570", - "typeID": "Label", - "zOrder": "195", - "measuredW": "285", - "measuredH": "25", - "x": "1174", - "y": "3723", - "properties": { - "size": "17", - "text": "Have a look at the DevOps Roadmap" - } - }, - { - "ID": "3571", - "typeID": "__group__", - "zOrder": "196", - "measuredW": "292", - "measuredH": "44", - "w": "292", - "h": "44", - "x": "1174", - "y": "3758", - "properties": { - "controlName": "ext_link:roadmap.sh/devops" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "292", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "141", - "measuredH": "25", - "x": "75", - "y": "9", - "properties": { - "size": "17", - "text": "DevOps Roadmap" - } - } - ] - } - } - }, - { - "ID": "3572", - "typeID": "__group__", - "zOrder": "197", - "measuredW": "148", - "measuredH": "44", - "w": "148", - "h": "44", - "x": "1681", - "y": "2007", - "properties": { - "controlName": "106-web-security-knowledge:server-security" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "148", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "117", - "measuredH": "25", - "x": "15", - "y": "10", - "properties": { - "size": "17", - "text": "Server Security" - } - } - ] - } - } - }, - { - "ID": "3573", - "typeID": "__group__", - "zOrder": "198", - "measuredW": "242", - "measuredH": "47", - "w": "242", - "h": "47", - "x": "1588", - "y": "2059", - "properties": { - "controlName": "ext_link:roadmap.sh/best-practices/api-security" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "242", - "h": "47", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "4273622", - "borderColor": "4273622" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "208", - "measuredH": "25", - "x": "17", - "y": "11", - "properties": { - "size": "17", - "color": "16777215", - "text": "API Security Best Practices" - } - } - ] - } - } - }, - { - "ID": "3574", - "typeID": "__group__", - "zOrder": "199", - "measuredW": "179", - "measuredH": "40", - "w": "179", - "h": "40", - "x": "995", - "y": "1749", - "properties": { - "controlName": "102-apis:authentication:basic-authentication" - }, - "children": { - "controls": { - "control": [ - { - "ID": "1", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Canvas", - "zOrder": "0", - "w": "169", - "h": "40", - "measuredW": "100", - "measuredH": "70", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "1", - "measuredW": "82", - "measuredH": "25", - "x": "54", - "y": "7", - "properties": { - "size": "17", - "text": "Basic Auth" - } - } - ] - } - } - }, - { - "ID": "3575", - "typeID": "__group__", - "zOrder": "200", - "measuredW": "179", - "measuredH": "40", - "w": "179", - "h": "40", - "x": "995", - "y": "1786", - "properties": { - "controlName": "103-apis:authentication:token-authentication" - }, - "children": { - "controls": { - "control": [ - { - "ID": "1", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Canvas", - "zOrder": "0", - "w": "169", - "h": "40", - "measuredW": "100", - "measuredH": "70", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "1", - "measuredW": "85", - "measuredH": "25", - "x": "52", - "y": "7", - "properties": { - "size": "17", - "text": "Token Auth" - } - } - ] - } - } - }, - { - "ID": "3576", - "typeID": "__group__", - "zOrder": "201", - "measuredW": "179", - "measuredH": "40", - "w": "179", - "h": "40", - "x": "995", - "y": "1823", - "properties": { - "controlName": "101-apis:authentication:oauth" - }, - "children": { - "controls": { - "control": [ - { - "ID": "1", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Canvas", - "zOrder": "0", - "w": "169", - "h": "40", - "measuredW": "100", - "measuredH": "70", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "1", - "measuredW": "47", - "measuredH": "25", - "x": "71", - "y": "7", - "properties": { - "size": "17", - "text": "OAuth" - } - } - ] - } - } - }, - { - "ID": "3577", - "typeID": "__group__", - "zOrder": "202", - "measuredW": "178", - "measuredH": "40", - "w": "178", - "h": "40", - "x": "996", - "y": "1860", - "properties": { - "controlName": "100-apis:authentication:cookie-based" - }, - "children": { - "controls": { - "control": [ - { - "ID": "3", - "typeID": "Canvas", - "zOrder": "0", - "w": "169", - "h": "40", - "measuredW": "100", - "measuredH": "70", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "1", - "measuredW": "108", - "measuredH": "25", - "x": "40", - "y": "7", - "properties": { - "size": "17", - "text": "Cookie Based" - } - }, - { - "ID": "5", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "6", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - }, - { - "ID": "3578", - "typeID": "__group__", - "zOrder": "203", - "measuredW": "179", - "measuredH": "40", - "w": "179", - "h": "40", - "x": "995", - "y": "1897", - "properties": { - "controlName": "105-apis:authentication:openid" - }, - "children": { - "controls": { - "control": [ - { - "ID": "3", - "typeID": "Canvas", - "zOrder": "0", - "w": "169", - "h": "40", - "measuredW": "100", - "measuredH": "70", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "1", - "measuredW": "61", - "measuredH": "25", - "x": "64", - "y": "7", - "properties": { - "size": "17", - "text": "OpenID" - } - }, - { - "ID": "7", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "8", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3579", - "typeID": "__group__", - "zOrder": "204", - "measuredW": "179", - "measuredH": "40", - "w": "179", - "h": "40", - "x": "995", - "y": "1933", - "properties": { - "controlName": "105-apis:authentication:saml" - }, - "children": { - "controls": { - "control": [ - { - "ID": "3", - "typeID": "Canvas", - "zOrder": "0", - "w": "169", - "h": "40", - "measuredW": "100", - "measuredH": "70", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "1", - "measuredW": "46", - "measuredH": "25", - "x": "72", - "y": "7", - "properties": { - "size": "17", - "text": "SAML" - } - }, - { - "ID": "7", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "8", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3580", - "typeID": "Arrow", - "zOrder": "205", - "w": "1", - "h": "211", - "measuredW": "150", - "measuredH": "100", - "x": "1411", - "y": "1821", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.47345427259831363, - "y": -0.00011162392477927808 - }, - "p2": { - "x": 0, - "y": 210.88680138292193 - } - } - }, - { - "ID": "3581", - "typeID": "__group__", - "zOrder": "206", - "measuredW": "195", - "measuredH": "50", - "w": "195", - "h": "50", - "x": "1313", - "y": "2028", - "properties": { - "controlName": "112-testing" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "195", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "56", - "measuredH": "25", - "x": "70", - "y": "13", - "properties": { - "text": "Testing", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3582", - "typeID": "__group__", - "zOrder": "207", - "measuredW": "223", - "measuredH": "40", - "w": "223", - "h": "40", - "x": "1298", - "y": "2113", - "properties": { - "controlName": "100-testing:integration-testing" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "212", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "150", - "measuredW": "144", - "measuredH": "25", - "x": "31", - "y": "7", - "properties": { - "size": "17", - "text": "Integration Testing" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "199", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "199", - "y": "7", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3583", - "typeID": "__group__", - "zOrder": "208", - "measuredW": "224", - "measuredH": "37", - "w": "224", - "h": "37", - "x": "1296", - "y": "2156", - "properties": { - "controlName": "101-testing:unit-testing" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "214", - "h": "37", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "99", - "measuredW": "91", - "measuredH": "25", - "x": "47", - "y": "6", - "properties": { - "size": "17", - "text": "Unit Testing" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "200", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "200", - "y": "7", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3584", - "typeID": "__group__", - "zOrder": "209", - "measuredW": "225", - "measuredH": "37", - "w": "225", - "h": "37", - "x": "1296", - "y": "2195", - "properties": { - "controlName": "102-testing:functional-testing" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "214", - "h": "37", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "151", - "measuredW": "140", - "measuredH": "25", - "x": "29", - "y": "6", - "properties": { - "size": "17", - "text": "Functional Testing" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "201", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "201", - "y": "7", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3585", - "typeID": "__group__", - "zOrder": "210", - "measuredW": "218", - "measuredH": "40", - "w": "218", - "h": "40", - "x": "690", - "y": "1872", - "properties": { - "controlName": "101-scaling-databases:data-replication" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "208", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "129", - "measuredW": "128", - "measuredH": "25", - "x": "49", - "y": "7", - "properties": { - "size": "17", - "text": "Data Replication" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3586", - "typeID": "__group__", - "zOrder": "211", - "measuredW": "215", - "measuredH": "40", - "w": "215", - "h": "40", - "x": "692", - "y": "1915", - "properties": { - "controlName": "102-scaling-databases:sharding-strategies" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "208", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "7", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "155", - "measuredW": "151", - "measuredH": "25", - "x": "33", - "y": "7", - "properties": { - "size": "17", - "text": "Sharding Strategies" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3587", - "typeID": "__group__", - "zOrder": "212", - "measuredW": "216", - "measuredH": "40", - "w": "216", - "h": "40", - "x": "692", - "y": "1958", - "properties": { - "controlName": "103-scaling-databases:cap-theorem" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "208", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "109", - "measuredW": "107", - "measuredH": "25", - "x": "57", - "y": "7", - "properties": { - "size": "17", - "text": "CAP Theorem" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3588", - "typeID": "__group__", - "zOrder": "213", - "measuredW": "200", - "measuredH": "50", - "w": "200", - "h": "50", - "x": "694", - "y": "3039", - "properties": { - "controlName": "121-web-sockets" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "95", - "measuredH": "25", - "x": "52", - "y": "12", - "properties": { - "text": "WebSockets", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "3589", - "typeID": "__group__", - "zOrder": "214", - "measuredW": "200", - "measuredH": "50", - "w": "200", - "h": "50", - "x": "694", - "y": "3085", - "properties": { - "controlName": "123-long-polling" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "94", - "measuredH": "25", - "x": "53", - "y": "12", - "properties": { - "size": "17", - "text": "Long Polling" - } - } - ] - } - } - }, - { - "ID": "3590", - "typeID": "__group__", - "zOrder": "215", - "measuredW": "200", - "measuredH": "50", - "w": "200", - "h": "50", - "x": "694", - "y": "3131", - "properties": { - "controlName": "124-short-polling" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "97", - "measuredH": "25", - "x": "51", - "y": "12", - "properties": { - "size": "17", - "text": "Short Polling" - } - } - ] - } - } - }, - { - "ID": "3591", - "typeID": "__group__", - "zOrder": "216", - "measuredW": "212", - "measuredH": "41", - "w": "212", - "h": "41", - "x": "691", - "y": "3240", - "properties": { - "controlName": "103-scalability:horizontal-vertical-scaling" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "212", - "h": "41", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "125", - "measuredH": "25", - "x": "43", - "y": "8", - "properties": { - "size": "17", - "text": "Types of Scaling" - } - } - ] - } - } - }, - { - "ID": "3592", - "typeID": "__group__", - "zOrder": "217", - "measuredW": "432", - "measuredH": "124", - "w": "432", - "h": "124", - "x": "690", - "y": "3511", - "properties": { - "controlName": "104-scalability:observability" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "432", - "h": "124", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "105", - "measuredH": "26", - "x": "18", - "y": "18", - "properties": { - "text": "Observability", - "size": "18" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "400", - "measuredH": "25", - "x": "18", - "y": "50", - "properties": { - "size": "17", - "text": "Metrics logging and other observable items that can" - } - }, - { - "ID": "3", - "typeID": "Label", - "zOrder": "3", - "measuredW": "283", - "measuredH": "25", - "x": "18", - "y": "79", - "properties": { - "size": "17", - "text": "help in debugging and solving issues" - } - } - ] - } - } - }, - { - "ID": "3593", - "typeID": "__group__", - "zOrder": "218", - "measuredW": "239", - "measuredH": "50", - "w": "239", - "h": "50", - "x": "1204", - "y": "3467", - "properties": { - "controlName": "ext_link:roadmap.sh/devops?r=devops-beginner" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "239", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "4273622", - "borderColor": "4273622" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "194", - "measuredH": "25", - "x": "23", - "y": "13", - "properties": { - "size": "17", - "color": "16777215", - "text": "Infrastructure Knowledge" - } - } - ] - } - } - }, - { - "ID": "3594", - "typeID": "Arrow", - "zOrder": "219", - "w": "3", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1868", - "y": "849", - "properties": { - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "color": "16777215", - "p0": { - "x": 0.14652915468354877, - "y": 0.452028801972574 - }, - "p1": { - "x": 0.47345427259831346, - "y": -0.00011162392477928299 - }, - "p2": { - "x": 2.7298768229543384, - "y": 0.452028801972574 - } - } - }, - { - "ID": "3595", - "typeID": "Arrow", - "zOrder": "220", - "w": "3", - "h": "3", - "measuredW": "150", - "measuredH": "100", - "x": "668", - "y": "902", - "properties": { - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "color": "16777215", - "p0": { - "x": 0.2658611453201729, - "y": 2.452028801972574 - }, - "p1": { - "x": 0.4734542725983134, - "y": -0.00011162392477936523 - }, - "p2": { - "x": 3.1065906667259924, - "y": -0.38870071943324547 - } - } - }, - { - "ID": "3596", - "typeID": "Arrow", - "zOrder": "221", - "w": "3", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1389", - "y": "663", - "properties": { - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "color": "16777215", - "p0": { - "x": 0.14652915468354877, - "y": 0.452028801972574 - }, - "p1": { - "x": 0.47345427259831346, - "y": -0.00011162392477928299 - }, - "p2": { - "x": 2.7298768229543384, - "y": 0.452028801972574 - } - } - }, - { - "ID": "3597", - "typeID": "__group__", - "zOrder": "222", - "measuredW": "410", - "measuredH": "47", - "w": "410", - "h": "47", - "x": "685", - "y": "851", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "__group__", - "zOrder": "0", - "measuredW": "410", - "measuredH": "47", - "w": "410", - "h": "47", - "x": "0", - "y": "0", - "properties": { - "controlName": "json:backend-beginner.json" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "410", - "h": "47", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "3355443", - "borderColor": "3355443" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "210", - "measuredH": "26", - "x": "100", - "y": "11", - "properties": { - "color": "16777215", - "size": "18", - "text": "Visit the Beginner Version" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "3598", - "typeID": "__group__", - "zOrder": "223", - "measuredW": "199", - "measuredH": "40", - "w": "199", - "h": "40", - "x": "688", - "y": "1371", - "properties": { - "controlName": "101-relational-databases:sqlite" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "191", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "53", - "measuredH": "25", - "x": "77", - "y": "7", - "properties": { - "size": "17", - "text": "SQLite" - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "7", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "3599", - "typeID": "Arrow", - "zOrder": "0", - "w": "104", - "h": "34", - "measuredW": "150", - "measuredH": "100", - "x": "877", - "y": "1299", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.4248098919385756, - "y": -0.10199481810713458 - }, - "p2": { - "x": 103.5, - "y": 33.5 - } - } + "nodes": [ + { + "id": "PbEblTb9tHmhrlJkUx0be", + "type": "section", + "position": { + "x": -187.98562047817694, + "y": 2208.0438809318207 + }, + "selected": false, + "data": { + "label": "", + "style": { + "width": 150, + "height": 100, + "fontSize": 17, + "backgroundColor": "#ffffff", + "borderColor": "#000000" + }, + "oldId": "ZzSXqvUjwOJpx-xNFVqif" + }, + "zIndex": -999, + "width": 189, + "height": 172, + "style": { + "width": 189, + "height": 172 + }, + "positionAbsolute": { + "x": -187.98562047817694, + "y": 2208.0438809318207 + }, + "dragging": false, + "resizing": false, + "focusable": true + }, + { + "id": "ZzSXqvUjwOJpx-xNFVqif", + "type": "section", + "position": { + "x": 113.18643733008196, + "y": 2207.176514296587 + }, + "selected": false, + "data": { + "label": "", + "style": { + "width": 150, + "height": 100, + "fontSize": 17, + "backgroundColor": "#ffffff", + "borderColor": "#000000" + } + }, + "zIndex": -999, + "width": 189, + "height": 172, + "style": { + "width": 189, + "height": 172 + }, + "positionAbsolute": { + "x": 113.18643733008196, + "y": 2207.176514296587 + }, + "dragging": false, + "resizing": false, + "focusable": true + }, + { + "id": "UFd8PEg6IwJMXvuv8Ow1f", + "type": "section", + "position": { + "x": 61.5678836929921, + "y": 647.9126418589183 + }, + "selected": false, + "data": { + "label": "", + "style": { + "width": 150, + "height": 100, + "fontSize": 17, + "backgroundColor": "#ffffff", + "borderColor": "#000000" + } + }, + "zIndex": -999, + "width": 275, + "height": 338, + "style": { + "width": 275, + "height": 338 + }, + "positionAbsolute": { + "x": 61.5678836929921, + "y": 647.9126418589183 + }, + "dragging": false, + "resizing": false, + "focusable": true + }, + { + "id": "Ju00mr0KLGN2BV6yEQGPt", + "type": "vertical", + "position": { + "x": -169.47806963137555, + "y": 3510.572464537289 + }, + "selected": false, + "data": { + "label": "vertical node", + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#4136D4" + } + }, + "zIndex": 999, + "width": 20, + "height": 104, + "positionAbsolute": { + "x": -169.47806963137555, + "y": 3510.572464537289 + }, + "dragging": false, + "style": { + "width": 20, + "height": 104 + }, + "resizing": false, + "focusable": true + }, + { + "width": 413, + "height": 124, + "id": "sVXZrBCsiSzWBBYWTm-nQ", + "type": "paragraph", + "position": { + "x": -365.97806963137555, + "y": 3423.216439761934 + }, + "selected": false, + "data": { + "label": "Have a look at the following relevant tracks", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "borderColor": "#000000", + "backgroundColor": "#ffffff" + }, + "oldId": "0vLaVNJaJSHZ_bHli6Qzs" + }, + "zIndex": 999, + "positionAbsolute": { + "x": -365.97806963137555, + "y": 3423.216439761934 + }, + "dragging": false, + "style": { + "width": 413, + "height": 124 + }, + "resizing": false, + "focusable": true + }, + { + "id": "e6xZSxnBm7_Y4jUSKLohG", + "type": "vertical", + "position": { + "x": -266.321810236714, + "y": 2700.3118258070244 + }, + "selected": false, + "data": { + "label": "vertical node", + "style": { + "stroke": "#2B78E4", + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5 + }, + "oldId": "QLgfmplUdqBFt3CwWm0aS" + }, + "zIndex": 999, + "width": 20, + "height": 95, + "positionAbsolute": { + "x": -266.321810236714, + "y": 2700.3118258070244 + }, + "dragging": false, + "style": { + "width": 20, + "height": 95 + }, + "resizing": false, + "focusable": true + }, + { + "id": "QLgfmplUdqBFt3CwWm0aS", + "type": "vertical", + "position": { + "x": -394.05139617057876, + "y": 2580.952124569852 + }, + "selected": false, + "data": { + "label": "vertical node", + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2B78E4" + } + }, + "zIndex": 999, + "width": 20, + "height": 210, + "positionAbsolute": { + "x": -394.05139617057876, + "y": 2580.952124569852 + }, + "dragging": false, + "style": { + "width": 20, + "height": 210 + }, + "resizing": false, + "focusable": true + }, + { + "id": "Uanw68R-mnUaSkg8QIUrD", + "type": "horizontal", + "position": { + "x": -499.959639996006, + "y": 2680.3118258070244 + }, + "selected": false, + "data": { + "label": "horizontal node", + "style": { + "stroke": "#2B78E4", + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5 + } + }, + "zIndex": 999, + "width": 108, + "height": 20, + "positionAbsolute": { + "x": -499.959639996006, + "y": 2680.3118258070244 + }, + "dragging": false, + "style": { + "width": 108, + "height": 20 + }, + "resizing": false, + "focusable": true + }, + { + "width": 189, + "height": 49, + "id": "gKTSe9yQFVbPVlLzWB0hC", + "type": "topic", + "position": { + "x": -187.98562047817694, + "y": 2201.9516809090464 + }, + "selected": false, + "data": { + "label": "Search Engines", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "nJ5FpFgGCRaALcWmAKBKT" + }, + "style": { + "width": 189, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -187.98562047817694, + "y": 2201.9516809090464 + }, + "dragging": false, + "resizing": false + }, + { + "id": "EDxjW2iLKsMZWSu-HSRVV", + "type": "vertical", + "position": { + "x": -246.32181023671401, + "y": 2013.7179127650247 + }, + "selected": false, + "data": { + "label": "vertical node", + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2B78E4" + }, + "oldId": "mv5HPurPKr8UO-2DirsQh" + }, + "zIndex": 999, + "width": 20, + "height": 93, + "positionAbsolute": { + "x": -246.32181023671401, + "y": 2013.7179127650247 + }, + "dragging": false, + "style": { + "width": 20, + "height": 93 + }, + "resizing": false, + "focusable": true + }, + { + "width": 320, + "height": 49, + "id": "9Fpoor-Os_9lvrwu5Zjh-", + "type": "topic", + "position": { + "x": -289.58230823147517, + "y": 1786.076741490472 + }, + "selected": false, + "data": { + "label": "Design and Development Principles", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "pcrqm3BuBvkpiv5KOgmHH" + }, + "style": { + "width": 320, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -289.58230823147517, + "y": 1786.076741490472 + }, + "dragging": false, + "resizing": false + }, + { + "id": "mv5HPurPKr8UO-2DirsQh", + "type": "vertical", + "position": { + "x": -229.37943926509024, + "y": 660.9941785421215 + }, + "selected": false, + "data": { + "label": "vertical node", + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2B78E4" + } + }, + "zIndex": 999, + "width": 20, + "height": 93, + "positionAbsolute": { + "x": -229.37943926509024, + "y": 660.9941785421215 + }, + "dragging": false, + "style": { + "width": 20, + "height": 93 + }, + "resizing": false, + "focusable": true + }, + { + "width": 231, + "height": 49, + "id": "EwvLPSI6AlZ4TnNIJTZA4", + "type": "topic", + "position": { + "x": -258.87943926509024, + "y": 740.4861514388111 + }, + "selected": false, + "data": { + "label": "Learn about APIs", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "iGeAiNtqNadlJVDmd-p-g" + }, + "style": { + "width": 231, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -258.87943926509024, + "y": 740.4861514388111 + }, + "dragging": false, + "resizing": false + }, + { + "width": 300, + "height": 238, + "id": "4_q73_Fz02yj45i7NcRlA", + "type": "section", + "position": { + "x": -681.195645380282, + "y": 1259.6699426703588 + }, + "selected": false, + "data": { + "label": "", + "style": { + "width": 150, + "height": 100, + "fontSize": 17 + } + }, + "zIndex": -999, + "style": { + "width": 300, + "height": 238 + }, + "dragging": false, + "positionAbsolute": { + "x": -681.195645380282, + "y": 1259.6699426703588 + }, + "focusable": true, + "resizing": false + }, + { + "width": 152, + "height": 68, + "id": "iogwMmOvub2ZF4zgg6WyF", + "type": "title", + "position": { + "x": -270.08230823147517, + "y": -119.42445334555111 + }, + "selected": false, + "data": { + "label": "Backend", + "style": { + "fontSize": 28, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "9nxw2PEl-_eQPW0FHNPq2" + }, + "zIndex": 999, + "dragging": false, + "positionAbsolute": { + "x": -270.08230823147517, + "y": -119.42445334555111 + }, + "focusable": true + }, + { + "width": 127, + "height": 49, + "id": "SiYUdtYMDImRPmV2_XPkH", + "type": "topic", + "position": { + "x": -257.97839322321585, + "y": 37.70730350215206 + }, + "selected": false, + "data": { + "label": "Internet", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "NVSQ4OtmvRp7p4cOEvKh7" + }, + "zIndex": 999, + "style": { + "width": 127, + "height": 49 + }, + "resizing": false, + "positionAbsolute": { + "x": -257.97839322321585, + "y": 37.70730350215206 + }, + "dragging": false, + "focusable": true + }, + { + "width": 100, + "height": 49, + "id": "CWwh2abwqx4hAxpAGvhIx", + "type": "subtopic", + "position": { + "x": -590.8814218617622, + "y": 164.70730350215206 + }, + "selected": false, + "data": { + "label": "Rust", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "7qaMNu3lSvTNh7uKo5SVa", + "legend": { + "id": "DMx7rAjVBWMbzjSde-tvp", + "label": "Alternative Option / Pick this or purple", + "color": "#4f7a28", + "position": "right-center" + } + }, + "style": { + "width": 100, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -590.8814218617622, + "y": 164.70730350215206 + }, + "dragging": false, + "resizing": false + }, + { + "width": 119, + "height": 49, + "id": "l9Wrq_Ad9-Ju4NIB0m5Ha", + "type": "subtopic", + "position": { + "x": -713.7648770815467, + "y": 164.70730350215206 + }, + "selected": false, + "data": { + "label": "PHP", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "uVNbFu2GDndpQFLkfGTKp", + "legend": { + "id": "DMx7rAjVBWMbzjSde-tvp", + "label": "Alternative Option / Pick this or purple", + "color": "#4f7a28", + "position": "left-center" + } + }, + "style": { + "width": 119, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -713.7648770815467, + "y": 164.70730350215206 + }, + "dragging": false + }, + { + "width": 100, + "height": 49, + "id": "BdXbcz4-ar3XOX0wIKzBp", + "type": "subtopic", + "position": { + "x": -590.8814218617622, + "y": 5.707303502152058 + }, + "selected": false, + "data": { + "label": "Go", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "Of5xsnf0QtksCDnCCHKIv", + "legend": { + "id": "NJhQIvMyMD1Cu-JA1UCmJ", + "color": "#874efe", + "label": "Personal Recommendation / Opinion", + "position": "right-center" + } + }, + "style": { + "width": 100, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -590.8814218617622, + "y": 5.707303502152058 + }, + "dragging": false, + "resizing": false + }, + { + "width": 119, + "height": 49, + "id": "8-lO-v6jCYYoklEJXULxN", + "type": "subtopic", + "position": { + "x": -713.8814218617622, + "y": 5.707303502152058 + }, + "selected": false, + "data": { + "label": "JavaScript", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "CyQ_GODtWgrz6Uikts5bJ", + "legend": { + "id": "NJhQIvMyMD1Cu-JA1UCmJ", + "color": "#874efe", + "label": "Personal Recommendation / Opinion", + "position": "left-center" + } + }, + "style": { + "width": 119, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -713.8814218617622, + "y": 5.707303502152058 + }, + "dragging": false, + "resizing": false + }, + { + "width": 119, + "height": 49, + "id": "ANeSwxJDJyQ-49pO2-CCI", + "type": "subtopic", + "position": { + "x": -713.7648770815467, + "y": 111.70730350215206 + }, + "selected": false, + "data": { + "label": "Java", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "5HsVY274YCvC6DqqHlSDD", + "legend": { + "id": "DMx7rAjVBWMbzjSde-tvp", + "label": "Alternative Option / Pick this or purple", + "color": "#4f7a28", + "position": "left-center" + } + }, + "style": { + "width": 119, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -713.7648770815467, + "y": 111.70730350215206 + }, + "dragging": false + }, + { + "width": 119, + "height": 49, + "id": "J_sVHsD72Yzyqb9KCIvAY", + "type": "subtopic", + "position": { + "x": -713.8814218617622, + "y": 58.70730350215206 + }, + "selected": false, + "data": { + "label": "Python", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "FIPHmInvgJg9e8KqDAh2g", + "legend": { + "id": "DMx7rAjVBWMbzjSde-tvp", + "label": "Alternative Option / Pick this or purple", + "color": "#4f7a28", + "position": "left-center" + } + }, + "style": { + "width": 119, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -713.8814218617622, + "y": 58.70730350215206 + }, + "dragging": false, + "resizing": false + }, + { + "width": 100, + "height": 49, + "id": "rImbMHLLfJwjf3l25vBkc", + "type": "subtopic", + "position": { + "x": -590.8814218617622, + "y": 111.70730350215206 + }, + "selected": false, + "data": { + "label": "C#", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "f9zIA51FbZ4ppqkpWFXzX", + "legend": { + "id": "DMx7rAjVBWMbzjSde-tvp", + "label": "Alternative Option / Pick this or purple", + "color": "#4f7a28", + "position": "right-center" + } + }, + "style": { + "width": 100, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -590.8814218617622, + "y": 111.70730350215206 + }, + "dragging": false, + "resizing": false + }, + { + "width": 100, + "height": 49, + "id": "SlH0Rl07yURDko2nDPfFy", + "type": "subtopic", + "position": { + "x": -590.8814218617622, + "y": 58.70730350215206 + }, + "selected": false, + "data": { + "label": "Ruby", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "lEik_KnhW02L7xDMcutDa", + "legend": { + "id": "DMx7rAjVBWMbzjSde-tvp", + "label": "Alternative Option / Pick this or purple", + "color": "#4f7a28", + "position": "right-center" } - ] - }, - "attributes": { - "name": "New Wireframe 1 copy 8", - "order": 1000000.6428282561, - "parentID": null, - "notes": "" - }, - "branchID": "Master", - "resourceID": "960B5EDB-5533-4531-9B7D-06B4366EBEAE", - "mockupH": "3227", - "mockupW": "1203", - "measuredW": "1871", - "measuredH": "3890", - "version": "1.0" - }, - "groupOffset": { - "x": 0, - "y": 0 - }, - "dependencies": [], - "projectID": "file:///Users/kamrify/Desktop/New%20Roadmaps/Android%20Roadmap.bmpr" + }, + "style": { + "width": 100, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -590.8814218617622, + "y": 58.70730350215206 + }, + "dragging": false, + "resizing": false + }, + { + "width": 176, + "height": 50, + "id": "2f0ZO6GJElfZ2Eis28Hzg", + "type": "topic", + "position": { + "x": -445.22698541870875, + "y": 164.20730350215206 + }, + "selected": false, + "data": { + "label": "Pick a Language", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "uGqgITLdZbxJdGUihNqxV" + }, + "style": { + "width": 176, + "height": 50 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -445.22698541870875, + "y": 164.20730350215206 + }, + "dragging": false, + "resizing": false + }, + { + "width": 100, + "height": 49, + "id": "_I1E__wCIVrhjMk6IMieE", + "type": "subtopic", + "position": { + "x": -204.58230823147517, + "y": 218.70730350215206 + }, + "selected": false, + "data": { + "label": "Git", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "eyP1K2ve-C0gDYt6Hdgw0" + }, + "style": { + "width": 100, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -204.58230823147517, + "y": 218.70730350215206 + }, + "dragging": false, + "resizing": false + }, + { + "width": 231, + "height": 49, + "id": "ezdqQW9wTUw93F6kjOzku", + "type": "topic", + "position": { + "x": -270.08230823147517, + "y": 307.6876382503563 + }, + "selected": false, + "data": { + "label": "Version Control Systems", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "f2sY4RLE0k8vVAfZFnxgj" + }, + "style": { + "width": 231, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -270.08230823147517, + "y": 307.6876382503563 + }, + "dragging": false + }, + { + "width": 130, + "height": 49, + "id": "ptD8EVqwFUYr4W5A_tABY", + "type": "subtopic", + "position": { + "x": -664.8591391487768, + "y": 503.9601900569286 + }, + "selected": false, + "data": { + "label": "Github", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "eCkVAP0s0GKyY88M2fBDS" + }, + "style": { + "width": 130, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -664.8591391487768, + "y": 503.9601900569286 + }, + "dragging": false + }, + { + "width": 130, + "height": 49, + "id": "Ry_5Y-BK7HrkIc6X0JG1m", + "type": "subtopic", + "position": { + "x": -664.8591391487768, + "y": 321.2181341005084 + }, + "selected": false, + "data": { + "label": "Bitbucket", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "e4KQQInL16_RB4JdObH0I" + }, + "style": { + "width": 130, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -664.8591391487768, + "y": 321.2181341005084 + }, + "dragging": false + }, + { + "width": 130, + "height": 49, + "id": "Wcp-VDdFHipwa7hNAp1z_", + "type": "subtopic", + "position": { + "x": -664.8591391487768, + "y": 267.6434516293295 + }, + "selected": false, + "data": { + "label": "GitLab", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "yqA_KjfiUMC8BUu4IK9cy" + }, + "style": { + "width": 130, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -664.8591391487768, + "y": 267.6434516293295 + }, + "dragging": false + }, + { + "width": 223, + "height": 49, + "id": "NvUcSDWBhzJZ31nzT4UlE", + "type": "topic", + "position": { + "x": -711.3591391487768, + "y": 409.93150039307886 + }, + "selected": false, + "data": { + "label": "Repo hosting services", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "I-NkKNiKBNB6f8QaFzRgU" + }, + "style": { + "width": 223, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -711.3591391487768, + "y": 409.93150039307886 + }, + "dragging": false, + "resizing": false + }, + { + "width": 132, + "height": 49, + "id": "FihTrMO56kj9jT8O_pO2T", + "type": "subtopic", + "position": { + "x": -210.58230823147517, + "y": 409.10143585693174 + }, + "selected": false, + "data": { + "label": "PostgreSQL", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "lNsaFZwGE7vA0Km-Jfft4" + }, + "style": { + "width": 132, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -210.58230823147517, + "y": 409.10143585693174 + }, + "dragging": false, + "resizing": false + }, + { + "width": 175, + "height": 49, + "id": "dEsTje8kfHwWjCI3zcgLC", + "type": "subtopic", + "position": { + "x": 132.7143470412414, + "y": 443.10143585693174 + }, + "selected": false, + "data": { + "label": "MS SQL", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "ulpADspLetx1g61PqMGU8" + }, + "style": { + "width": 175, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 132.7143470412414, + "y": 443.10143585693174 + }, + "dragging": false + }, + { + "width": 175, + "height": 49, + "id": "VPxOdjJtKAqmM5V0LR5OC", + "type": "subtopic", + "position": { + "x": 132.7143470412414, + "y": 335.10143585693174 + }, + "selected": false, + "data": { + "label": "MySQL", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "3z18KztSA_4OY7zwxpFbB" + }, + "style": { + "width": 175, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 132.7143470412414, + "y": 335.10143585693174 + }, + "dragging": false + }, + { + "width": 175, + "height": 49, + "id": "h1SAjQltHtztSt8QmRgab", + "type": "subtopic", + "position": { + "x": 132.7143470412414, + "y": 497.10143585693174 + }, + "selected": false, + "data": { + "label": "Oracle", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "bwQCmYPLWxGuE-GFmm3UG" + }, + "style": { + "width": 175, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 132.7143470412414, + "y": 497.10143585693174 + }, + "dragging": false + }, + { + "width": 175, + "height": 49, + "id": "tD3i-8gBpMKCHB-ITyDiU", + "type": "subtopic", + "position": { + "x": 132.7143470412414, + "y": 389.10143585693174 + }, + "selected": false, + "data": { + "label": "MariaDB", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "YXyxPWu91_gMdNwFdTfRO" + }, + "style": { + "width": 175, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 132.7143470412414, + "y": 389.10143585693174 + }, + "dragging": false + }, + { + "width": 231, + "height": 50, + "id": "r45b461NxLN6wBODJ5CNP", + "type": "topic", + "position": { + "x": -260.08230823147517, + "y": 499.10143585693174 + }, + "selected": false, + "data": { + "label": "Relational Databases", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "sJ04XNIM7JqzHnffWd5UM" + }, + "style": { + "width": 231, + "height": 50 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -260.08230823147517, + "y": 499.10143585693174 + }, + "dragging": false, + "resizing": false + }, + { + "width": 188, + "height": 49, + "id": "F8frGuv1dunOdcVJ_IiGs", + "type": "topic", + "position": { + "x": -410.4187098500313, + "y": 2665.8118258070244 + }, + "selected": false, + "data": { + "label": "NoSQL Databases", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "CNTHlHWUKgX1iafCRmV9s" + }, + "style": { + "width": 188, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -410.4187098500313, + "y": 2665.8118258070244 + }, + "dragging": false, + "resizing": false + }, + { + "width": 161, + "height": 49, + "id": "Z7jp_Juj5PffSxV7UZcBb", + "type": "subtopic", + "position": { + "x": 141.1821043313223, + "y": 1234.4323026615211 + }, + "selected": false, + "data": { + "label": "ORMs", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "FHrVrP-ndnV8MsDKMxdsq" + }, + "style": { + "width": 161, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 141.1821043313223, + "y": 1234.4323026615211 + }, + "dragging": false + }, + { + "width": 161, + "height": 49, + "id": "Ge2SnKBrQQrU-oGLz6TmT", + "type": "subtopic", + "position": { + "x": 141.1821043313223, + "y": 1450.4323026615211 + }, + "selected": false, + "data": { + "label": "Normalization", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "50VkyrePI7pvgEyrWB1xN" + }, + "style": { + "width": 161, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 141.1821043313223, + "y": 1450.4323026615211 + }, + "dragging": false + }, + { + "width": 161, + "height": 49, + "id": "qSAdfaGUfn8mtmDjHJi3z", + "type": "subtopic", + "position": { + "x": 141.1821043313223, + "y": 1288.4323026615211 + }, + "selected": false, + "data": { + "label": "ACID", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "4aBoOyTn1ALDRHYcfwzHf" + }, + "style": { + "width": 161, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 141.1821043313223, + "y": 1288.4323026615211 + }, + "dragging": false + }, + { + "width": 161, + "height": 49, + "id": "GwApfL4Yx-b5Y8dB9Vy__", + "type": "subtopic", + "position": { + "x": 141.1821043313223, + "y": 1504.4323026615211 + }, + "selected": false, + "data": { + "label": "Failure Modes", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "--uLs-qyQYLn1WDir6KVt" + }, + "style": { + "width": 161, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 141.1821043313223, + "y": 1504.4323026615211 + }, + "dragging": false + }, + { + "width": 161, + "height": 49, + "id": "rq_y_OBMD9AH_4aoecvAi", + "type": "subtopic", + "position": { + "x": 141.1821043313223, + "y": 1342.4323026615211 + }, + "selected": false, + "data": { + "label": "Transactions", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "plXELtRHevUzYUL3doQSs" + }, + "style": { + "width": 161, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 141.1821043313223, + "y": 1342.4323026615211 + }, + "dragging": false + }, + { + "width": 161, + "height": 49, + "id": "SYXJhanu0lFmGj2m2XXhS", + "type": "subtopic", + "position": { + "x": 141.1821043313223, + "y": 1558.4323026615211 + }, + "selected": false, + "data": { + "label": "Profiling Perfor.", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "rFgQmfporOARKXsmzAy64" + }, + "style": { + "width": 161, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 141.1821043313223, + "y": 1558.4323026615211 + }, + "dragging": false, + "resizing": false + }, + { + "width": 161, + "height": 49, + "id": "bQnOAu863hsHdyNMNyJop", + "type": "subtopic", + "position": { + "x": 141.1821043313223, + "y": 1396.4323026615211 + }, + "selected": false, + "data": { + "label": "N+1 Problem", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "5pdTq6LCx8VXjd0-J1a1s" + }, + "style": { + "width": 161, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 141.1821043313223, + "y": 1396.4323026615211 + }, + "dragging": false + }, + { + "width": 220, + "height": 49, + "id": "LJt27onEOeIBomiEMTyKd", + "type": "topic", + "position": { + "x": -213.58230823147517, + "y": 1371.1269544903398 + }, + "selected": false, + "data": { + "label": "More about Databases", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "pNTfCAoFYG6YwBm5EOCvw" + }, + "style": { + "width": 220.4765625 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -213.58230823147517, + "y": 1371.1269544903398 + }, + "dragging": false + }, + { + "width": 197, + "height": 49, + "id": "y-xkHFE9YzhNIX3EiWspL", + "type": "subtopic", + "position": { + "x": -681.7068261234407, + "y": 1540.7987488082963 + }, + "selected": false, + "data": { + "label": "Database Indexes", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "S9MgYBsbsQ47S7J0Qg8wi" + }, + "style": { + "width": 197, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -681.7068261234407, + "y": 1540.7987488082963 + }, + "dragging": false + }, + { + "width": 197, + "height": 49, + "id": "zWstl08R4uzqve4BdYurp", + "type": "subtopic", + "position": { + "x": -681.7068261234407, + "y": 1648.7987488082963 + }, + "selected": false, + "data": { + "label": "Sharding Strategies", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "5dMoHdwlIIT8o3SE4JIJA" + }, + "style": { + "width": 197, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -681.7068261234407, + "y": 1648.7987488082963 + }, + "dragging": false, + "resizing": false + }, + { + "width": 197, + "height": 49, + "id": "wrl7HHWXOaxoKVlNZxZ6d", + "type": "subtopic", + "position": { + "x": -681.7068261234407, + "y": 1594.7987488082963 + }, + "selected": false, + "data": { + "label": "Data Replication", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "x4ws8SdWuAI2aH_kDauT0" + }, + "style": { + "width": 197, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -681.7068261234407, + "y": 1594.7987488082963 + }, + "dragging": false + }, + { + "width": 197, + "height": 49, + "id": "LAdKDJ4LcMaDWqslMvE8X", + "type": "subtopic", + "position": { + "x": -681.7068261234407, + "y": 1702.7987488082963 + }, + "selected": false, + "data": { + "label": "CAP Theorem", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "w_wOm7K0vM0mdW1aoNkoS" + }, + "style": { + "width": 197, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -681.7068261234407, + "y": 1702.7987488082963 + }, + "dragging": false + }, + { + "width": 188, + "height": 49, + "id": "95d9itpUZ4s9roZN8kG9x", + "type": "topic", + "position": { + "x": -378.55147002599665, + "y": 1540.657540804727 + }, + "selected": false, + "data": { + "label": "Scaling Databases", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "h2QJvs2kJjVUTPe0u7lbI" + }, + "style": { + "width": 188.265625 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -378.55147002599665, + "y": 1540.657540804727 + }, + "dragging": false + }, + { + "width": 177, + "height": 49, + "id": "dLY0KafPstajCcSbslC4M", + "type": "subtopic", + "position": { + "x": -368.73723374307156, + "y": 590.8575659590066 + }, + "selected": false, + "data": { + "label": "HATEOAS", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "jg0GK9Vk3j4ASFJAYTCg9" + }, + "style": { + "width": 177, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -368.73723374307156, + "y": 590.8575659590066 + }, + "dragging": false, + "resizing": false + }, + { + "width": 206, + "height": 49, + "id": "sNceS4MpSIjRkWhNDmrFg", + "type": "subtopic", + "position": { + "x": -246.321810236714, + "y": 873.9941785421215 + }, + "selected": false, + "data": { + "label": "JSON APIs", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "eZd-7w3ka8BhaAx8kGTgi" + }, + "style": { + "width": 206, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -246.321810236714, + "y": 873.9941785421215 + }, + "dragging": false + }, + { + "width": 177, + "height": 49, + "id": "9cD5ag1L0GqHx4_zxc5JX", + "type": "subtopic", + "position": { + "x": -368.73723374307156, + "y": 643.2866760912823 + }, + "selected": false, + "data": { + "label": "Open API Specs", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "DUfNRRq7b-9qrmi3Jl9cg" + }, + "style": { + "width": 177, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -368.73723374307156, + "y": 643.2866760912823 + }, + "dragging": false, + "resizing": false + }, + { + "width": 100, + "height": 49, + "id": "sSNf93azjuyMzQqIHE0Rh", + "type": "subtopic", + "position": { + "x": -246.321810236714, + "y": 926.9941785421215 + }, + "selected": false, + "data": { + "label": "SOAP", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "WcI3SBJRcNaE188PNbOVu" + }, + "style": { + "width": 100, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -246.321810236714, + "y": 926.9941785421215 + }, + "dragging": false, + "resizing": false + }, + { + "width": 103, + "height": 49, + "id": "J-TOE2lT4At1mSdNoxPS1", + "type": "subtopic", + "position": { + "x": -142.91071247617333, + "y": 926.9941785421215 + }, + "selected": false, + "data": { + "label": "gRPC", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "QWSfT7edQOzSqxErGjzEW" + }, + "style": { + "width": 103, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -142.91071247617333, + "y": 926.9941785421215 + }, + "dragging": false, + "resizing": false + }, + { + "width": 206, + "height": 49, + "id": "lfNFDZZNdrB0lbEaMtU71", + "type": "subtopic", + "position": { + "x": -246.321810236714, + "y": 820.9941785421215 + }, + "selected": false, + "data": { + "label": "REST", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "gVsbyjVssRCpAf6r-tF0O" + }, + "style": { + "width": 206, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -246.321810236714, + "y": 820.9941785421215 + }, + "dragging": false + }, + { + "width": 206, + "height": 49, + "id": "zp3bq38tMnutT2N0tktOW", + "type": "subtopic", + "position": { + "x": -246.321810236714, + "y": 980.9941785421215 + }, + "selected": false, + "data": { + "label": "GraphQL", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "SuTsL6Hx2f9mGGkuz6qzR" + }, + "style": { + "width": 206, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -246.321810236714, + "y": 980.9941785421215 + }, + "dragging": false, + "resizing": false + }, + { + "width": 138, + "height": 49, + "id": "KWTbEVX_WxS8jmSaAX3Fe", + "type": "subtopic", + "position": { + "x": -687.6226089739991, + "y": 850.8922314174025 + }, + "selected": false, + "data": { + "label": "Client Side", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "VCs8QGDemoQSkB36h9PJK" + }, + "style": { + "width": 138, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -687.6226089739991, + "y": 850.8922314174025 + }, + "dragging": false, + "resizing": false + }, + { + "width": 137, + "height": 49, + "id": "Nq2BO53bHJdFT1rGZPjYx", + "type": "subtopic", + "position": { + "x": -687.1226089739991, + "y": 794.4861514388111 + }, + "selected": false, + "data": { + "label": "CDN", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "bIXcS6GrLumi6encivC_r" + }, + "style": { + "width": 137, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -687.1226089739991, + "y": 794.4861514388111 + }, + "dragging": false, + "resizing": false + }, + { + "width": 138, + "height": 49, + "id": "z1-eP4sV75GBEIdM4NvL9", + "type": "subtopic", + "position": { + "x": -687.6226089739991, + "y": 740.4861514388111 + }, + "selected": false, + "data": { + "label": "Server Side", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "xPvVwGQw28uMeLYIWn8yn" + }, + "style": { + "width": 138, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -687.6226089739991, + "y": 740.4861514388111 + }, + "dragging": false, + "resizing": false + }, + { + "width": 109, + "height": 49, + "id": "ELj8af7Mi38kUbaPJfCUR", + "type": "topic", + "position": { + "x": -441.5743778219993, + "y": 740.4861514388111 + }, + "selected": false, + "data": { + "label": "Caching", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "T632e8R4J001IajMm9yp7" + }, + "style": { + "width": 108.53125 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -441.5743778219993, + "y": 740.4861514388111 + }, + "dragging": false + }, + { + "width": 146, + "height": 49, + "id": "RBrIP5KbVQ2F0ly7kMfTo", + "type": "topic", + "position": { + "x": -460.0743778219993, + "y": 1071.3669598992026 + }, + "selected": false, + "data": { + "label": "Web Security", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "Mu-HTzcpluvHTcfv0-nMw" + }, + "style": {}, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -460.0743778219993, + "y": 1071.3669598992026 + }, + "dragging": false, + "resizing": false + }, + { + "width": 190, + "height": 49, + "id": "381Kw1IMRv7CJp-Uf--qd", + "type": "subtopic", + "position": { + "x": 53.00948964805815, + "y": 1017.4900452642225 + }, + "selected": false, + "data": { + "label": "Integration Testing", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "U7mP1unVOQgVXCCuXh8De" + }, + "style": { + "width": 190, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 53.00948964805815, + "y": 1017.4900452642225 + }, + "dragging": false, + "resizing": false + }, + { + "width": 193, + "height": 49, + "id": "NAGisfq2CgeK3SsuRjnMw", + "type": "subtopic", + "position": { + "x": 53.00948964805815, + "y": 1125.4900452642225 + }, + "selected": false, + "data": { + "label": "Functional Testing", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "Lcb9mmKc5k2UofZ0_o6Rs" + }, + "style": { + "width": 193, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 53.00948964805815, + "y": 1125.4900452642225 + }, + "dragging": false, + "resizing": false + }, + { + "width": 193, + "height": 49, + "id": "3OYm6b9f6WOrKi4KTOZYK", + "type": "subtopic", + "position": { + "x": 53.00948964805815, + "y": 1071.4900452642225 + }, + "selected": false, + "data": { + "label": "Unit Testing", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "J_kRwf-neWCW5DjfBmybt" + }, + "style": { + "width": 193, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 53.00948964805815, + "y": 1071.4900452642225 + }, + "dragging": false, + "resizing": false + }, + { + "width": 151, + "height": 49, + "id": "STQQbPa7PE3gbjMdL6P-t", + "type": "topic", + "position": { + "x": -179.58230823147517, + "y": 1071.3669598992026 + }, + "selected": false, + "data": { + "label": "Testing", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "RFUPBl2Q9hBXP9HacPOo1" + }, + "style": { + "width": 151, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -179.58230823147517, + "y": 1071.3669598992026 + }, + "dragging": false + }, + { + "width": 151, + "height": 49, + "id": "mGfD7HfuP184lFkXZzGjG", + "type": "topic", + "position": { + "x": -179.08230823147517, + "y": 1210.6699426703588 + }, + "selected": false, + "data": { + "label": "CI / CD", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "ZbqxpSU_yVIqn18nTHi7o" + }, + "style": { + "width": 151, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -179.08230823147517, + "y": 1210.6699426703588 + }, + "dragging": false, + "resizing": false + }, + { + "width": 238, + "height": 42, + "id": "6XIWO0MoE-ySl4qh_ihXa", + "type": "subtopic", + "position": { + "x": -678.7285480195932, + "y": 1789.576741490472 + }, + "selected": false, + "data": { + "label": "GOD Design Patterns", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "SbNqTFqv0nGaEgFRPJTdF" + }, + "style": { + "width": 238, + "height": 42 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -678.7285480195932, + "y": 1789.576741490472 + }, + "dragging": false + }, + { + "width": 238, + "height": 42, + "id": "u8IRw5PuXGUcmxA0YYXgx", + "type": "subtopic", + "position": { + "x": -678.7285480195932, + "y": 1930.576741490472 + }, + "selected": false, + "data": { + "label": "CQRS", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "9f7ACjQRRLA7XKYnksZSf" + }, + "style": { + "width": 238, + "height": 42 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -678.7285480195932, + "y": 1930.576741490472 + }, + "dragging": false + }, + { + "width": 238, + "height": 42, + "id": "BvHi5obg0L1JDZFKBzx9t", + "type": "subtopic", + "position": { + "x": -678.7285480195932, + "y": 1836.576741490472 + }, + "selected": false, + "data": { + "label": "Domain Driven Design", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "qrAayg7BD7kxb7_L2SJah" + }, + "style": { + "width": 238, + "height": 42 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -678.7285480195932, + "y": 1836.576741490472 + }, + "dragging": false + }, + { + "width": 238, + "height": 42, + "id": "wqE-mkxvehOzOv8UyE39p", + "type": "subtopic", + "position": { + "x": -678.7285480195932, + "y": 1977.576741490472 + }, + "selected": false, + "data": { + "label": "Event Sourcing", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "O9Rikw8IeZBubICKMEWfh" + }, + "style": { + "width": 238, + "height": 42 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -678.7285480195932, + "y": 1977.576741490472 + }, + "dragging": false + }, + { + "width": 240, + "height": 42, + "id": "I-PUAE2AzbEaUkW9vMaUM", + "type": "subtopic", + "position": { + "x": -679.7285480195932, + "y": 1883.576741490472 + }, + "selected": false, + "data": { + "label": "Test Driven Development", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "2s5av-0dXEoxUdJDBkGAw" + }, + "style": { + "width": 240, + "height": 42 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -679.7285480195932, + "y": 1883.576741490472 + }, + "dragging": false + }, + { + "width": 215, + "height": 42, + "id": "Ke522R-4k6TDeiDRyZbbU", + "type": "subtopic", + "position": { + "x": 87.18210433132231, + "y": 1764.4322903961147 + }, + "selected": false, + "data": { + "label": "Monolithic Apps", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "eEjwT_0m1ClZ1Mzk3Tpe1" + }, + "style": { + "width": 215, + "height": 42 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 87.18210433132231, + "y": 1764.4322903961147 + }, + "dragging": false + }, + { + "width": 215, + "height": 42, + "id": "nkmIv3dNwre4yrULMgTh3", + "type": "subtopic", + "position": { + "x": 87.18210433132231, + "y": 1905.4322903961147 + }, + "selected": false, + "data": { + "label": "Serverless", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "hbD8zLd1zLo8cxe1Zzv_q" + }, + "style": { + "width": 215, + "height": 42 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 87.18210433132231, + "y": 1905.4322903961147 + }, + "dragging": false + }, + { + "width": 215, + "height": 42, + "id": "K55h3aqOGe6-hgVhiFisT", + "type": "subtopic", + "position": { + "x": 87.18210433132231, + "y": 1811.4322903961147 + }, + "selected": false, + "data": { + "label": "Microservices", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "3ihAuijCWt3qpmjhCvPAN" + }, + "style": { + "width": 215, + "height": 42 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 87.18210433132231, + "y": 1811.4322903961147 + }, + "dragging": false + }, + { + "width": 215, + "height": 42, + "id": "n14b7sfTOwsjKTpFC9EZ2", + "type": "subtopic", + "position": { + "x": 87.18210433132231, + "y": 1952.4322903961147 + }, + "selected": false, + "data": { + "label": "Service Mesh", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "qpFqX--0c3Ns3GcMTLwIV" + }, + "style": { + "width": 215, + "height": 42 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 87.18210433132231, + "y": 1952.4322903961147 + }, + "dragging": false + }, + { + "width": 215, + "height": 42, + "id": "tObmzWpjsJtK4GWhx6pwB", + "type": "subtopic", + "position": { + "x": 87.18210433132231, + "y": 1858.4322903961147 + }, + "selected": false, + "data": { + "label": "SOA", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "VN_aqqc0Ud08WEfGm0RD0" + }, + "style": { + "width": 215, + "height": 42 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 87.18210433132231, + "y": 1858.4322903961147 + }, + "dragging": false + }, + { + "width": 215, + "height": 42, + "id": "8DmabQJXlrT__COZrDVTV", + "type": "subtopic", + "position": { + "x": 87.18210433132231, + "y": 1999.4322903961147 + }, + "selected": false, + "data": { + "label": "Twelve Factor Apps", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "-Kl-yF0-CvcxFVftrIhc3" + }, + "style": { + "width": 215, + "height": 42 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 87.18210433132231, + "y": 1999.4322903961147 + }, + "dragging": false + }, + { + "width": 215, + "height": 49, + "id": "tHiUpG9LN35E5RaHddMv5", + "type": "topic", + "position": { + "x": 87.18210433132231, + "y": 1664.0927318659378 + }, + "selected": false, + "data": { + "label": "Architectural Patterns", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "vuQZVKbu31v9pPvUFO0PS" + }, + "style": { + "width": 215, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 87.18210433132231, + "y": 1664.0927318659378 + }, + "dragging": false, + "resizing": false + }, + { + "width": 156, + "height": 49, + "id": "GPFRMcY1DEtRgnaZwJ3vW", + "type": "subtopic", + "position": { + "x": 128.7546339304921, + "y": 2260.625724160596 + }, + "selected": false, + "data": { + "label": "RabbitMQ", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "nWqysC_xHODqEUf0bHiac" + }, + "style": { + "width": 156, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 128.7546339304921, + "y": 2260.625724160596 + }, + "dragging": false, + "resizing": false + }, + { + "width": 156, + "height": 49, + "id": "VoYSis1F1ZfTxMlQlXQKB", + "type": "subtopic", + "position": { + "x": 128.7546339304921, + "y": 2314.3657241605956 + }, + "selected": false, + "data": { + "label": "Kafka", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "jHzW3C8W4K0B-APmq20sQ" + }, + "style": { + "width": 156, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 128.7546339304921, + "y": 2314.3657241605956 + }, + "dragging": false, + "resizing": false + }, + { + "width": 189, + "height": 49, + "id": "nJ5FpFgGCRaALcWmAKBKT", + "type": "topic", + "position": { + "x": 113.18643733008196, + "y": 2201.0843142738127 + }, + "selected": false, + "data": { + "label": "Message Brokers", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "ztkOqlGQWIilnsSAw0il9" + }, + "style": { + "width": 189, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 113.18643733008196, + "y": 2201.0843142738127 + }, + "dragging": false, + "resizing": false + }, + { + "width": 133, + "height": 49, + "id": "31ZlpfIPr9-5vYZqvjUeL", + "type": "subtopic", + "position": { + "x": -303.00167076442347, + "y": 1992.3567455783482 + }, + "selected": false, + "data": { + "label": "LXC", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "SoLgdE9kMRb5TOPmiFNTg" + }, + "style": { + "width": 133, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -303.00167076442347, + "y": 1992.3567455783482 + }, + "dragging": false, + "resizing": false + }, + { + "width": 317, + "height": 49, + "id": "SGVwJme-jT_pbOTvems0v", + "type": "topic", + "position": { + "x": -288.08230823147517, + "y": 2077.084957691443 + }, + "selected": false, + "data": { + "label": "Containerization vs Virtualization", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "xC2dMtwvHtn7bvkjoILGC" + }, + "style": { + "width": 317, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -288.08230823147517, + "y": 2077.084957691443 + }, + "dragging": false, + "resizing": false + }, + { + "width": 193, + "height": 49, + "id": "sVuIdAe08IWJVqAt4z-ag", + "type": "subtopic", + "position": { + "x": 108.75932826122437, + "y": 2478.952124569852 + }, + "selected": false, + "data": { + "label": "WebSockets", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "AdD_qP2zWpDRF7fye4BAf" + }, + "style": { + "width": 193, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 108.75932826122437, + "y": 2478.952124569852 + }, + "dragging": false + }, + { + "width": 193, + "height": 49, + "id": "RUSdlokJUcEYbCvq5FJBJ", + "type": "subtopic", + "position": { + "x": 108.75932826122437, + "y": 2425.952124569852 + }, + "selected": false, + "data": { + "label": "Server Sent Events", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "nCUR4HAGITzZGQ9Ur-lwF" + }, + "style": { + "width": 193, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 108.75932826122437, + "y": 2425.952124569852 + }, + "dragging": false + }, + { + "width": 103, + "height": 49, + "id": "z5AdThp9ByulmM9uekgm-", + "type": "subtopic", + "position": { + "x": -651.0827765085687, + "y": 2150.658992209215 + }, + "selected": false, + "data": { + "label": "Nginx", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "EszP1HTjYUcKJlODbvIlQ" + }, + "style": { + "width": 103, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -651.0827765085687, + "y": 2150.658992209215 + }, + "dragging": false + }, + { + "width": 103, + "height": 49, + "id": "Op-PSPNoyj6Ss9CS09AXh", + "type": "subtopic", + "position": { + "x": -651.0827765085687, + "y": 2256.658992209215 + }, + "selected": false, + "data": { + "label": "Caddy", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "GWX9hx7Zi-hJEuQl_smnD" + }, + "style": { + "width": 103, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -651.0827765085687, + "y": 2256.658992209215 + }, + "dragging": false + }, + { + "width": 103, + "height": 49, + "id": "jjjonHTHHo-NiAf6p9xPv", + "type": "subtopic", + "position": { + "x": -651.0827765085687, + "y": 2203.658992209215 + }, + "selected": false, + "data": { + "label": "Apache", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "OV10LPpeU9WkCnLB2nbjh" + }, + "style": { + "width": 103, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -651.0827765085687, + "y": 2203.658992209215 + }, + "dragging": false + }, + { + "width": 103, + "height": 49, + "id": "0NJDgfe6eMa7qPUOI6Eya", + "type": "subtopic", + "position": { + "x": -651.0827765085687, + "y": 2309.658992209215 + }, + "selected": false, + "data": { + "label": "MS IIS", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "th-s4CCGHamJSHHWbRbtF" + }, + "style": { + "width": 103, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -651.0827765085687, + "y": 2309.658992209215 + }, + "dragging": false + }, + { + "width": 188, + "height": 49, + "id": "fekyMpEnaGqjh1Cu4Nyc4", + "type": "topic", + "position": { + "x": -434.321810236714, + "y": 2203.658992209215 + }, + "selected": false, + "data": { + "label": "Web Servers", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "RPxWYpvCIOvqxJSZXvbrg" + }, + "style": { + "width": 188, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -434.321810236714, + "y": 2203.658992209215 + }, + "dragging": false, + "resizing": false + }, + { + "width": 201, + "height": 49, + "id": "SHmbcMRsc3SygEDksJQBD", + "type": "topic", + "position": { + "x": -201.28187187824832, + "y": 3031.464403993429 + }, + "selected": false, + "data": { + "label": "Building For Scale", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "lk9FVM9b-vD6HrCgdMts5" + }, + "style": { + "width": 201, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -201.28187187824832, + "y": 3031.464403993429 + }, + "dragging": false, + "resizing": false + }, + { + "width": 123, + "height": 49, + "id": "g8GjkJAhvnSxXTZks0V1g", + "type": "subtopic", + "position": { + "x": -680.1226089739991, + "y": 596.4744060549924 + }, + "selected": false, + "data": { + "label": "Redis", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "xPvVwGQw28uMeLYIWn8yn" + }, + "style": { + "width": 123, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -680.1226089739991, + "y": 596.4744060549924 + }, + "dragging": false, + "resizing": false + }, + { + "width": 123, + "height": 49, + "id": "xPvVwGQw28uMeLYIWn8yn", + "type": "subtopic", + "position": { + "x": -680.1226089739991, + "y": 650.4744060549924 + }, + "selected": false, + "data": { + "label": "Memcached", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "DfDS2g4vh52wUPGJN3mfV" + }, + "style": { + "width": 123, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -680.1226089739991, + "y": 650.4744060549924 + }, + "dragging": false, + "resizing": false + }, + { + "width": 156, + "height": 174, + "id": "UxAr1obi4rfJnohRmi9I0", + "type": "paragraph", + "position": { + "x": -645.9684044316078, + "y": 2425.297762402509 + }, + "selected": false, + "data": { + "label": "Document DBs", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "borderColor": "#000000", + "backgroundColor": "#ffffff" + } + }, + "zIndex": 999, + "style": { + "width": 156, + "height": 174 + }, + "resizing": false, + "dragging": false, + "positionAbsolute": { + "x": -645.9684044316078, + "y": 2425.297762402509 + }, + "focusable": true + }, + { + "width": 136, + "height": 49, + "id": "28U6q_X-NTYf7OSKHjoWH", + "type": "subtopic", + "position": { + "x": -635.959639996006, + "y": 2485.0475499249083 + }, + "selected": false, + "data": { + "label": "MongoDB", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "Xv09yYM-kt_kMbFWL7PCP" + }, + "style": { + "width": 136, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -635.959639996006, + "y": 2485.0475499249083 + }, + "dragging": false, + "resizing": false + }, + { + "width": 136, + "height": 49, + "id": "qOlNzZ7U8LhIGukb67n7U", + "type": "subtopic", + "position": { + "x": -635.959639996006, + "y": 2538.0475499249083 + }, + "selected": false, + "data": { + "label": "CouchDB", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "28U6q_X-NTYf7OSKHjoWH" + }, + "style": { + "width": 136, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -635.959639996006, + "y": 2538.0475499249083 + }, + "dragging": false, + "resizing": false + }, + { + "width": 183, + "height": 174, + "id": "lz1qUvdtuZ5_MUBDw2M7B", + "type": "paragraph", + "position": { + "x": -338.143218506084, + "y": 2768.94005446043 + }, + "selected": false, + "data": { + "label": "Graph DBs", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "borderColor": "#000000", + "backgroundColor": "#ffffff" + }, + "oldId": "k2WQa0jCcj_F0rY7C4I4w" + }, + "zIndex": 999, + "style": { + "width": 183, + "height": 174 + }, + "resizing": false, + "dragging": false, + "positionAbsolute": { + "x": -338.143218506084, + "y": 2768.94005446043 + }, + "focusable": true + }, + { + "width": 153, + "height": 49, + "id": "BTNJfWemFKEeNeTyENXui", + "type": "subtopic", + "position": { + "x": -323.1468377513407, + "y": 2822.4093549128625 + }, + "selected": false, + "data": { + "label": "Neo4j", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "zIP4lygeKaH1P-VYRMpdU" + }, + "style": { + "width": 153, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -323.1468377513407, + "y": 2822.4093549128625 + }, + "dragging": false, + "resizing": false + }, + { + "width": 320, + "height": 49, + "id": "ruK1Bf7XVIgOHguNFxYlY", + "type": "button", + "position": { + "x": -289.58230823147517, + "y": 1664.0927318659378 + }, + "selected": false, + "data": { + "label": "Software Design & Architecture", + "href": "https://roadmap.sh/software-design-architecture", + "color": "#ffffff", + "backgroundColor": "#4136d4", + "style": { + "fontSize": 17 + }, + "oldId": "sSG9zK0ZGTBSk-nFIOq8A" + }, + "zIndex": 999, + "dragging": false, + "positionAbsolute": { + "x": -289.58230823147517, + "y": 1664.0927318659378 + }, + "style": { + "width": 320, + "height": 49 + }, + "focusable": true, + "resizing": false + }, + { + "width": 248, + "height": 304, + "id": "SqTnY2zykzA6857nHHwG2", + "type": "paragraph", + "position": { + "x": 57.030089179073684, + "y": 2721.2437984566805 + }, + "selected": false, + "data": { + "label": "Mitigation Strategies", + "style": { + "fontSize": 17, + "justifyContent": "flex-end", + "textAlign": "center", + "borderColor": "#000000", + "backgroundColor": "#ffffff" + }, + "oldId": "y4gMzo3mPn7_uGkuDkOqM" + }, + "zIndex": 999, + "dragging": false, + "style": { + "width": 248, + "height": 304 + }, + "resizing": false, + "positionAbsolute": { + "x": 57.030089179073684, + "y": 2721.2437984566805 + }, + "focusable": true + }, + { + "width": 220, + "height": 42, + "id": "G9AI_i3MkUE1BsO3_-PH7", + "type": "subtopic", + "position": { + "x": 71.03008917907368, + "y": 2734.694834049315 + }, + "selected": false, + "data": { + "label": "Graceful Degradation", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "Xv09yYM-kt_kMbFWL7PCP" + }, + "style": { + "width": 220, + "height": 42 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 71.03008917907368, + "y": 2734.694834049315 + }, + "dragging": false + }, + { + "width": 220, + "height": 42, + "id": "qAu-Y4KI2Z_y-EqiG86cR", + "type": "subtopic", + "position": { + "x": 71.03008917907368, + "y": 2781.694834049315 + }, + "selected": false, + "data": { + "label": "Throttling", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "8IeJ7ktBmXW9hH7NRzbzm" + }, + "style": { + "width": 220, + "height": 42 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 71.03008917907368, + "y": 2781.694834049315 + }, + "dragging": false + }, + { + "width": 220, + "height": 42, + "id": "JansCqGDyXecQkD1K7E7e", + "type": "subtopic", + "position": { + "x": 71.03008917907368, + "y": 2828.694834049315 + }, + "selected": false, + "data": { + "label": "Backpressure", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "WdGqs2CLc2cDPEjzEPoFj" + }, + "style": { + "width": 220, + "height": 42 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 71.03008917907368, + "y": 2828.694834049315 + }, + "dragging": false + }, + { + "width": 220, + "height": 42, + "id": "HoQdX7a4SnkFRU4RPQ-D5", + "type": "subtopic", + "position": { + "x": 71.03008917907368, + "y": 2875.694834049315 + }, + "selected": false, + "data": { + "label": "Loadshifting", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "KWAhsjFJilEvMka5KXzY2" + }, + "style": { + "width": 220, + "height": 42 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 71.03008917907368, + "y": 2875.694834049315 + }, + "dragging": false + }, + { + "width": 220, + "height": 42, + "id": "spkiQTPvXY4qrhhVUkoPV", + "type": "subtopic", + "position": { + "x": 71.03008917907368, + "y": 2922.694834049315 + }, + "selected": false, + "data": { + "label": "Circuit Breaker", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "IQ1VmqKR6MzNOM_HrJMn_" + }, + "style": { + "width": 220, + "height": 42 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 71.03008917907368, + "y": 2922.694834049315 + }, + "dragging": false + }, + { + "width": 248, + "height": 49, + "id": "f7iWBkC0X7yyCoP_YubVd", + "type": "subtopic", + "position": { + "x": 57.030089179073684, + "y": 3031.464403993429 + }, + "selected": false, + "data": { + "label": "Migration Strategies", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "8IH45wy4nlKOmoXusIki3" + }, + "style": { + "width": 248, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 57.030089179073684, + "y": 3031.464403993429 + }, + "dragging": false + }, + { + "width": 248, + "height": 49, + "id": "osQlGGy38xMcKLtgZtWaZ", + "type": "subtopic", + "position": { + "x": 57.030089179073684, + "y": 3084.464403993429 + }, + "selected": false, + "data": { + "label": "Types of Scaling", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "16vCgVCVKx2T6PgR6eJxo" + }, + "style": { + "width": 248, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 57.030089179073684, + "y": 3084.464403993429 + }, + "dragging": false + }, + { + "width": 248, + "height": 219, + "id": "UovGtIjo7OYEsaV6xJcpE", + "type": "paragraph", + "position": { + "x": 57.030089179073684, + "y": 3142.2933641683235 + }, + "selected": false, + "data": { + "label": "Metrics logging and other observable items that can help in debugging and solving Issues when things go wrong.", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "left", + "backgroundColor": "#ffffff", + "borderColor": "BLACk" + }, + "oldId": "keWHcMLFJHVPCGq1Mh1pJ" + }, + "zIndex": 999, + "dragging": false, + "positionAbsolute": { + "x": 57.030089179073684, + "y": 3142.2933641683235 + }, + "style": { + "width": 248, + "height": 219 + }, + "resizing": false, + "focusable": true + }, + { + "width": 248, + "height": 232, + "id": "Uhj-lrUhQQnwOdn_e6_hd", + "type": "paragraph", + "position": { + "x": -224.78187187824832, + "y": 3129.5545263361823 + }, + "selected": false, + "data": { + "label": "Difference & Usage", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "borderColor": "#000000", + "backgroundColor": "#ffffff" + }, + "oldId": "SqTnY2zykzA6857nHHwG2" + }, + "zIndex": 999, + "dragging": false, + "style": { + "width": 248, + "height": 232 + }, + "resizing": false, + "positionAbsolute": { + "x": -224.78187187824832, + "y": 3129.5545263361823 + }, + "focusable": true + }, + { + "width": 215, + "height": 49, + "id": "4X-sbqpP0NDhM99bKdqIa", + "type": "subtopic", + "position": { + "x": -208.28187187824832, + "y": 3185.154679382818 + }, + "selected": false, + "data": { + "label": "Instrumentation", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "G9AI_i3MkUE1BsO3_-PH7" + }, + "style": { + "width": 215, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -208.28187187824832, + "y": 3185.154679382818 + }, + "dragging": false + }, + { + "width": 215, + "height": 49, + "id": "QvMEEsXh0-rzn5hDGcmEv", + "type": "subtopic", + "position": { + "x": -208.28187187824832, + "y": 3238.154679382818 + }, + "selected": false, + "data": { + "label": "Monitoring", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "qAu-Y4KI2Z_y-EqiG86cR" + }, + "style": { + "width": 215, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -208.28187187824832, + "y": 3238.154679382818 + }, + "dragging": false + }, + { + "width": 215, + "height": 49, + "id": "neVRtPjIHP_VG7lHwfah0", + "type": "subtopic", + "position": { + "x": -208.28187187824832, + "y": 3291.154679382818 + }, + "selected": false, + "data": { + "label": "Telemetry", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "JansCqGDyXecQkD1K7E7e" + }, + "style": { + "width": 215, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -208.28187187824832, + "y": 3291.154679382818 + }, + "dragging": false + }, + { + "width": 181, + "height": 49, + "id": "uSLzfLPXxS5-P7ozscvjZ", + "type": "button", + "position": { + "x": -348.56446376179997, + "y": 3479.686197134392 + }, + "selected": false, + "data": { + "label": "DevOps", + "href": "https://roadmap.sh/devops", + "color": "#FFFFFf", + "backgroundColor": "#4136D4", + "style": { + "fontSize": 17 + }, + "borderColor": "#4136D4", + "oldId": "PkhQdVms2TGgnPrytCBPZ" + }, + "zIndex": 999, + "dragging": false, + "positionAbsolute": { + "x": -348.56446376179997, + "y": 3479.686197134392 + }, + "style": { + "width": 181, + "height": 49 + }, + "focusable": true, + "resizing": true + }, + { + "width": 126, + "height": 49, + "id": "jWwA6yX4Zjx-r_KpDaD3c", + "type": "subtopic", + "position": { + "x": -677.9907149506867, + "y": 969.3669598992026 + }, + "selected": false, + "data": { + "label": "MD5", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "WQkKdXwjbqov8KLR4Bn20" + }, + "style": { + "width": 126, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -677.9907149506867, + "y": 969.3669598992026 + }, + "dragging": false, + "resizing": false + }, + { + "width": 126, + "height": 49, + "id": "JVN38r5jENoteia3YeIQ3", + "type": "subtopic", + "position": { + "x": -677.9907149506867, + "y": 1022.3669598992026 + }, + "selected": false, + "data": { + "label": "SHA", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "dlG1bVkDmjI3PEGpkm1xH" + }, + "style": { + "width": 126, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -677.9907149506867, + "y": 1022.3669598992026 + }, + "dragging": false, + "resizing": false + }, + { + "width": 126, + "height": 49, + "id": "kGTALrvCpxyVCXHRmkI7s", + "type": "subtopic", + "position": { + "x": -677.9907149506867, + "y": 1075.3669598992026 + }, + "selected": false, + "data": { + "label": "scrypt", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "dlG1bVkDmjI3PEGpkm1xH" + }, + "style": { + "width": 126, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -677.9907149506867, + "y": 1075.3669598992026 + }, + "dragging": false, + "resizing": false + }, + { + "width": 126, + "height": 49, + "id": "dlG1bVkDmjI3PEGpkm1xH", + "type": "subtopic", + "position": { + "x": -677.9907149506867, + "y": 1128.3669598992026 + }, + "selected": false, + "data": { + "label": "bcrypt", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "TJaO2ePry2wrNVasuj2me" + }, + "style": { + "width": 126, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -677.9907149506867, + "y": 1128.3669598992026 + }, + "dragging": false, + "resizing": false + }, + { + "width": 99, + "height": 49, + "id": "x-WBJjBd8u93ym5gtxGsR", + "type": "subtopic", + "position": { + "x": -669.5751497955148, + "y": 1272.2970643279607 + }, + "selected": false, + "data": { + "label": "HTTPS", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "kGTALrvCpxyVCXHRmkI7s" + }, + "style": { + "width": 99, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -669.5751497955148, + "y": 1272.2970643279607 + }, + "dragging": false, + "resizing": false + }, + { + "width": 171, + "height": 49, + "id": "AAgciyxuDvS2B_c6FRMvT", + "type": "subtopic", + "position": { + "x": -565.0513961705788, + "y": 1271.0941953615754 + }, + "selected": false, + "data": { + "label": "OWASP Risks", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "dlG1bVkDmjI3PEGpkm1xH" + }, + "style": { + "width": 171, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -565.0513961705788, + "y": 1271.0941953615754 + }, + "dragging": false, + "resizing": false + }, + { + "width": 171, + "height": 49, + "id": "0v3OsaghJEGHeXX0c5kqn", + "type": "subtopic", + "position": { + "x": -565.3262735265625, + "y": 1324.0941953615754 + }, + "selected": false, + "data": { + "label": "SSL/TLS", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "AAgciyxuDvS2B_c6FRMvT" + }, + "style": { + "width": 171, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -565.3262735265625, + "y": 1324.0941953615754 + }, + "dragging": false, + "resizing": false + }, + { + "width": 99, + "height": 49, + "id": "LU6WUbkWKbPM1rb2_gEqa", + "type": "subtopic", + "position": { + "x": -669.5751497955148, + "y": 1325.384228647431 + }, + "selected": false, + "data": { + "label": "CORS", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "x-WBJjBd8u93ym5gtxGsR" + }, + "style": { + "width": 99, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -669.5751497955148, + "y": 1325.384228647431 + }, + "dragging": false, + "resizing": false + }, + { + "width": 171, + "height": 49, + "id": "TZ0BWOENPv6pQm8qYB8Ow", + "type": "subtopic", + "position": { + "x": -564.5736631469481, + "y": 1377.0941953615754 + }, + "selected": false, + "data": { + "label": "Server Security", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "0v3OsaghJEGHeXX0c5kqn" + }, + "style": { + "width": 171, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -564.5736631469481, + "y": 1377.0941953615754 + }, + "dragging": false, + "resizing": false + }, + { + "width": 99, + "height": 49, + "id": "HgQBde1zLUFtlwB66PR6_", + "type": "subtopic", + "position": { + "x": -669.5751497955148, + "y": 1378.384228647431 + }, + "selected": false, + "data": { + "label": "CSP", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "LU6WUbkWKbPM1rb2_gEqa" + }, + "style": { + "width": 99, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -669.5751497955148, + "y": 1378.384228647431 + }, + "dragging": false, + "resizing": false + }, + { + "width": 276, + "height": 49, + "id": "sSG9zK0ZGTBSk-nFIOq8A", + "type": "button", + "position": { + "x": -670.3002857382692, + "y": 1436.3954217340697 + }, + "selected": false, + "data": { + "label": "API Security Best Practices", + "href": "https://roadmap.sh/best-practices/api-security", + "color": "#ffffff", + "backgroundColor": "#4136d4", + "style": { + "fontSize": 17 + } + }, + "zIndex": 999, + "dragging": false, + "positionAbsolute": { + "x": -670.3002857382692, + "y": 1436.3954217340697 + }, + "style": { + "width": 276, + "height": 49 + }, + "focusable": true, + "resizing": false + }, + { + "width": 20, + "height": 102, + "id": "LEijbLyxg4RyutKEM2Y5g", + "type": "vertical", + "position": { + "x": -204.08230823147517, + "y": -220.42445334555111 + }, + "selected": false, + "data": { + "label": "vertical node", + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#0A33FF" + }, + "oldId": "xD07fJ1NmNeAarVCEfubU" + }, + "zIndex": 999, + "positionAbsolute": { + "x": -204.08230823147517, + "y": -220.42445334555111 + }, + "dragging": false, + "focusable": true, + "style": { + "width": 20, + "height": 102 + }, + "resizing": false + }, + { + "id": "qN-6iiXWgn5qSzK3o0Tjo", + "type": "legend", + "position": { + "x": -714.8814218617622, + "y": -274.09541222709834 + }, + "selected": false, + "data": { + "label": "", + "legends": [ + { + "id": "NJhQIvMyMD1Cu-JA1UCmJ", + "color": "#874efe", + "label": "Personal Recommendation / Opinion" + }, + { + "id": "DMx7rAjVBWMbzjSde-tvp", + "label": "Alternative Option / Pick this or purple", + "color": "#4f7a28" + }, + { + "id": "R9WLhURhPdVNXP7AUTDvR", + "label": "Order not strict / Learn anytime", + "color": "#929292" + } + ] + }, + "zIndex": 999, + "width": 353, + "height": 124, + "positionAbsolute": { + "x": -714.8814218617622, + "y": -274.09541222709834 + }, + "dragging": false, + "focusable": true + }, + { + "id": "yHmHXymPNWwu8p1vvqD3o", + "type": "paragraph", + "position": { + "x": -14.502815208049242, + "y": -270.15106699547107 + }, + "selected": false, + "data": { + "label": "Find the detailed version of this roadmap along with other similar roadmaps", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "left", + "borderColor": "#000000", + "backgroundColor": "#FFFFFf" + } + }, + "zIndex": 999, + "width": 354, + "height": 143, + "positionAbsolute": { + "x": -14.502815208049242, + "y": -270.15106699547107 + }, + "dragging": false, + "selectable": true, + "focusable": true, + "style": { + "width": 354, + "height": 143 + }, + "resizing": false + }, + { + "id": "2zqZkyVgigifcRS1H7F_b", + "type": "button", + "position": { + "x": -1.2994407952490974, + "y": -188.1655035777258 + }, + "selected": false, + "data": { + "label": "roadmap.sh", + "href": "https://roadmap.sh", + "color": "#ffffff", + "backgroundColor": "#4136D6", + "style": { + "fontSize": 17 + } + }, + "zIndex": 999, + "width": 329, + "height": 49, + "dragging": false, + "style": { + "width": 329, + "height": 49 + }, + "resizing": false, + "positionAbsolute": { + "x": -1.2994407952490974, + "y": -188.1655035777258 + }, + "selectable": true, + "focusable": true + }, + { + "id": "MfErpYwkJ0wiWJZEUVfrb", + "type": "button", + "position": { + "x": -714.8814218617622, + "y": -135.72969257809785 + }, + "selected": false, + "data": { + "label": "Visit Beginner Friendly Version", + "href": "/backend?r=backend-beginner", + "color": "#ffffff", + "backgroundColor": "#232323", + "style": { + "fontSize": 17 + }, + "oldId": "2zqZkyVgigifcRS1H7F_b" + }, + "zIndex": 999, + "width": 351, + "height": 49, + "dragging": false, + "style": { + "width": 351, + "height": 49 + }, + "resizing": false, + "positionAbsolute": { + "x": -714.8814218617622, + "y": -135.72969257809785 + }, + "selectable": true, + "focusable": true + }, + { + "width": 277, + "height": 49, + "id": "yCnn-NfSxIybUQ2iTuUGq", + "type": "subtopic", + "position": { + "x": 64.19732720359934, + "y": -72.29269649784797 + }, + "selected": false, + "data": { + "label": "How does the internet work?", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "idLHBxhvcIqZTqmh_E8Az", + "legend": { + "id": "NJhQIvMyMD1Cu-JA1UCmJ", + "color": "#874efe", + "label": "Personal Recommendation / Opinion", + "position": "right-center" + } + }, + "zIndex": 999, + "positionAbsolute": { + "x": 64.19732720359934, + "y": -72.29269649784797 + }, + "dragging": false, + "style": { + "width": 277, + "height": 49 + }, + "resizing": false, + "focusable": true + }, + { + "width": 277, + "height": 49, + "id": "R12sArWVpbIs_PHxBqVaR", + "type": "subtopic", + "position": { + "x": 64.19732720359934, + "y": -18.29269649784797 + }, + "selected": false, + "data": { + "label": "What is HTTP?", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "os3Pa6W9SSNEzgmlBbglQ", + "legend": { + "id": "NJhQIvMyMD1Cu-JA1UCmJ", + "color": "#874efe", + "label": "Personal Recommendation / Opinion", + "position": "right-center" + } + }, + "zIndex": 999, + "positionAbsolute": { + "x": 64.19732720359934, + "y": -18.29269649784797 + }, + "dragging": false, + "style": { + "width": 277, + "height": 49 + }, + "resizing": false, + "focusable": true + }, + { + "width": 277, + "height": 49, + "id": "ZhSuu2VArnzPDp6dPQQSC", + "type": "subtopic", + "position": { + "x": 64.19732720359934, + "y": 35.70730350215206 + }, + "selected": false, + "data": { + "label": "What is Domain Name?", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "3oInpqvTSSC5_K6i7j8N7", + "legend": { + "id": "NJhQIvMyMD1Cu-JA1UCmJ", + "color": "#874efe", + "label": "Personal Recommendation / Opinion", + "position": "right-center" + } + }, + "zIndex": 999, + "positionAbsolute": { + "x": 64.19732720359934, + "y": 35.70730350215206 + }, + "dragging": false, + "style": { + "width": 277, + "height": 49 + }, + "resizing": false, + "focusable": true + }, + { + "width": 277, + "height": 49, + "id": "aqMaEY8gkKMikiqleV5EP", + "type": "subtopic", + "position": { + "x": 64.19732720359934, + "y": 89.70730350215206 + }, + "selected": false, + "data": { + "label": "What is hosting?", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "gRjFXRwpOwoyd15PHVpdB", + "legend": { + "id": "NJhQIvMyMD1Cu-JA1UCmJ", + "color": "#874efe", + "label": "Personal Recommendation / Opinion", + "position": "right-center" + } + }, + "zIndex": 999, + "positionAbsolute": { + "x": 64.19732720359934, + "y": 89.70730350215206 + }, + "dragging": false, + "style": { + "width": 277, + "height": 49 + }, + "resizing": false, + "focusable": true + }, + { + "width": 277, + "height": 49, + "id": "hkxw9jPGYphmjhTjw8766", + "type": "subtopic", + "position": { + "x": 64.19732720359934, + "y": 143.70730350215206 + }, + "selected": false, + "data": { + "label": "DNS and how it works?", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "YKhuRbcUFzo0hTvuTq-Yl", + "legend": { + "id": "NJhQIvMyMD1Cu-JA1UCmJ", + "color": "#874efe", + "label": "Personal Recommendation / Opinion", + "position": "right-center" + } + }, + "zIndex": 999, + "positionAbsolute": { + "x": 64.19732720359934, + "y": 143.70730350215206 + }, + "dragging": false, + "style": { + "width": 277, + "height": 49 + }, + "resizing": false, + "focusable": true + }, + { + "width": 277, + "height": 49, + "id": "P82WFaTPgQEPNp5IIuZ1Y", + "type": "subtopic", + "position": { + "x": 64.19732720359934, + "y": 197.70730350215206 + }, + "selected": false, + "data": { + "label": "Browsers and how they work?", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "CPRpuk76c9-wuIffEfu87", + "legend": { + "id": "NJhQIvMyMD1Cu-JA1UCmJ", + "color": "#874efe", + "label": "Personal Recommendation / Opinion", + "position": "right-center" + } + }, + "zIndex": 999, + "positionAbsolute": { + "x": 64.19732720359934, + "y": 197.70730350215206 + }, + "dragging": false, + "style": { + "width": 277, + "height": 49 + }, + "resizing": false, + "focusable": true + }, + { + "width": 275, + "height": 49, + "id": "PY9G7KQy8bF6eIdr1ydHf", + "type": "subtopic", + "position": { + "x": 61.5678836929921, + "y": 647.9126418589183 + }, + "selected": false, + "data": { + "label": "Authentication", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "lfNFDZZNdrB0lbEaMtU71" + }, + "style": { + "width": 275, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 61.5678836929921, + "y": 647.9126418589183 + }, + "dragging": false, + "resizing": true + }, + { + "width": 123, + "height": 49, + "id": "UxS_mzVUjLigEwKrXnEeB", + "type": "subtopic", + "position": { + "x": 71.54739402688512, + "y": 708.5986472065365 + }, + "selected": false, + "data": { + "label": "JWT", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "PY9G7KQy8bF6eIdr1ydHf" + }, + "style": { + "width": 123, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 71.54739402688512, + "y": 708.5986472065365 + }, + "dragging": false, + "resizing": false + }, + { + "width": 254, + "height": 49, + "id": "yRiJgjjv2s1uV9vgo3n8m", + "type": "subtopic", + "position": { + "x": 71.54739402688512, + "y": 761.5986472065365 + }, + "selected": false, + "data": { + "label": "Basic Authentication", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "UxS_mzVUjLigEwKrXnEeB" + }, + "style": { + "width": 254, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 71.54739402688512, + "y": 761.5986472065365 + }, + "dragging": false, + "resizing": false + }, + { + "width": 254, + "height": 49, + "id": "0rGj7FThLJZouSQUhnqGW", + "type": "subtopic", + "position": { + "x": 71.54739402688512, + "y": 814.5986472065365 + }, + "selected": false, + "data": { + "label": "Token Authentication", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "yRiJgjjv2s1uV9vgo3n8m" + }, + "style": { + "width": 254, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 71.54739402688512, + "y": 814.5986472065365 + }, + "dragging": false, + "resizing": false + }, + { + "width": 125, + "height": 49, + "id": "vp-muizdICcmU0gN8zmkS", + "type": "subtopic", + "position": { + "x": 200.54739402688512, + "y": 708.5986472065365 + }, + "selected": false, + "data": { + "label": "OAuth", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "0rGj7FThLJZouSQUhnqGW" + }, + "style": { + "width": 125, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 200.54739402688512, + "y": 708.5986472065365 + }, + "dragging": false, + "resizing": false + }, + { + "width": 254, + "height": 50, + "id": "ffzsh8_5yRq85trFt9Xhk", + "type": "subtopic", + "position": { + "x": 71.54739402688512, + "y": 868.0822888531077 + }, + "selected": false, + "data": { + "label": "Cookie Based Auth", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "vp-muizdICcmU0gN8zmkS" + }, + "style": { + "width": 254, + "height": 50 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 71.54739402688512, + "y": 868.0822888531077 + }, + "dragging": false, + "resizing": false + }, + { + "width": 109, + "height": 49, + "id": "z3EJBpgGm0_Uj3ymhypbX", + "type": "subtopic", + "position": { + "x": 71.54739402688512, + "y": 923.0781506183678 + }, + "selected": false, + "data": { + "label": "OpenID", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "ffzsh8_5yRq85trFt9Xhk" + }, + "style": { + "width": 109, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 71.54739402688512, + "y": 923.0781506183678 + }, + "dragging": false, + "resizing": false + }, + { + "width": 137, + "height": 49, + "id": "UCHtaePVxS-0kpqlYxbfC", + "type": "subtopic", + "position": { + "x": 188.54739402688512, + "y": 923.561792264939 + }, + "selected": false, + "data": { + "label": "SAML", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "z3EJBpgGm0_Uj3ymhypbX" + }, + "style": { + "width": 137, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 188.54739402688512, + "y": 923.561792264939 + }, + "dragging": false, + "resizing": false + }, + { + "id": "Ms0TfvSRA1z7NGJAQhdqy", + "type": "label", + "position": { + "x": -697.4907149506867, + "y": 1188.042999003884 + }, + "selected": false, + "data": { + "label": "Hashing Algorithms", + "href": "", + "color": "#000000", + "style": { + "fontSize": 17 + } + }, + "zIndex": 999, + "width": 165, + "height": 36, + "dragging": false, + "positionAbsolute": { + "x": -697.4907149506867, + "y": 1188.042999003884 + }, + "focusable": true + }, + { + "id": "94oRYuULJPdOMI1wihFrU", + "type": "button", + "position": { + "x": -303.00167076442347, + "y": 1939.3567455783482 + }, + "selected": false, + "data": { + "label": "Docker", + "href": "https://roadmap.sh/docker", + "color": "#ffffff", + "backgroundColor": "#4136D4", + "style": { + "fontSize": 17 + } + }, + "zIndex": 999, + "width": 133, + "height": 49, + "dragging": false, + "focusable": true, + "style": { + "width": 133, + "height": 49 + }, + "resizing": false, + "positionAbsolute": { + "x": -303.00167076442347, + "y": 1939.3567455783482 + } + }, + { + "id": "vDaxr8AIaPbG_3mHr0N6X", + "type": "button", + "position": { + "x": -515.8230929622179, + "y": 2077.084957691443 + }, + "selected": false, + "data": { + "label": "Kubernetes", + "href": "https://roadmap.sh/kubernetes", + "color": "#ffffff", + "backgroundColor": "#4136D4", + "style": { + "fontSize": 17 + }, + "oldId": "94oRYuULJPdOMI1wihFrU" + }, + "zIndex": 999, + "width": 177, + "height": 49, + "dragging": false, + "focusable": true, + "style": { + "width": 177, + "height": 49 + }, + "resizing": false, + "positionAbsolute": { + "x": -515.8230929622179, + "y": 2077.084957691443 + } + }, + { + "width": 156, + "height": 49, + "id": "NulaE1isWqn-feYHg4YQT", + "type": "subtopic", + "position": { + "x": -172.4174238777668, + "y": 2261.4930907958296 + }, + "selected": false, + "data": { + "label": "Elasticsearch", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "GPFRMcY1DEtRgnaZwJ3vW" + }, + "style": { + "width": 156, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -172.4174238777668, + "y": 2261.4930907958296 + }, + "dragging": false, + "resizing": false + }, + { + "width": 156, + "height": 49, + "id": "iN_1EuIwCx_7lRBw1Io4U", + "type": "subtopic", + "position": { + "x": -172.4174238777668, + "y": 2315.2330907958294 + }, + "selected": false, + "data": { + "label": "Solr", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "VoYSis1F1ZfTxMlQlXQKB" + }, + "style": { + "width": 156, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -172.4174238777668, + "y": 2315.2330907958294 + }, + "dragging": false, + "resizing": false + }, + { + "width": 197, + "height": 49, + "id": "5XGvep2qoti31bsyqNzrU", + "type": "topic", + "position": { + "x": -189.91071247617333, + "y": 2425.952124569852 + }, + "selected": false, + "data": { + "label": "Real-Time Data", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "fekyMpEnaGqjh1Cu4Nyc4" + }, + "style": { + "width": 197, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -189.91071247617333, + "y": 2425.952124569852 + }, + "dragging": false, + "resizing": false + }, + { + "width": 193, + "height": 49, + "id": "osvajAJlwGI3XnX0fE-kA", + "type": "subtopic", + "position": { + "x": 108.75932826122437, + "y": 2531.952124569852 + }, + "selected": false, + "data": { + "label": "Long Polling", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "sVuIdAe08IWJVqAt4z-ag" + }, + "style": { + "width": 193, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 108.75932826122437, + "y": 2531.952124569852 + }, + "dragging": false + }, + { + "width": 193, + "height": 49, + "id": "Tt7yr-ChHncJG0Ge1f0Xk", + "type": "subtopic", + "position": { + "x": 108.75932826122437, + "y": 2584.952124569852 + }, + "selected": false, + "data": { + "label": "Short Polling", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "osvajAJlwGI3XnX0fE-kA" + }, + "style": { + "width": 193, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 108.75932826122437, + "y": 2584.952124569852 + }, + "dragging": false + }, + { + "id": "T-5VzcfnC9gdSD9zJfGei", + "type": "button", + "position": { + "x": -189.91071247617333, + "y": 2534.952124569852 + }, + "selected": false, + "data": { + "label": "GraphQL", + "href": "https://roadmap.sh/graphql", + "color": "#ffffff", + "backgroundColor": "#4136D4", + "style": { + "fontSize": 17 + }, + "oldId": "vDaxr8AIaPbG_3mHr0N6X" + }, + "zIndex": 999, + "width": 197, + "height": 50, + "dragging": false, + "focusable": true, + "style": { + "width": 197, + "height": 50 + }, + "resizing": false, + "positionAbsolute": { + "x": -189.91071247617333, + "y": 2534.952124569852 + } + }, + { + "width": 156, + "height": 174, + "id": "k9Xcn33w669GorNeaI4Wz", + "type": "paragraph", + "position": { + "x": -492.51, + "y": 2425.297762402509 + }, + "selected": false, + "data": { + "label": "Key-Value", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "borderColor": "#000000", + "backgroundColor": "#ffffff" + }, + "oldId": "UxAr1obi4rfJnohRmi9I0" + }, + "zIndex": 999, + "style": { + "width": 156, + "height": 174 + }, + "resizing": false, + "dragging": false, + "positionAbsolute": { + "x": -492.51, + "y": 2425.297762402509 + }, + "focusable": true + }, + { + "width": 136, + "height": 49, + "id": "M0iaSSdVPWaCUpyTG50Vf", + "type": "subtopic", + "position": { + "x": -482.51, + "y": 2482.5807103103625 + }, + "selected": false, + "data": { + "label": "Redis", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "28U6q_X-NTYf7OSKHjoWH" + }, + "style": { + "width": 136, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -482.51, + "y": 2482.5807103103625 + }, + "dragging": false, + "resizing": false + }, + { + "width": 136, + "height": 49, + "id": "dwfEHInbX2eFiafM-nRMX", + "type": "subtopic", + "position": { + "x": -482.51, + "y": 2535.5807103103625 + }, + "selected": false, + "data": { + "label": "DynamoDB", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "qOlNzZ7U8LhIGukb67n7U" + }, + "style": { + "width": 136, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -482.51, + "y": 2535.5807103103625 + }, + "dragging": false, + "resizing": false + }, + { + "width": 156, + "height": 182, + "id": "qdvDOpBG4DByI4ZABVzsl", + "type": "paragraph", + "position": { + "x": -645.9684044316078, + "y": 2592.37 + }, + "selected": false, + "data": { + "label": "Realtime", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "borderColor": "#000000", + "backgroundColor": "#ffffff" + }, + "oldId": "UxAr1obi4rfJnohRmi9I0" + }, + "zIndex": 999, + "style": { + "width": 156, + "height": 182 + }, + "resizing": false, + "dragging": false, + "positionAbsolute": { + "x": -645.9684044316078, + "y": 2592.37 + }, + "focusable": true + }, + { + "width": 136, + "height": 49, + "id": "RyJFLLGieJ8Xjt-DlIayM", + "type": "subtopic", + "position": { + "x": -635.959639996006, + "y": 2652.116464914003 + }, + "selected": false, + "data": { + "label": "Firebase", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "28U6q_X-NTYf7OSKHjoWH" + }, + "style": { + "width": 136, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -635.959639996006, + "y": 2652.116464914003 + }, + "dragging": false, + "resizing": false + }, + { + "width": 136, + "height": 49, + "id": "5T0ljwlHL0545ICCeehcQ", + "type": "subtopic", + "position": { + "x": -635.959639996006, + "y": 2705.116464914003 + }, + "selected": false, + "data": { + "label": "RethinkDB", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "qOlNzZ7U8LhIGukb67n7U" + }, + "style": { + "width": 136, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -635.959639996006, + "y": 2705.116464914003 + }, + "dragging": false, + "resizing": false + }, + { + "width": 175, + "height": 49, + "id": "kdulE3Z_BdbtRmq6T2KmR", + "type": "subtopic", + "position": { + "x": 132.7143470412414, + "y": 552.1014358569317 + }, + "selected": false, + "data": { + "label": "SQLite", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "h1SAjQltHtztSt8QmRgab" + }, + "style": { + "width": 175, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 132.7143470412414, + "y": 552.1014358569317 + }, + "dragging": false + }, + { + "width": 156, + "height": 174, + "id": "Os9E7FSRWhn7wsK1AOBh2", + "type": "paragraph", + "position": { + "x": -645.9684044316078, + "y": 2768.94005446043 + }, + "selected": false, + "data": { + "label": "Time Series", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "borderColor": "#000000", + "backgroundColor": "#ffffff" + }, + "oldId": "qdvDOpBG4DByI4ZABVzsl" + }, + "zIndex": 999, + "style": { + "width": 156, + "height": 174 + }, + "resizing": false, + "dragging": false, + "positionAbsolute": { + "x": -645.9684044316078, + "y": 2768.94005446043 + }, + "focusable": true + }, + { + "width": 136, + "height": 49, + "id": "XbM4TDImSH-56NsITjyHK", + "type": "subtopic", + "position": { + "x": -635.9684044316078, + "y": 2823.686519374433 + }, + "selected": false, + "data": { + "label": "Influx DB", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "RyJFLLGieJ8Xjt-DlIayM" + }, + "style": { + "width": 136, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -635.9684044316078, + "y": 2823.686519374433 + }, + "dragging": false, + "resizing": false + }, + { + "width": 136, + "height": 49, + "id": "WiAK70I0z-_bzbWNwiHUd", + "type": "subtopic", + "position": { + "x": -635.9684044316078, + "y": 2876.686519374433 + }, + "selected": false, + "data": { + "label": "TimeScale", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "5T0ljwlHL0545ICCeehcQ" + }, + "style": { + "width": 136, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -635.9684044316078, + "y": 2876.686519374433 + }, + "dragging": false, + "resizing": false + }, + { + "width": 156, + "height": 174, + "id": "-SkGi8qy2AGwO2_ACw0aD", + "type": "paragraph", + "position": { + "x": -492.2667613883802, + "y": 2768.94005446043 + }, + "selected": false, + "data": { + "label": "Column DBs", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "borderColor": "#000000", + "backgroundColor": "#ffffff" + }, + "oldId": "Os9E7FSRWhn7wsK1AOBh2" + }, + "zIndex": 999, + "style": { + "width": 156, + "height": 174 + }, + "resizing": false, + "dragging": false, + "positionAbsolute": { + "x": -492.2667613883802, + "y": 2768.94005446043 + }, + "focusable": true + }, + { + "width": 136, + "height": 49, + "id": "gT6-z2vhdIQDzmR2K1g1U", + "type": "subtopic", + "position": { + "x": -482.2667613883802, + "y": 2823.677754938831 + }, + "selected": false, + "data": { + "label": "Cassandra", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "XbM4TDImSH-56NsITjyHK" + }, + "style": { + "width": 136, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -482.2667613883802, + "y": 2823.677754938831 + }, + "dragging": false, + "resizing": false + }, + { + "width": 136, + "height": 49, + "id": "QZwTLOvjUTaSb_9deuxsR", + "type": "subtopic", + "position": { + "x": -482.2667613883802, + "y": 2876.677754938831 + }, + "selected": false, + "data": { + "label": "Base", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "WiAK70I0z-_bzbWNwiHUd" + }, + "style": { + "width": 136, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -482.2667613883802, + "y": 2876.677754938831 + }, + "dragging": false, + "resizing": false + }, + { + "width": 153, + "height": 49, + "id": "5xy66yQrz1P1w7n6PcAFq", + "type": "subtopic", + "position": { + "x": -323.1468377513407, + "y": 2876.686519374433 + }, + "selected": false, + "data": { + "label": "AWS Neptune", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "BTNJfWemFKEeNeTyENXui" + }, + "style": { + "width": 153, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": -323.1468377513407, + "y": 2876.686519374433 + }, + "dragging": false, + "resizing": false + }, + { + "width": 215, + "height": 49, + "id": "Z01E67D6KjrShvQCHjGR7", + "type": "subtopic", + "position": { + "x": 73.53008917907368, + "y": 3297.1992283116183 + }, + "selected": false, + "data": { + "label": "Observability", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "4X-sbqpP0NDhM99bKdqIa" + }, + "style": { + "width": 215, + "height": 49 + }, + "zIndex": 999, + "focusable": true, + "positionAbsolute": { + "x": 73.53008917907368, + "y": 3297.1992283116183 + }, + "dragging": false, + "resizing": false + }, + { + "id": "yAWJWj4D761M0i8iERID3", + "type": "button", + "position": { + "x": -624.7958506779293, + "y": 3031.464403993429 + }, + "selected": false, + "data": { + "label": "Basic Infrastructure Knowledge", + "href": "https://roadmap.sh/devops?r=devops-beginner", + "color": "#ffffff", + "backgroundColor": "#4136D4", + "style": { + "fontSize": 17 + }, + "oldId": "T-5VzcfnC9gdSD9zJfGei" + }, + "zIndex": 999, + "width": 307, + "height": 49, + "dragging": false, + "focusable": true, + "style": { + "width": 307, + "height": 49 + }, + "resizing": false, + "positionAbsolute": { + "x": -624.7958506779293, + "y": 3031.464403993429 + } + }, + { + "id": "cnZFR67IbmEL-SkNwYc5S", + "type": "label", + "position": { + "x": -619.7269854187088, + "y": 2989.2437984566805 + }, + "selected": false, + "data": { + "label": "Visit the DevOps Beginner Roadmap", + "href": "", + "color": "#000000", + "style": { + "fontSize": 17 + } + }, + "zIndex": 999, + "width": 298, + "height": 36, + "positionAbsolute": { + "x": -619.7269854187088, + "y": 2989.2437984566805 + }, + "dragging": false, + "focusable": true + }, + { + "width": 189, + "height": 49, + "id": "q1EM7Wog8l_MbYlKsb7Y5", + "type": "button", + "position": { + "x": -161.92542199337953, + "y": 3479.686197134392 + }, + "selected": false, + "data": { + "label": "Full Stack", + "href": "https://roadmap.sh/full-stack", + "color": "#FFFFFf", + "backgroundColor": "#4136D4", + "style": { + "fontSize": 17 + }, + "borderColor": "#4136D4", + "oldId": "uSLzfLPXxS5-P7ozscvjZ" + }, + "zIndex": 999, + "dragging": false, + "positionAbsolute": { + "x": -161.92542199337953, + "y": 3479.686197134392 + }, + "style": { + "width": 189, + "height": 49 + }, + "focusable": true, + "resizing": false + } + ], + "edges": [ + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "sourceHandle": "x2", + "target": "SiYUdtYMDImRPmV2_XPkH", + "targetHandle": "w1", + "data": { + "edgeStyle": "solid" + }, + "id": "kZ9PY1uTum4Z-k0i7eGRP", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "SiYUdtYMDImRPmV2_XPkH", + "sourceHandle": "y2", + "targetHandle": "w1", + "data": { + "edgeStyle": "solid" + }, + "id": "TOiTwryy9Q_l_quUkU2D2", + "selected": false, + "type": "smoothstep", + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "iogwMmOvub2ZF4zgg6WyF", + "sourceHandle": "x2", + "target": "SiYUdtYMDImRPmV2_XPkH", + "targetHandle": "w1", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-iogwMmOvub2ZF4zgg6WyFx2-NVSQ4OtmvRp7p4cOEvKh7w1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "id": "PgszHaqxDHaB5QN8JAPSt", + "source": "fekyMpEnaGqjh1Cu4Nyc4", + "target": "z5AdThp9ByulmM9uekgm-", + "data": { + "edgeStyle": "dashed" + }, + "sourceHandle": "y2", + "targetHandle": "z1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "id": "ad61LnGU_C92URjr6pXkA", + "source": "fekyMpEnaGqjh1Cu4Nyc4", + "target": "jjjonHTHHo-NiAf6p9xPv", + "data": { + "edgeStyle": "dashed" + }, + "sourceHandle": "y2", + "targetHandle": "z1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "0NJDgfe6eMa7qPUOI6Eya", + "sourceHandle": "z2", + "target": "fekyMpEnaGqjh1Cu4Nyc4", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-0NJDgfe6eMa7qPUOI6Eyaz2-fekyMpEnaGqjh1Cu4Nyc4y1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "Op-PSPNoyj6Ss9CS09AXh", + "sourceHandle": "z2", + "target": "fekyMpEnaGqjh1Cu4Nyc4", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-Op-PSPNoyj6Ss9CS09AXhz2-fekyMpEnaGqjh1Cu4Nyc4y1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "sourceHandle": "x2", + "target": "SqTnY2zykzA6857nHHwG2", + "targetHandle": "w1", + "data": { + "edgeStyle": "dashed" + }, + "id": "Nv-ANzvcD7ePvAaOHPXzV", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "sourceHandle": "x2", + "target": "Uhj-lrUhQQnwOdn_e6_hd", + "targetHandle": "w1", + "data": { + "edgeStyle": "dashed" + }, + "id": "szv1qDulQMvfjMvZbaqDo", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "sourceHandle": "z2", + "target": "Uhj-lrUhQQnwOdn_e6_hd", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "j_W-PXyE77bi_kA45fYqn", + "selected": false, + "type": "smoothstep", + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "sourceHandle": "x2", + "target": "sVXZrBCsiSzWBBYWTm-nQ", + "targetHandle": "w1", + "data": { + "edgeStyle": "solid" + }, + "id": "PShueM-HfMGu2Jy1dt73g", + "selected": false, + "type": "smoothstep", + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "VlNNwIEDWqQXtqkHWJYzC", + "sourceHandle": "z2", + "target": "yCnn-NfSxIybUQ2iTuUGq", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "ronTDxAvatzbk4n5a-McM", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "VlNNwIEDWqQXtqkHWJYzC", + "sourceHandle": "z2", + "target": "R12sArWVpbIs_PHxBqVaR", + "targetHandle": "y2", + "data": { + "edgeStyle": "dashed" + }, + "id": "gaNQ1Peug0eiN0Bfxhtgw", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "VlNNwIEDWqQXtqkHWJYzC", + "sourceHandle": "z2", + "target": "ZhSuu2VArnzPDp6dPQQSC", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "351utcB2QNjRmDe5bmcD1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "VlNNwIEDWqQXtqkHWJYzC", + "sourceHandle": "z2", + "target": "aqMaEY8gkKMikiqleV5EP", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "lupNr9zUQ0sXyzPBxcglQ", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "VlNNwIEDWqQXtqkHWJYzC", + "sourceHandle": "z2", + "target": "hkxw9jPGYphmjhTjw8766", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "2IVWwbU20VSU47qjiVU-f", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "VlNNwIEDWqQXtqkHWJYzC", + "sourceHandle": "z2", + "target": "P82WFaTPgQEPNp5IIuZ1Y", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "9MbeqIRipRgbe34jwalxo", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "SiYUdtYMDImRPmV2_XPkH", + "sourceHandle": "z2", + "target": "yCnn-NfSxIybUQ2iTuUGq", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-SiYUdtYMDImRPmV2_XPkHz2-yCnn-NfSxIybUQ2iTuUGqy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "SiYUdtYMDImRPmV2_XPkH", + "sourceHandle": "z2", + "target": "R12sArWVpbIs_PHxBqVaR", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-SiYUdtYMDImRPmV2_XPkHz2-R12sArWVpbIs_PHxBqVaRy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "SiYUdtYMDImRPmV2_XPkH", + "sourceHandle": "z2", + "target": "ZhSuu2VArnzPDp6dPQQSC", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-SiYUdtYMDImRPmV2_XPkHz2-ZhSuu2VArnzPDp6dPQQSCy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "SiYUdtYMDImRPmV2_XPkH", + "sourceHandle": "z2", + "target": "aqMaEY8gkKMikiqleV5EP", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-SiYUdtYMDImRPmV2_XPkHz2-aqMaEY8gkKMikiqleV5EPy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "SiYUdtYMDImRPmV2_XPkH", + "sourceHandle": "z2", + "target": "hkxw9jPGYphmjhTjw8766", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-SiYUdtYMDImRPmV2_XPkHz2-hkxw9jPGYphmjhTjw8766y1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "SiYUdtYMDImRPmV2_XPkH", + "sourceHandle": "z2", + "target": "P82WFaTPgQEPNp5IIuZ1Y", + "targetHandle": "y2", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-SiYUdtYMDImRPmV2_XPkHz2-P82WFaTPgQEPNp5IIuZ1Yy2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "SiYUdtYMDImRPmV2_XPkH", + "sourceHandle": "y2", + "target": "2f0ZO6GJElfZ2Eis28Hzg", + "targetHandle": "w2", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-SiYUdtYMDImRPmV2_XPkHy2-2f0ZO6GJElfZ2Eis28Hzgw2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "2f0ZO6GJElfZ2Eis28Hzg", + "sourceHandle": "y2", + "target": "CWwh2abwqx4hAxpAGvhIx", + "targetHandle": "z2", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-2f0ZO6GJElfZ2Eis28Hzgy2-CWwh2abwqx4hAxpAGvhIxz2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "2f0ZO6GJElfZ2Eis28Hzg", + "sourceHandle": "x2", + "target": "ezdqQW9wTUw93F6kjOzku", + "targetHandle": "y2", + "data": { + "edgeStyle": "solid" + }, + "selected": false, + "focusable": true, + "id": "reactflow__edge-2f0ZO6GJElfZ2Eis28Hzgx2-ezdqQW9wTUw93F6kjOzkuy2" + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "ezdqQW9wTUw93F6kjOzku", + "sourceHandle": "y2", + "target": "NvUcSDWBhzJZ31nzT4UlE", + "targetHandle": "z2", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-ezdqQW9wTUw93F6kjOzkuy2-NvUcSDWBhzJZ31nzT4UlEz2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "NvUcSDWBhzJZ31nzT4UlE", + "sourceHandle": "x2", + "target": "ptD8EVqwFUYr4W5A_tABY", + "targetHandle": "w1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-NvUcSDWBhzJZ31nzT4UlEx2-ptD8EVqwFUYr4W5A_tABYw1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "r45b461NxLN6wBODJ5CNP", + "sourceHandle": "z2", + "target": "VPxOdjJtKAqmM5V0LR5OC", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-r45b461NxLN6wBODJ5CNPz2-VPxOdjJtKAqmM5V0LR5OCy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "r45b461NxLN6wBODJ5CNP", + "sourceHandle": "z2", + "target": "tD3i-8gBpMKCHB-ITyDiU", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-r45b461NxLN6wBODJ5CNPz2-tD3i-8gBpMKCHB-ITyDiUy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "r45b461NxLN6wBODJ5CNP", + "sourceHandle": "z2", + "target": "dEsTje8kfHwWjCI3zcgLC", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-r45b461NxLN6wBODJ5CNPz2-dEsTje8kfHwWjCI3zcgLCy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "r45b461NxLN6wBODJ5CNP", + "sourceHandle": "z2", + "target": "h1SAjQltHtztSt8QmRgab", + "targetHandle": "y2", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-r45b461NxLN6wBODJ5CNPz2-h1SAjQltHtztSt8QmRgaby2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "ezdqQW9wTUw93F6kjOzku", + "sourceHandle": "w2", + "target": "_I1E__wCIVrhjMk6IMieE", + "targetHandle": "x1", + "data": { + "edgeStyle": "dashed" + }, + "selected": false, + "id": "reactflow__edge-ezdqQW9wTUw93F6kjOzkuw2-_I1E__wCIVrhjMk6IMieEx1", + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "NvUcSDWBhzJZ31nzT4UlE", + "sourceHandle": "w2", + "target": "Ry_5Y-BK7HrkIc6X0JG1m", + "targetHandle": "x1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-NvUcSDWBhzJZ31nzT4UlEw2-Ry_5Y-BK7HrkIc6X0JG1mx1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "NvUcSDWBhzJZ31nzT4UlE", + "sourceHandle": "z2", + "target": "r45b461NxLN6wBODJ5CNP", + "targetHandle": "y1", + "data": { + "edgeStyle": "solid" + }, + "selected": false, + "id": "reactflow__edge-NvUcSDWBhzJZ31nzT4UlEz2-r45b461NxLN6wBODJ5CNPy1", + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "r45b461NxLN6wBODJ5CNP", + "sourceHandle": "w2", + "target": "FihTrMO56kj9jT8O_pO2T", + "targetHandle": "x2", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-r45b461NxLN6wBODJ5CNPw2-FihTrMO56kj9jT8O_pO2Tx2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "r45b461NxLN6wBODJ5CNP", + "sourceHandle": "x2", + "target": "EwvLPSI6AlZ4TnNIJTZA4", + "targetHandle": "w1", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-r45b461NxLN6wBODJ5CNPx2-EwvLPSI6AlZ4TnNIJTZA4w1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "EwvLPSI6AlZ4TnNIJTZA4", + "sourceHandle": "x2", + "target": "lfNFDZZNdrB0lbEaMtU71", + "targetHandle": "w1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-EwvLPSI6AlZ4TnNIJTZA4x2-lfNFDZZNdrB0lbEaMtU71w1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "z1-eP4sV75GBEIdM4NvL9", + "sourceHandle": "w2", + "target": "xPvVwGQw28uMeLYIWn8yn", + "targetHandle": "x2", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-z1-eP4sV75GBEIdM4NvL9w2-xPvVwGQw28uMeLYIWn8ynx2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "ELj8af7Mi38kUbaPJfCUR", + "sourceHandle": "y2", + "target": "z1-eP4sV75GBEIdM4NvL9", + "targetHandle": "z2", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-ELj8af7Mi38kUbaPJfCURy2-z1-eP4sV75GBEIdM4NvL9z2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "ELj8af7Mi38kUbaPJfCUR", + "sourceHandle": "y2", + "target": "Nq2BO53bHJdFT1rGZPjYx", + "targetHandle": "z2", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-ELj8af7Mi38kUbaPJfCURy2-Nq2BO53bHJdFT1rGZPjYxz2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "ELj8af7Mi38kUbaPJfCUR", + "sourceHandle": "y2", + "target": "KWTbEVX_WxS8jmSaAX3Fe", + "targetHandle": "z1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-ELj8af7Mi38kUbaPJfCURy2-KWTbEVX_WxS8jmSaAX3Fez1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "EwvLPSI6AlZ4TnNIJTZA4", + "sourceHandle": "y2", + "target": "ELj8af7Mi38kUbaPJfCUR", + "targetHandle": "z2", + "data": { + "edgeStyle": "solid" + }, + "selected": false, + "id": "reactflow__edge-EwvLPSI6AlZ4TnNIJTZA4y2-ELj8af7Mi38kUbaPJfCURz2", + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "ELj8af7Mi38kUbaPJfCUR", + "sourceHandle": "x2", + "target": "RBrIP5KbVQ2F0ly7kMfTo", + "targetHandle": "w1", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-ELj8af7Mi38kUbaPJfCURx2-RBrIP5KbVQ2F0ly7kMfTow1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "RBrIP5KbVQ2F0ly7kMfTo", + "sourceHandle": "y2", + "target": "kGTALrvCpxyVCXHRmkI7s", + "targetHandle": "z1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-RBrIP5KbVQ2F0ly7kMfToy2-kGTALrvCpxyVCXHRmkI7sz1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "RBrIP5KbVQ2F0ly7kMfTo", + "sourceHandle": "y2", + "target": "JVN38r5jENoteia3YeIQ3", + "targetHandle": "z1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-RBrIP5KbVQ2F0ly7kMfToy2-JVN38r5jENoteia3YeIQ3z1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "RBrIP5KbVQ2F0ly7kMfTo", + "sourceHandle": "y2", + "target": "jWwA6yX4Zjx-r_KpDaD3c", + "targetHandle": "z1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-RBrIP5KbVQ2F0ly7kMfToy2-jWwA6yX4Zjx-r_KpDaD3cz1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "RBrIP5KbVQ2F0ly7kMfTo", + "sourceHandle": "y2", + "target": "dlG1bVkDmjI3PEGpkm1xH", + "targetHandle": "z1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-RBrIP5KbVQ2F0ly7kMfToy2-dlG1bVkDmjI3PEGpkm1xHz1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "RBrIP5KbVQ2F0ly7kMfTo", + "sourceHandle": "x2", + "target": "4_q73_Fz02yj45i7NcRlA", + "targetHandle": "w1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-RBrIP5KbVQ2F0ly7kMfTox2-4_q73_Fz02yj45i7NcRlAw1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "RBrIP5KbVQ2F0ly7kMfTo", + "sourceHandle": "z2", + "target": "STQQbPa7PE3gbjMdL6P-t", + "targetHandle": "y1", + "data": { + "edgeStyle": "solid" + }, + "selected": false, + "id": "reactflow__edge-RBrIP5KbVQ2F0ly7kMfToz2-STQQbPa7PE3gbjMdL6P-ty1", + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "STQQbPa7PE3gbjMdL6P-t", + "sourceHandle": "z2", + "target": "3OYm6b9f6WOrKi4KTOZYK", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-STQQbPa7PE3gbjMdL6P-tz2-3OYm6b9f6WOrKi4KTOZYKy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "STQQbPa7PE3gbjMdL6P-t", + "sourceHandle": "z2", + "target": "381Kw1IMRv7CJp-Uf--qd", + "targetHandle": "y2", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-STQQbPa7PE3gbjMdL6P-tz2-381Kw1IMRv7CJp-Uf--qdy2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "STQQbPa7PE3gbjMdL6P-t", + "sourceHandle": "z2", + "target": "NAGisfq2CgeK3SsuRjnMw", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-STQQbPa7PE3gbjMdL6P-tz2-NAGisfq2CgeK3SsuRjnMwy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "STQQbPa7PE3gbjMdL6P-t", + "sourceHandle": "x2", + "target": "mGfD7HfuP184lFkXZzGjG", + "targetHandle": "w2", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-STQQbPa7PE3gbjMdL6P-tx2-mGfD7HfuP184lFkXZzGjGw2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "mGfD7HfuP184lFkXZzGjG", + "sourceHandle": "x2", + "target": "LJt27onEOeIBomiEMTyKd", + "targetHandle": "w2", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-mGfD7HfuP184lFkXZzGjGx2-LJt27onEOeIBomiEMTyKdw2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "LJt27onEOeIBomiEMTyKd", + "sourceHandle": "z2", + "target": "Z7jp_Juj5PffSxV7UZcBb", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-LJt27onEOeIBomiEMTyKdz2-Z7jp_Juj5PffSxV7UZcBby1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "LJt27onEOeIBomiEMTyKd", + "sourceHandle": "z2", + "target": "qSAdfaGUfn8mtmDjHJi3z", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-LJt27onEOeIBomiEMTyKdz2-qSAdfaGUfn8mtmDjHJi3zy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "LJt27onEOeIBomiEMTyKd", + "sourceHandle": "z2", + "target": "rq_y_OBMD9AH_4aoecvAi", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-LJt27onEOeIBomiEMTyKdz2-rq_y_OBMD9AH_4aoecvAiy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "LJt27onEOeIBomiEMTyKd", + "sourceHandle": "z2", + "target": "bQnOAu863hsHdyNMNyJop", + "targetHandle": "y2", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-LJt27onEOeIBomiEMTyKdz2-bQnOAu863hsHdyNMNyJopy2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "LJt27onEOeIBomiEMTyKd", + "sourceHandle": "z2", + "target": "Ge2SnKBrQQrU-oGLz6TmT", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-LJt27onEOeIBomiEMTyKdz2-Ge2SnKBrQQrU-oGLz6TmTy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "LJt27onEOeIBomiEMTyKd", + "sourceHandle": "z2", + "target": "GwApfL4Yx-b5Y8dB9Vy__", + "targetHandle": "y2", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-LJt27onEOeIBomiEMTyKdz2-GwApfL4Yx-b5Y8dB9Vy__y2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "LJt27onEOeIBomiEMTyKd", + "sourceHandle": "z2", + "target": "SYXJhanu0lFmGj2m2XXhS", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-LJt27onEOeIBomiEMTyKdz2-SYXJhanu0lFmGj2m2XXhSy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "LJt27onEOeIBomiEMTyKd", + "sourceHandle": "x2", + "target": "95d9itpUZ4s9roZN8kG9x", + "targetHandle": "z1", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-LJt27onEOeIBomiEMTyKdx2-95d9itpUZ4s9roZN8kG9xz1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "95d9itpUZ4s9roZN8kG9x", + "sourceHandle": "y2", + "target": "y-xkHFE9YzhNIX3EiWspL", + "targetHandle": "z1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-95d9itpUZ4s9roZN8kG9xy2-y-xkHFE9YzhNIX3EiWspLz1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "95d9itpUZ4s9roZN8kG9x", + "sourceHandle": "y2", + "target": "zWstl08R4uzqve4BdYurp", + "targetHandle": "z1", + "data": { + "edgeStyle": "dashed" + }, + "selected": false, + "id": "reactflow__edge-95d9itpUZ4s9roZN8kG9xy2-zWstl08R4uzqve4BdYurpz1", + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "95d9itpUZ4s9roZN8kG9x", + "sourceHandle": "y2", + "target": "wrl7HHWXOaxoKVlNZxZ6d", + "targetHandle": "z1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-95d9itpUZ4s9roZN8kG9xy2-wrl7HHWXOaxoKVlNZxZ6dz1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "95d9itpUZ4s9roZN8kG9x", + "sourceHandle": "y2", + "target": "LAdKDJ4LcMaDWqslMvE8X", + "targetHandle": "z1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-95d9itpUZ4s9roZN8kG9xy2-LAdKDJ4LcMaDWqslMvE8Xz1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "95d9itpUZ4s9roZN8kG9x", + "sourceHandle": "z2", + "target": "ruK1Bf7XVIgOHguNFxYlY", + "targetHandle": "w1", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-95d9itpUZ4s9roZN8kG9xz2-ruK1Bf7XVIgOHguNFxYlYw1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "ruK1Bf7XVIgOHguNFxYlY", + "sourceHandle": "x2", + "target": "9Fpoor-Os_9lvrwu5Zjh-", + "targetHandle": "w2", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-ruK1Bf7XVIgOHguNFxYlYx2-9Fpoor-Os_9lvrwu5Zjh-w2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "9Fpoor-Os_9lvrwu5Zjh-", + "sourceHandle": "y2", + "target": "6XIWO0MoE-ySl4qh_ihXa", + "targetHandle": "z1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-9Fpoor-Os_9lvrwu5Zjh-y2-6XIWO0MoE-ySl4qh_ihXaz1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "9Fpoor-Os_9lvrwu5Zjh-", + "sourceHandle": "y2", + "target": "BvHi5obg0L1JDZFKBzx9t", + "targetHandle": "z1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-9Fpoor-Os_9lvrwu5Zjh-y2-BvHi5obg0L1JDZFKBzx9tz1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "9Fpoor-Os_9lvrwu5Zjh-", + "sourceHandle": "y2", + "target": "I-PUAE2AzbEaUkW9vMaUM", + "targetHandle": "z1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-9Fpoor-Os_9lvrwu5Zjh-y2-I-PUAE2AzbEaUkW9vMaUMz1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "9Fpoor-Os_9lvrwu5Zjh-", + "sourceHandle": "y2", + "target": "u8IRw5PuXGUcmxA0YYXgx", + "targetHandle": "z1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-9Fpoor-Os_9lvrwu5Zjh-y2-u8IRw5PuXGUcmxA0YYXgxz1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "9Fpoor-Os_9lvrwu5Zjh-", + "sourceHandle": "y2", + "target": "wqE-mkxvehOzOv8UyE39p", + "targetHandle": "z1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-9Fpoor-Os_9lvrwu5Zjh-y2-wqE-mkxvehOzOv8UyE39pz1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "tHiUpG9LN35E5RaHddMv5", + "sourceHandle": "x2", + "target": "Ke522R-4k6TDeiDRyZbbU", + "targetHandle": "w2", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-tHiUpG9LN35E5RaHddMv5x2-Ke522R-4k6TDeiDRyZbbUw2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "9Fpoor-Os_9lvrwu5Zjh-", + "sourceHandle": "x2", + "target": "SGVwJme-jT_pbOTvems0v", + "targetHandle": "w1", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-9Fpoor-Os_9lvrwu5Zjh-x2-SGVwJme-jT_pbOTvems0vw1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "ruK1Bf7XVIgOHguNFxYlY", + "sourceHandle": "z2", + "target": "tHiUpG9LN35E5RaHddMv5", + "targetHandle": "y1", + "data": { + "edgeStyle": "solid" + }, + "selected": false, + "id": "reactflow__edge-ruK1Bf7XVIgOHguNFxYlYz2-tHiUpG9LN35E5RaHddMv5y1", + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "SGVwJme-jT_pbOTvems0v", + "sourceHandle": "y2", + "target": "vDaxr8AIaPbG_3mHr0N6X", + "targetHandle": "z1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-SGVwJme-jT_pbOTvems0vy2-vDaxr8AIaPbG_3mHr0N6Xz1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "sourceHandle": "z2", + "target": "gKTSe9yQFVbPVlLzWB0hC", + "targetHandle": "y1", + "data": { + "edgeStyle": "solid" + }, + "id": "yrIcuOg64FTqhwz1CSczg", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "SGVwJme-jT_pbOTvems0v", + "sourceHandle": "z2", + "target": "nJ5FpFgGCRaALcWmAKBKT", + "targetHandle": "w2", + "data": { + "edgeStyle": "solid" + }, + "selected": false, + "id": "reactflow__edge-SGVwJme-jT_pbOTvems0vz2-nJ5FpFgGCRaALcWmAKBKTw2", + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "nJ5FpFgGCRaALcWmAKBKT", + "sourceHandle": "y2", + "target": "gKTSe9yQFVbPVlLzWB0hC", + "targetHandle": "z2", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-nJ5FpFgGCRaALcWmAKBKTy2-gKTSe9yQFVbPVlLzWB0hCz2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "gKTSe9yQFVbPVlLzWB0hC", + "sourceHandle": "y2", + "target": "fekyMpEnaGqjh1Cu4Nyc4", + "targetHandle": "z2", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-gKTSe9yQFVbPVlLzWB0hCy2-fekyMpEnaGqjh1Cu4Nyc4z2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "fekyMpEnaGqjh1Cu4Nyc4", + "sourceHandle": "x2", + "target": "5XGvep2qoti31bsyqNzrU", + "targetHandle": "y1", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-fekyMpEnaGqjh1Cu4Nyc4x2-5XGvep2qoti31bsyqNzrUy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "5XGvep2qoti31bsyqNzrU", + "sourceHandle": "z2", + "target": "RUSdlokJUcEYbCvq5FJBJ", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-5XGvep2qoti31bsyqNzrUz2-RUSdlokJUcEYbCvq5FJBJy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "5XGvep2qoti31bsyqNzrU", + "sourceHandle": "z2", + "target": "sVuIdAe08IWJVqAt4z-ag", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-5XGvep2qoti31bsyqNzrUz2-sVuIdAe08IWJVqAt4z-agy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "5XGvep2qoti31bsyqNzrU", + "sourceHandle": "z2", + "target": "osvajAJlwGI3XnX0fE-kA", + "targetHandle": "y2", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-5XGvep2qoti31bsyqNzrUz2-osvajAJlwGI3XnX0fE-kAy2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "5XGvep2qoti31bsyqNzrU", + "sourceHandle": "z2", + "target": "Tt7yr-ChHncJG0Ge1f0Xk", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-5XGvep2qoti31bsyqNzrUz2-Tt7yr-ChHncJG0Ge1f0Xky1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "5XGvep2qoti31bsyqNzrU", + "sourceHandle": "x2", + "target": "T-5VzcfnC9gdSD9zJfGei", + "targetHandle": "w1", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-5XGvep2qoti31bsyqNzrUx2-T-5VzcfnC9gdSD9zJfGeiw1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "T-5VzcfnC9gdSD9zJfGei", + "sourceHandle": "y2", + "target": "F8frGuv1dunOdcVJ_IiGs", + "targetHandle": "w1", + "data": { + "edgeStyle": "solid" + }, + "selected": false, + "id": "reactflow__edge-T-5VzcfnC9gdSD9zJfGeiy2-F8frGuv1dunOdcVJ_IiGsw1", + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "r45b461NxLN6wBODJ5CNP", + "sourceHandle": "z2", + "target": "kdulE3Z_BdbtRmq6T2KmR", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-r45b461NxLN6wBODJ5CNPz2-kdulE3Z_BdbtRmq6T2KmRy1", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "F8frGuv1dunOdcVJ_IiGs", + "sourceHandle": "z2", + "target": "SHmbcMRsc3SygEDksJQBD", + "targetHandle": "w1", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-F8frGuv1dunOdcVJ_IiGsz2-SHmbcMRsc3SygEDksJQBDw1", + "selected": false, + "type": "step", + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "SHmbcMRsc3SygEDksJQBD", + "sourceHandle": "y2", + "target": "yAWJWj4D761M0i8iERID3", + "targetHandle": "z1", + "data": { + "edgeStyle": "solid" + }, + "id": "reactflow__edge-SHmbcMRsc3SygEDksJQBDy2-yAWJWj4D761M0i8iERID3z1", + "selected": false, + "type": "simplebezier", + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "SHmbcMRsc3SygEDksJQBD", + "sourceHandle": "z2", + "target": "f7iWBkC0X7yyCoP_YubVd", + "targetHandle": "y2", + "data": { + "edgeStyle": "dashed" + }, + "selected": false, + "id": "reactflow__edge-SHmbcMRsc3SygEDksJQBDz2-f7iWBkC0X7yyCoP_YubVdy2", + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "EwvLPSI6AlZ4TnNIJTZA4", + "sourceHandle": "z2", + "target": "UFd8PEg6IwJMXvuv8Ow1f", + "targetHandle": "y1", + "data": { + "edgeStyle": "dashed" + }, + "selected": false, + "focusable": true, + "id": "reactflow__edge-EwvLPSI6AlZ4TnNIJTZA4z2-UFd8PEg6IwJMXvuv8Ow1fy1" + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "SHmbcMRsc3SygEDksJQBD", + "sourceHandle": "x2", + "target": "Uhj-lrUhQQnwOdn_e6_hd", + "targetHandle": "w2", + "data": { + "edgeStyle": "dashed" + }, + "id": "reactflow__edge-SHmbcMRsc3SygEDksJQBDx2-Uhj-lrUhQQnwOdn_e6_hdw2", + "selected": false, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "yAWJWj4D761M0i8iERID3", + "sourceHandle": "x2", + "target": "sVXZrBCsiSzWBBYWTm-nQ", + "targetHandle": "y1", + "data": { + "edgeStyle": "solid" + }, + "selected": false, + "id": "reactflow__edge-yAWJWj4D761M0i8iERID3x2-sVXZrBCsiSzWBBYWTm-nQy1", + "type": "step", + "focusable": true + } + ] } \ No newline at end of file diff --git a/src/data/roadmaps/backend/backend.md b/src/data/roadmaps/backend/backend.md index 9eb4fdd7a..4761f8a1c 100644 --- a/src/data/roadmaps/backend/backend.md +++ b/src/data/roadmaps/backend/backend.md @@ -1,4 +1,5 @@ --- +renderer: 'editor' jsonUrl: '/jsons/roadmaps/backend.json' pdfUrl: '/pdfs/roadmaps/backend.pdf' order: 2 @@ -7,7 +8,7 @@ briefDescription: 'Step by step guide to becoming a backend developer in 2024' title: 'Backend Developer' description: 'Step by step guide to becoming a modern backend developer in 2024' hasTopics: true -isForkable: true +isForkable: false tnsBannerLink: 'https://thenewstack.io?utm_source=roadmap.sh&utm_medium=Referral&utm_campaign=Alert' question: title: 'What is Backend Development?' @@ -18,7 +19,7 @@ question: A backend developer focuses on creating and maintaining the server-side components of web applications. They are primarily tasked with developing server-side APIs, handling database operations, and ensuring that the backend can manage high traffic volumes efficiently. Key responsibilities include integrating external services such as payment gateways and cloud services, and enhancing the performance and scalability of systems. This role is crucial for processing and securing data, serving as the backbone that supports frontend developers in delivering a seamless user experience. dimensions: width: 968 - height: 2583.2 + height: 3500 schema: headline: 'Backend Developer Roadmap: What is Backend Development?' description: 'Learn what backend development is, what backend developers do and how to become one using our community-driven roadmap.' diff --git a/src/data/roadmaps/backend/content/101-basic-frontend/100-html.md b/src/data/roadmaps/backend/content/101-basic-frontend/100-html.md deleted file mode 100644 index 38b372dc7..000000000 --- a/src/data/roadmaps/backend/content/101-basic-frontend/100-html.md +++ /dev/null @@ -1,11 +0,0 @@ -# HTML - -HTML stands for HyperText Markup Language. It is used on the frontend and gives the structure to the webpage which you can style using CSS and make interactive using JavaScript. - -Visit the following resources to learn more: - -- [@article@W3Schools: Learn HTML](https://www.w3schools.com/html/html_intro.asp) -- [@opensource@Interactive HTML Course](https://github.com/denysdovhan/learnyouhtml) -- [@video@HTML Full Course - Build a Website Tutorial](https://www.youtube.com/watch?v=pQN-pnXPaVg) -- [@video@HTML Tutorial for Beginners: HTML Crash Course](https://www.youtube.com/watch?v=qz0aGYrrlhU) -- [@feed@Explore top posts about HTML](https://app.daily.dev/tags/html?ref=roadmapsh) diff --git a/src/data/roadmaps/backend/content/101-basic-frontend/101-css.md b/src/data/roadmaps/backend/content/101-basic-frontend/101-css.md deleted file mode 100644 index 46a049b21..000000000 --- a/src/data/roadmaps/backend/content/101-basic-frontend/101-css.md +++ /dev/null @@ -1,14 +0,0 @@ -# CSS - -CSS or Cascading Style Sheets is the language used to style the frontend of any website. CSS is a cornerstone technology of the World Wide Web, alongside HTML and JavaScript. - -Visit the following resources to learn more: - -- [@article@W3Schools — Learn CSS](https://www.w3schools.com/css/) -- [@article@freeCodeCamp — Responsive Web Design](https://www.freecodecamp.org/learn/2022/responsive-web-design) -- [@article@Learn to Code HTML & CSS](https://learn.shayhowe.com/html-css/building-your-first-web-page/) -- [@article@What The Flexbox!](https://flexbox.io/) -- [@video@CSS Crash Course For Absolute Beginners](https://www.youtube.com/watch?v=yfoY53QXEnI) -- [@video@HTML and CSS Tutorial](https://www.youtube.com/watch?v=D-h8L5hgW-w) -- [@video@CSS Masterclass - Tutorial & Course for Beginners](https://www.youtube.com/watch?v=FqmB-Zj2-PA) -- [@feed@Explore top posts about CSS](https://app.daily.dev/tags/css?ref=roadmapsh) diff --git a/src/data/roadmaps/backend/content/101-basic-frontend/102-javascript.md b/src/data/roadmaps/backend/content/101-basic-frontend/102-javascript.md deleted file mode 100644 index 9812605ad..000000000 --- a/src/data/roadmaps/backend/content/101-basic-frontend/102-javascript.md +++ /dev/null @@ -1,13 +0,0 @@ -# JavaScript - -JavaScript allows you to add interactivity to your pages. Common examples that you may have seen on the websites are sliders, click interactions, popups and so on. - -Visit the following resources to learn more: - -- [@roadmap@Visit Dedicated JavaScript Roadmap](/javascript) -- [@article@W3Schools – JavaScript Tutorial](https://www.w3schools.com/js/) -- [@article@The Modern JavaScript Tutorial](https://javascript.info/) -- [@article@Exploring JS: JavaScript books for programmers](https://exploringjs.com/) -- [@video@JavaScript Crash Course for Beginners](https://youtu.be/hdI2bqOjy3c?t=2) -- [@video@Build a Netflix Landing Page Clone with HTML, CSS & JS](https://youtu.be/P7t13SGytRk?t=22) -- [@feed@Explore top posts about JavaScript](https://app.daily.dev/tags/javascript?ref=roadmapsh) diff --git a/src/data/roadmaps/backend/content/101-basic-frontend/index.md b/src/data/roadmaps/backend/content/101-basic-frontend/index.md deleted file mode 100644 index d32c793d4..000000000 --- a/src/data/roadmaps/backend/content/101-basic-frontend/index.md +++ /dev/null @@ -1,11 +0,0 @@ -# Basic Frontend Knowledge - -As a backend developer, you may not need to have proficient knowledge of the frontend stack but you should at least have some basic understanding of HTML, CSS and JavaScript. - -Visit the following resources to learn more: - -- [@article@W3Schools: Learn HTML](https://www.w3schools.com/html/html_intro.asp) -- [@article@W3Schools: Learn CSS](https://www.w3schools.com/css/) -- [@article@W3Schools: JavaScript Tutorial](https://www.w3schools.com/js/) -- [@article@Articles about Frontend Development](https://thenewstack.io/category/frontend-dev/) -- [@feed@Explore top posts about Frontend Development](https://app.daily.dev/tags/frontend?ref=roadmapsh) diff --git a/src/data/roadmaps/backend/content/102-os-general-knowledge/100-terminal-usage.md b/src/data/roadmaps/backend/content/102-os-general-knowledge/100-terminal-usage.md deleted file mode 100644 index 454fbda49..000000000 --- a/src/data/roadmaps/backend/content/102-os-general-knowledge/100-terminal-usage.md +++ /dev/null @@ -1,9 +0,0 @@ -# Terminal usage - -Terminals, also known as command lines or consoles, allow us to accomplish and automate tasks on a computer without the use of a graphical user interface. - -Visit the following resources to learn more: - -- [@article@Command line crash course](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Command_line) -- [@video@Basic Terminal Usage - Cheat Sheet to make the command line EASY](https://www.youtube.com/watch?v=jDINUSK7rXE) -- [@article@50+ Linux Commands You Must Know](https://www.digitalocean.com/community/tutorials/linux-commands) \ No newline at end of file diff --git a/src/data/roadmaps/backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md b/src/data/roadmaps/backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md deleted file mode 100644 index 9946ae80c..000000000 --- a/src/data/roadmaps/backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md +++ /dev/null @@ -1,10 +0,0 @@ -# Operating Systems - -An operating system is a main program on computer, that governs all other applications. It allows you to use browsers, play games, print documents, launch your favorite program. - -Visit the following resources to learn more: - -- [@article@Operating System - Overview](https://www.tutorialspoint.com/operating_system/os_overview.htm) -- [@article@Operating System Concepts](https://codex.cs.yale.edu/avi/os-book/OS10/index.html) -- [@video@Operating System Basics ](https://www.youtube.com/watch?v=9GDX-IyZ_C8) -- [@feed@Explore top posts about Open Source](https://app.daily.dev/tags/open-source?ref=roadmapsh) diff --git a/src/data/roadmaps/backend/content/102-os-general-knowledge/102-process-management.md b/src/data/roadmaps/backend/content/102-os-general-knowledge/102-process-management.md deleted file mode 100644 index 9b9ba6ab9..000000000 --- a/src/data/roadmaps/backend/content/102-os-general-knowledge/102-process-management.md +++ /dev/null @@ -1,8 +0,0 @@ -# Process Management - -Process management involves various tasks like creation, scheduling, termination of processes, and a deadlock. Process is a program that is under execution, which is an important part of modern-day operating systems. The OS must allocate resources that enable processes to share and exchange information. It also protects the resources of each process from other methods and allows synchronization among processes. - -Visit the following resources to learn more: - -- [@article@Operating System: Process and Process Management](https://medium.com/@akhandmishra/operating-system-process-and-process-management-108d83e8ce60) -- [@article@Process Management in OS: PCB in Operating System](https://www.guru99.com/process-management-pcb.html) diff --git a/src/data/roadmaps/backend/content/102-os-general-knowledge/103-threads-and-concurrency.md b/src/data/roadmaps/backend/content/102-os-general-knowledge/103-threads-and-concurrency.md deleted file mode 100644 index 80c6c08b0..000000000 --- a/src/data/roadmaps/backend/content/102-os-general-knowledge/103-threads-and-concurrency.md +++ /dev/null @@ -1,13 +0,0 @@ -# Threads and Concurrency - -A thread is the smallest unit of processing that can be performed in an OS. In most modern operating systems, a thread exists within a process - that is, a single process may contain multiple threads. - -Concurrency refers to the execution of multiple threads at the same time. It occurs in an operating system when multiple process threads are executing concurrently. These threads can interact with one another via shared memory or message passing. Concurrency results in resource sharing, which causes issues like deadlocks and resource scarcity. It aids with techniques such as process coordination, memory allocation, and execution schedule to maximize throughput. - -Visit the following resources to learn more: - -- [@article@What’s the Diff: Programs, Processes and Threads](https://www.backblaze.com/blog/whats-the-diff-programs-processes-and-threads/) -- [@article@Concurrency in Operating System](https://www.javatpoint.com/concurrency-in-operating-system) -- [@video@Intro to Processes & Threads](https://www.youtube.com/watch?v=exbKr6fnoUw) -- [@video@Introduction to Concurrency](https://www.youtube.com/watch?v=iKtvNJQoCNw) -- [@video@Concurrency, Threading and Parallelism Explained](https://www.youtube.com/watch?v=olYdb0DdGtM) diff --git a/src/data/roadmaps/backend/content/102-os-general-knowledge/104-basic-terminal-commands.md b/src/data/roadmaps/backend/content/102-os-general-knowledge/104-basic-terminal-commands.md deleted file mode 100644 index 472e2e816..000000000 --- a/src/data/roadmaps/backend/content/102-os-general-knowledge/104-basic-terminal-commands.md +++ /dev/null @@ -1,17 +0,0 @@ -# Basic Terminal Commands - -Working within the terminal is common practice for any Backend Developer and there are many commands and utilities that can help you achieve your tasks more efficiently. - -The best way to learn these commands is to practice them in your own machine/environment. Specifically, these are related to Linux commands/utilities which are the most prevalent in the market. - -To understand these commands, read through the manual pages by using `man` command e.g. `man grep`, `man awk` etc. - -After enough exposure and practice to these commands, it will become easier to use these in practice - -Visit the following resources to learn more: - -- [@article@40 Basic Linux Commands](https://www.hostinger.com/tutorials/linux-commands) -- [@opensource@A collection of modern/faster/saner alternatives to common unix commands](https://github.com/ibraheemdev/modern-unix) -- [@article@Command Line Tutorial](https://www.learnenough.com/command-line-tutorial) -- [@article@Commandline Challenge](https://cmdchallenge.com/) -- [@video@The 50 Most Popular Linux & Terminal Commands (with timestamps)](https://www.youtube.com/watch?v=ZtqBQ68cfJc) diff --git a/src/data/roadmaps/backend/content/102-os-general-knowledge/105-memory-management.md b/src/data/roadmaps/backend/content/102-os-general-knowledge/105-memory-management.md deleted file mode 100644 index 620ad377d..000000000 --- a/src/data/roadmaps/backend/content/102-os-general-knowledge/105-memory-management.md +++ /dev/null @@ -1,9 +0,0 @@ -# Memory Management - -The term Memory can be defined as a collection of data in a specific format. It is used to store instructions and process data. The memory comprises a large array or group of words or bytes, each with its own location. The primary motive of a computer system is to execute programs. These programs, along with the information they access, should be in the main memory during execution. The CPU fetches instructions from memory according to the value of the program counter. - -To achieve a degree of multiprogramming and proper utilization of memory, memory management is important. There are several memory management methods, reflecting various approaches, and the effectiveness of each algorithm depends on the situation. - -Visit the following resources to learn more: - -- [@article@Demystifying memory management in modern programming languages](https://dev.to/deepu105/demystifying-memory-management-in-modern-programming-languages-ddd) diff --git a/src/data/roadmaps/backend/content/102-os-general-knowledge/106-interprocess-communication.md b/src/data/roadmaps/backend/content/102-os-general-knowledge/106-interprocess-communication.md deleted file mode 100644 index 90b5715cd..000000000 --- a/src/data/roadmaps/backend/content/102-os-general-knowledge/106-interprocess-communication.md +++ /dev/null @@ -1,7 +0,0 @@ -# Interprocess Communication - -Interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data - -Visit the following resources to learn more: - -- [@video@Interprocess Communication - Neso Academy](https://www.youtube.com/watch?v=dJuYKfR8vec) diff --git a/src/data/roadmaps/backend/content/102-os-general-knowledge/107-io-management.md b/src/data/roadmaps/backend/content/102-os-general-knowledge/107-io-management.md deleted file mode 100644 index c287dc84d..000000000 --- a/src/data/roadmaps/backend/content/102-os-general-knowledge/107-io-management.md +++ /dev/null @@ -1,9 +0,0 @@ -# I/O Management - -One of the important jobs of an Operating System is to manage various I/O devices including mouse, keyboards, touchpad, disk drives, display adapters, USB devices, Bit-mapped screens, LED, Analog-to-digital converter, On/off switch, network connections, audio I/O, printers, etc. - -Visit the following resources to learn more: - -- [@article@Operating System - I/O Hardware](https://www.tutorialspoint.com/operating_system/os_io_hardware.htm) -- [@article@IO Management](https://www.omscs-notes.com/operating-systems/io-management/) -- [@video@Basics of OS (I/O Structure)](https://www.youtube.com/watch?v=F18RiREDkwE) diff --git a/src/data/roadmaps/backend/content/102-os-general-knowledge/108-posix-basics.md b/src/data/roadmaps/backend/content/102-os-general-knowledge/108-posix-basics.md deleted file mode 100644 index 5af47d14c..000000000 --- a/src/data/roadmaps/backend/content/102-os-general-knowledge/108-posix-basics.md +++ /dev/null @@ -1,15 +0,0 @@ -# POSIX Basics - -POSIX (Portable Operating System Interface) is a family of standards for maintaining compatibility between operating systems. It describes utilities, APIs, and services that a compliant OS should provide to software, thus making it easier to port programs from one system to another. - -A practical example: in a Unix-like operating system, there are three _standard streams_, `stdin`, `stdout` and `stderr` - they are I/O connections that you will probably come across when using a terminal, as they manage the flow from the **standard input** (stdin), **standard output** (stdout) and **standard error** (stderr). - -So, in this case, when we want to interact with any of these streams (through a process, for example), the POSIX operating system API makes it easier - for example, in the `` C header where the stdin, stderr, and stdout are defined as `STDIN_FILENO`, `STDERR_FILENO` and `STDOUT_FILENO`. - -POSIX also adds a standard for exit codes, filesystem semantics, and several other command line utility API conventions. - -Visit the following resources to learn more: - -- [@article@POSIX standard by IEEE](https://pubs.opengroup.org/onlinepubs/9699919799/) -- [@article@Summary of some POSIX implementations](https://unix.stackexchange.com/a/220877) -- [@article@A guide to POSIX](https://www.baeldung.com/linux/posix) diff --git a/src/data/roadmaps/backend/content/102-os-general-knowledge/109-basic-networking-concepts.md b/src/data/roadmaps/backend/content/102-os-general-knowledge/109-basic-networking-concepts.md deleted file mode 100644 index 12bb592cf..000000000 --- a/src/data/roadmaps/backend/content/102-os-general-knowledge/109-basic-networking-concepts.md +++ /dev/null @@ -1,8 +0,0 @@ -# Basic Networking Concepts - -Computer networking refers to interconnected computing devices that can exchange data and share resources with each other. These networked devices use a system of rules, called communications protocols, to transmit information over physical or wireless technologies. - -Visit the following resources to learn more: - -- [@article@What is Computer Networking?](https://aws.amazon.com/what-is/computer-networking/) -- [@feed@Explore top posts about Networking](https://app.daily.dev/tags/networking?ref=roadmapsh) diff --git a/src/data/roadmaps/backend/content/102-os-general-knowledge/index.md b/src/data/roadmaps/backend/content/102-os-general-knowledge/index.md deleted file mode 100644 index 4fd804c29..000000000 --- a/src/data/roadmaps/backend/content/102-os-general-knowledge/index.md +++ /dev/null @@ -1,10 +0,0 @@ -# General Knowledge - -Operating System is a program that manages a computer’s resources, especially the allocation of those resources among other programs. Typical resources include the central processing unit (CPU), computer memory, file storage, input/output (I/O) devices, and network connections. - -Visit the following resources to learn more: - -- [@article@What is an operating system?](https://edu.gcfglobal.org/en/computerbasics/understanding-operating-systems/1/) -- [@article@Operating System summary](https://www.guru99.com/os-tutorial.html) -- [@video@Operating Systems: Crash Course Computer Science #18](https://www.youtube.com/watch?v=26QPDBe-NB8&ab_channel=CrashCourse) -- [@video@Introduction to Operating System](https://www.youtube.com/watch?v=vBURTt97EkA&list=PL9hkZBQk8d1zEGbY7ShWCZ2n1gtxqkRrS&index=1) diff --git a/src/data/roadmaps/backend/content/103-learn-a-language/108-cpp.md b/src/data/roadmaps/backend/content/103-learn-a-language/108-cpp.md deleted file mode 100644 index cd3cd5e84..000000000 --- a/src/data/roadmaps/backend/content/103-learn-a-language/108-cpp.md +++ /dev/null @@ -1,9 +0,0 @@ -# C++ - -C++ is a powerful general-purpose programming language. It can be used to develop operating systems, browsers, games, and so on. C++ supports different ways of programming like procedural, object-oriented, functional, and so on. This makes C++ powerful as well as flexible. - -Visit the following resources to learn more: - -- [@article@Learn Cpp](https://learncpp.com/) -- [@article@C++ Reference](https://en.cppreference.com/) -- [@feed@Explore top posts about C++](https://app.daily.dev/tags/c++?ref=roadmapsh) diff --git a/src/data/roadmaps/backend/content/104-version-control-systems/100-basic-usage-of-git.md b/src/data/roadmaps/backend/content/104-version-control-systems/100-basic-usage-of-git.md deleted file mode 100644 index ce8202489..000000000 --- a/src/data/roadmaps/backend/content/104-version-control-systems/100-basic-usage-of-git.md +++ /dev/null @@ -1,10 +0,0 @@ -# Git - -[Git](https://git-scm.com/) is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. - -Visit the following resources to learn more: - -- [@video@Git & GitHub Crash Course For Beginners](https://www.youtube.com/watch?v=SWYqp7iY_Tc) -- [@article@Learn Git with Tutorials, News and Tips - Atlassian](https://www.atlassian.com/git) -- [@article@Git Cheat Sheet](https://cs.fyi/guide/git-cheatsheet) -- [@feed@Explore top posts about Git](https://app.daily.dev/tags/git?ref=roadmapsh) diff --git a/src/data/roadmaps/backend/content/116-search-engines/index.md b/src/data/roadmaps/backend/content/116-search-engines/index.md deleted file mode 100644 index 46835d791..000000000 --- a/src/data/roadmaps/backend/content/116-search-engines/index.md +++ /dev/null @@ -1,29 +0,0 @@ -# Search Engines - -Search engines are an essential part of any web application, responsible for providing efficient and relevant search results for users. They store and retrieve data based on unique indexes, which allow for fast and accurate searches. As a backend developer, understanding search engines functionalities, and how to integrate them into your web application, is crucial. - -## Types of Search Engines - -There are two primary types of search engines: - -1. **Full-text search engines**: These are specifically designed for searching and analyzing text documents. They can efficiently index large volumes of text and provide relevant results based on keywords or phrases. Popular full-text search engines examples include **Elasticsearch**, **Solr**, and **Amazon CloudSearch**. - -2. **Database search engines**: Database engines are built-in features of most databases. They provide search capabilities within the data stored in the database. Examples include **MySQL FULLTEXT search** and **PostgreSQL Full-Text Search**. - -## Key Concepts - -When dealing with search engines, it's important to understand these key concepts: - -- **Indexing**: The process of analyzing and storing data in an optimized format for fast search and retrieval. -- **Tokenization**: Breaking text into individual words or terms (also known as tokens), for efficient indexing and searching. -- **Querying**: The act of searching the indexed data by asking a specific question or requesting information based on keywords or phrases. -- **Relevance scoring**: A score assigned to each search result that indicates how closely it matches the query, based on algorithms and relevance models. - -## Integration - -To integrate a search engine into your web application, you would typically follow these steps: - -1. **Choose the search engine**: Identify the search engine that best suits your application's needs, considering factors such as scalability, performance, and ease of integration. -2. **Index your data**: Analyze and store your data using the chosen search engine. This process may involve creating an index, specifying fields, and defining how the data should be tokenized and analyzed. -3. **Implement search functionality**: Develop the backend code for handling search requests, such as sending queries to the search engine and parsing the responses. Additionally, make sure to handle user inputs, like keywords, phrases, and filters. -4. **Display search results**: Design the frontend of your application to show search results in a user-friendly manner, including pagination, sorting, and filters. diff --git a/src/data/roadmaps/backend/content/118-containerization/100-docker.md b/src/data/roadmaps/backend/content/118-containerization/100-docker.md deleted file mode 100644 index 4dc7b1f2e..000000000 --- a/src/data/roadmaps/backend/content/118-containerization/100-docker.md +++ /dev/null @@ -1,12 +0,0 @@ -# Docker - -Docker is a platform for working with containerized applications. Among its features are a daemon and client for managing and interacting with containers, registries for storing images, and a desktop application to package all these features together. - -Visit the following resources to learn more: - -- [@article@Docker Documentation](https://docs.docker.com/) -- [@article@What is Docker | AWS ](https://aws.amazon.com/docker/) -- [@video@Complete Docker Course - From BEGINNER to PRO!](https://www.youtube.com/watch?v=RqTEHSBrYFw) -- [@video@Docker Tutorial](https://youtu.be/3c-iBn73dDE) -- [@video@Docker simplified in 55 seconds](https://youtu.be/vP_4DlOH1G4) -- [@feed@Explore top posts about Docker](https://app.daily.dev/tags/docker?ref=roadmapsh) diff --git a/src/data/roadmaps/backend/content/118-containerization/103-kubernetes.md b/src/data/roadmaps/backend/content/118-containerization/103-kubernetes.md deleted file mode 100644 index 0d4c7e075..000000000 --- a/src/data/roadmaps/backend/content/118-containerization/103-kubernetes.md +++ /dev/null @@ -1,14 +0,0 @@ -# Kubernetes - -Kubernetes is an [open source](https://github.com/kubernetes/kubernetes) container management platform, and the dominant product in this space. Using Kubernetes, teams can deploy images across multiple underlying hosts, defining their desired availability, deployment logic, and scaling logic in YAML. Kubernetes evolved from Borg, an internal Google platform used to provision and allocate compute resources. (similar to the Autopilot and Aquaman systems of Microsoft Azure) - -The popularity of Kubernetes has made it an increasingly important skill for the DevOps Engineer and has triggered the creation of Platform teams across the industry. These Platform engineering teams often exist with the sole purpose of making Kubernetes approachable and usable for their product development colleagues. - -Visit the following resources to learn more: - -- [@official@Kubernetes Website](https://kubernetes.io/) -- [@official@Kubernetes Documentation](https://kubernetes.io/docs/home/) -- [@video@Kubernetes Crash Course for Absolute Beginners](https://www.youtube.com/watch?v=s_o8dwzRlu4) -- [@article@Primer: How Kubernetes Came to Be, What It Is, and Why You Should Care](https://thenewstack.io/primer-how-kubernetes-came-to-be-what-it-is-and-why-you-should-care/) -- [@article@Kubernetes: An Overview](https://thenewstack.io/kubernetes-an-overview/) -- [@feed@Explore top posts about Kubernetes](https://app.daily.dev/tags/kubernetes?ref=roadmapsh) diff --git a/src/data/roadmaps/backend/content/119-graphql/100-apollo.md b/src/data/roadmaps/backend/content/119-graphql/100-apollo.md deleted file mode 100644 index 2998402db..000000000 --- a/src/data/roadmaps/backend/content/119-graphql/100-apollo.md +++ /dev/null @@ -1,11 +0,0 @@ -# Apollo - -Apollo is a platform for building a unified graph, a communication layer that helps you manage the flow of data between your application clients (such as web and native apps) and your back-end services. - -Visit the following resources to learn more: - -- [@article@Apollo Website](https://www.apollographql.com) -- [@article@Official Docs](https://www.apollographql.com/docs/) -- [@video@Official YouTube Channel](https://www.youtube.com/c/ApolloGraphQL/) -- [@video@GraphQL With React Tutorial - Apollo Client](https://www.youtube.com/watch?v=YyUWW04HwKY) -- [@feed@Explore top posts about Apollo](https://app.daily.dev/tags/apollo?ref=roadmapsh) diff --git a/src/data/roadmaps/backend/content/119-graphql/101-relay-modern.md b/src/data/roadmaps/backend/content/119-graphql/101-relay-modern.md deleted file mode 100644 index 4afb8638d..000000000 --- a/src/data/roadmaps/backend/content/119-graphql/101-relay-modern.md +++ /dev/null @@ -1,8 +0,0 @@ -# Relay Modern - -Relay is a JavaScript client used in the browser to fetch GraphQL data. It's a JavaScript framework developed by Facebook for managing and fetching data in React applications. It is built with scalability in mind in order to power complex applications like Facebook. The ultimate goal of GraphQL and Relay is to deliver instant UI-response interactions. - -Visit the following resources to learn more: - -- [@official@Official Website](https://relay.dev/) -- [@official@Introduction to Relay modern](https://relay.dev/docs/) diff --git a/src/data/roadmaps/backend/content/119-graphql/index.md b/src/data/roadmaps/backend/content/119-graphql/index.md deleted file mode 100644 index b53f79bf1..000000000 --- a/src/data/roadmaps/backend/content/119-graphql/index.md +++ /dev/null @@ -1,11 +0,0 @@ -# Graphql - -GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools. - -Visit the following resources to learn more: - -- [@official@Introduction to GraphQL](https://graphql.org/learn/) -- [@article@The Fullstack Tutorial for GraphQL](https://www.howtographql.com/) -- [@article@GraphQL Tutorials](https://odyssey.apollographql.com/) -- [@video@GraphQL Course for Beginners](https://www.youtube.com/watch?v=ed8SzALpx1Q) -- [@feed@Explore top posts about GraphQL](https://app.daily.dev/tags/graphql?ref=roadmapsh) diff --git a/src/data/roadmaps/backend/content/120-graph-databases/100-neo4j.md b/src/data/roadmaps/backend/content/120-graph-databases/100-neo4j.md deleted file mode 100644 index 02144ae31..000000000 --- a/src/data/roadmaps/backend/content/120-graph-databases/100-neo4j.md +++ /dev/null @@ -1,10 +0,0 @@ -# Neo4j - -Neo4j AuraDB is a fast, reliable, scalable, and completely automated Neo4j graph database, provided as a cloud service. - -Visit the following resources to learn more: - -- [@article@Official Website](https://neo4j.com/) -- [@article@Official Docs](https://neo4j.com/docs/) -- [@video@Neo4j (Graph Database) Crash Course](https://www.youtube.com/watch?v=8jNPelugC2s) -- [@feed@Explore top posts about Neo4j](https://app.daily.dev/tags/neo4j?ref=roadmapsh) diff --git a/src/data/roadmaps/backend/content/123-scalability/100-mitigation-strategies/index.md b/src/data/roadmaps/backend/content/123-scalability/100-mitigation-strategies/index.md deleted file mode 100644 index b3b2ef0fa..000000000 --- a/src/data/roadmaps/backend/content/123-scalability/100-mitigation-strategies/index.md +++ /dev/null @@ -1,3 +0,0 @@ -# Mitigation Strategies - -This section is mainly relevant to the cloud design patterns that help you build scalable solutions. Have a look at the [Cloud Design Patterns](https://learn.microsoft.com/en-us/azure/architecture/patterns/) docs by Microsoft and this video covering [the throttling, retry and circuit breaker patterns](https://www.youtube.com/watch?v=0HoTGgb5oFg) diff --git a/src/data/roadmaps/backend/content/108-more-about-databases/101-acid.md b/src/data/roadmaps/backend/content/acid@qSAdfaGUfn8mtmDjHJi3z.md similarity index 100% rename from src/data/roadmaps/backend/content/108-more-about-databases/101-acid.md rename to src/data/roadmaps/backend/content/acid@qSAdfaGUfn8mtmDjHJi3z.md diff --git a/src/data/roadmaps/backend/content/122-web-servers/101-apache.md b/src/data/roadmaps/backend/content/apache@jjjonHTHHo-NiAf6p9xPv.md similarity index 100% rename from src/data/roadmaps/backend/content/122-web-servers/101-apache.md rename to src/data/roadmaps/backend/content/apache@jjjonHTHHo-NiAf6p9xPv.md diff --git a/src/data/roadmaps/backend/content/115-architectural-patterns/index.md b/src/data/roadmaps/backend/content/architectural-patterns@tHiUpG9LN35E5RaHddMv5.md similarity index 100% rename from src/data/roadmaps/backend/content/115-architectural-patterns/index.md rename to src/data/roadmaps/backend/content/architectural-patterns@tHiUpG9LN35E5RaHddMv5.md diff --git a/src/data/roadmaps/backend/content/109-apis/106-authentication/index.md b/src/data/roadmaps/backend/content/authentication@PY9G7KQy8bF6eIdr1ydHf.md similarity index 100% rename from src/data/roadmaps/backend/content/109-apis/106-authentication/index.md rename to src/data/roadmaps/backend/content/authentication@PY9G7KQy8bF6eIdr1ydHf.md diff --git a/src/data/roadmaps/backend/content/aws-neptune@5xy66yQrz1P1w7n6PcAFq.md b/src/data/roadmaps/backend/content/aws-neptune@5xy66yQrz1P1w7n6PcAFq.md new file mode 100644 index 000000000..22fb8d842 --- /dev/null +++ b/src/data/roadmaps/backend/content/aws-neptune@5xy66yQrz1P1w7n6PcAFq.md @@ -0,0 +1 @@ +# AWS Neptune \ No newline at end of file diff --git a/src/data/roadmaps/backend/content/123-scalability/100-mitigation-strategies/102-backpressure.md b/src/data/roadmaps/backend/content/backpressure@JansCqGDyXecQkD1K7E7e.md similarity index 100% rename from src/data/roadmaps/backend/content/123-scalability/100-mitigation-strategies/102-backpressure.md rename to src/data/roadmaps/backend/content/backpressure@JansCqGDyXecQkD1K7E7e.md diff --git a/src/data/roadmaps/backend/content/base@QZwTLOvjUTaSb_9deuxsR.md b/src/data/roadmaps/backend/content/base@QZwTLOvjUTaSb_9deuxsR.md new file mode 100644 index 000000000..2d4d68c7a --- /dev/null +++ b/src/data/roadmaps/backend/content/base@QZwTLOvjUTaSb_9deuxsR.md @@ -0,0 +1 @@ +# Base \ No newline at end of file diff --git a/src/data/roadmaps/backend/content/109-apis/106-authentication/102-basic-authentication.md b/src/data/roadmaps/backend/content/basic-authentication@yRiJgjjv2s1uV9vgo3n8m.md similarity index 100% rename from src/data/roadmaps/backend/content/109-apis/106-authentication/102-basic-authentication.md rename to src/data/roadmaps/backend/content/basic-authentication@yRiJgjjv2s1uV9vgo3n8m.md diff --git a/src/data/roadmaps/backend/content/111-web-security-knowledge/102-bcrypt.md b/src/data/roadmaps/backend/content/bcrypt@dlG1bVkDmjI3PEGpkm1xH.md similarity index 100% rename from src/data/roadmaps/backend/content/111-web-security-knowledge/102-bcrypt.md rename to src/data/roadmaps/backend/content/bcrypt@dlG1bVkDmjI3PEGpkm1xH.md diff --git a/src/data/roadmaps/backend/content/105-repo-hosting-services/102-bitbucket.md b/src/data/roadmaps/backend/content/bitbucket@Ry_5Y-BK7HrkIc6X0JG1m.md similarity index 100% rename from src/data/roadmaps/backend/content/105-repo-hosting-services/102-bitbucket.md rename to src/data/roadmaps/backend/content/bitbucket@Ry_5Y-BK7HrkIc6X0JG1m.md diff --git a/src/data/roadmaps/backend/content/100-internet/105-what-is-hosting.md b/src/data/roadmaps/backend/content/browsers-and-how-they-work@P82WFaTPgQEPNp5IIuZ1Y.md similarity index 100% rename from src/data/roadmaps/backend/content/100-internet/105-what-is-hosting.md rename to src/data/roadmaps/backend/content/browsers-and-how-they-work@P82WFaTPgQEPNp5IIuZ1Y.md diff --git a/src/data/roadmaps/backend/content/123-scalability/index.md b/src/data/roadmaps/backend/content/building-for-scale@SHmbcMRsc3SygEDksJQBD.md similarity index 100% rename from src/data/roadmaps/backend/content/123-scalability/index.md rename to src/data/roadmaps/backend/content/building-for-scale@SHmbcMRsc3SygEDksJQBD.md diff --git a/src/data/roadmaps/backend/content/103-learn-a-language/103-csharp.md b/src/data/roadmaps/backend/content/c@rImbMHLLfJwjf3l25vBkc.md similarity index 100% rename from src/data/roadmaps/backend/content/103-learn-a-language/103-csharp.md rename to src/data/roadmaps/backend/content/c@rImbMHLLfJwjf3l25vBkc.md diff --git a/src/data/roadmaps/backend/content/110-caching/index.md b/src/data/roadmaps/backend/content/caching@ELj8af7Mi38kUbaPJfCUR.md similarity index 100% rename from src/data/roadmaps/backend/content/110-caching/index.md rename to src/data/roadmaps/backend/content/caching@ELj8af7Mi38kUbaPJfCUR.md diff --git a/src/data/roadmaps/backend/content/122-web-servers/102-caddy.md b/src/data/roadmaps/backend/content/caddy@Op-PSPNoyj6Ss9CS09AXh.md similarity index 100% rename from src/data/roadmaps/backend/content/122-web-servers/102-caddy.md rename to src/data/roadmaps/backend/content/caddy@Op-PSPNoyj6Ss9CS09AXh.md diff --git a/src/data/roadmaps/backend/content/109-scaling-databases/103-cap-theorem.md b/src/data/roadmaps/backend/content/cap-theorem@LAdKDJ4LcMaDWqslMvE8X.md similarity index 100% rename from src/data/roadmaps/backend/content/109-scaling-databases/103-cap-theorem.md rename to src/data/roadmaps/backend/content/cap-theorem@LAdKDJ4LcMaDWqslMvE8X.md diff --git a/src/data/roadmaps/backend/content/107-nosql-databases/101-column-databases.md b/src/data/roadmaps/backend/content/cassandra@gT6-z2vhdIQDzmR2K1g1U.md similarity index 100% rename from src/data/roadmaps/backend/content/107-nosql-databases/101-column-databases.md rename to src/data/roadmaps/backend/content/cassandra@gT6-z2vhdIQDzmR2K1g1U.md diff --git a/src/data/roadmaps/backend/content/110-caching/100-cdn.md b/src/data/roadmaps/backend/content/cdn@Nq2BO53bHJdFT1rGZPjYx.md similarity index 100% rename from src/data/roadmaps/backend/content/110-caching/100-cdn.md rename to src/data/roadmaps/backend/content/cdn@Nq2BO53bHJdFT1rGZPjYx.md diff --git a/src/data/roadmaps/backend/content/113-ci-cd.md b/src/data/roadmaps/backend/content/ci--cd@mGfD7HfuP184lFkXZzGjG.md similarity index 100% rename from src/data/roadmaps/backend/content/113-ci-cd.md rename to src/data/roadmaps/backend/content/ci--cd@mGfD7HfuP184lFkXZzGjG.md diff --git a/src/data/roadmaps/backend/content/123-scalability/100-mitigation-strategies/104-circuit-breaker.md b/src/data/roadmaps/backend/content/circuit-breaker@spkiQTPvXY4qrhhVUkoPV.md similarity index 100% rename from src/data/roadmaps/backend/content/123-scalability/100-mitigation-strategies/104-circuit-breaker.md rename to src/data/roadmaps/backend/content/circuit-breaker@spkiQTPvXY4qrhhVUkoPV.md diff --git a/src/data/roadmaps/backend/content/110-caching/102-client-side.md b/src/data/roadmaps/backend/content/client-side@KWTbEVX_WxS8jmSaAX3Fe.md similarity index 100% rename from src/data/roadmaps/backend/content/110-caching/102-client-side.md rename to src/data/roadmaps/backend/content/client-side@KWTbEVX_WxS8jmSaAX3Fe.md diff --git a/src/data/roadmaps/backend/content/118-containerization/index.md b/src/data/roadmaps/backend/content/containerization-vs-virtualization@SGVwJme-jT_pbOTvems0v.md similarity index 100% rename from src/data/roadmaps/backend/content/118-containerization/index.md rename to src/data/roadmaps/backend/content/containerization-vs-virtualization@SGVwJme-jT_pbOTvems0v.md diff --git a/src/data/roadmaps/backend/content/109-apis/106-authentication/100-cookie-based.md b/src/data/roadmaps/backend/content/cookie-based-auth@ffzsh8_5yRq85trFt9Xhk.md similarity index 100% rename from src/data/roadmaps/backend/content/109-apis/106-authentication/100-cookie-based.md rename to src/data/roadmaps/backend/content/cookie-based-auth@ffzsh8_5yRq85trFt9Xhk.md diff --git a/src/data/roadmaps/backend/content/111-web-security-knowledge/106-cors.md b/src/data/roadmaps/backend/content/cors@LU6WUbkWKbPM1rb2_gEqa.md similarity index 100% rename from src/data/roadmaps/backend/content/111-web-security-knowledge/106-cors.md rename to src/data/roadmaps/backend/content/cors@LU6WUbkWKbPM1rb2_gEqa.md diff --git a/src/data/roadmaps/backend/content/couchdb@qOlNzZ7U8LhIGukb67n7U.md b/src/data/roadmaps/backend/content/couchdb@qOlNzZ7U8LhIGukb67n7U.md new file mode 100644 index 000000000..3325ce90c --- /dev/null +++ b/src/data/roadmaps/backend/content/couchdb@qOlNzZ7U8LhIGukb67n7U.md @@ -0,0 +1 @@ +# CouchDB \ No newline at end of file diff --git a/src/data/roadmaps/backend/content/114-design-and-development-principles/103-cqrs.md b/src/data/roadmaps/backend/content/cqrs@u8IRw5PuXGUcmxA0YYXgx.md similarity index 100% rename from src/data/roadmaps/backend/content/114-design-and-development-principles/103-cqrs.md rename to src/data/roadmaps/backend/content/cqrs@u8IRw5PuXGUcmxA0YYXgx.md diff --git a/src/data/roadmaps/backend/content/111-web-security-knowledge/105-content-security-policy.md b/src/data/roadmaps/backend/content/csp@HgQBde1zLUFtlwB66PR6_.md similarity index 100% rename from src/data/roadmaps/backend/content/111-web-security-knowledge/105-content-security-policy.md rename to src/data/roadmaps/backend/content/csp@HgQBde1zLUFtlwB66PR6_.md diff --git a/src/data/roadmaps/backend/content/109-scaling-databases/101-data-replication.md b/src/data/roadmaps/backend/content/data-replication@wrl7HHWXOaxoKVlNZxZ6d.md similarity index 100% rename from src/data/roadmaps/backend/content/109-scaling-databases/101-data-replication.md rename to src/data/roadmaps/backend/content/data-replication@wrl7HHWXOaxoKVlNZxZ6d.md diff --git a/src/data/roadmaps/backend/content/109-scaling-databases/100-database-indexes.md b/src/data/roadmaps/backend/content/database-indexes@y-xkHFE9YzhNIX3EiWspL.md similarity index 100% rename from src/data/roadmaps/backend/content/109-scaling-databases/100-database-indexes.md rename to src/data/roadmaps/backend/content/database-indexes@y-xkHFE9YzhNIX3EiWspL.md diff --git a/src/data/roadmaps/backend/content/114-design-and-development-principles/index.md b/src/data/roadmaps/backend/content/design-and-development-principles@9Fpoor-Os_9lvrwu5Zjh-.md similarity index 100% rename from src/data/roadmaps/backend/content/114-design-and-development-principles/index.md rename to src/data/roadmaps/backend/content/design-and-development-principles@9Fpoor-Os_9lvrwu5Zjh-.md diff --git a/src/data/roadmaps/backend/content/100-internet/104-what-is-domain-name.md b/src/data/roadmaps/backend/content/dns-and-how-it-works@hkxw9jPGYphmjhTjw8766.md similarity index 100% rename from src/data/roadmaps/backend/content/100-internet/104-what-is-domain-name.md rename to src/data/roadmaps/backend/content/dns-and-how-it-works@hkxw9jPGYphmjhTjw8766.md diff --git a/src/data/roadmaps/backend/content/114-design-and-development-principles/101-domain-driven-design.md b/src/data/roadmaps/backend/content/domain-driven-design@BvHi5obg0L1JDZFKBzx9t.md similarity index 100% rename from src/data/roadmaps/backend/content/114-design-and-development-principles/101-domain-driven-design.md rename to src/data/roadmaps/backend/content/domain-driven-design@BvHi5obg0L1JDZFKBzx9t.md diff --git a/src/data/roadmaps/backend/content/dynamodb@dwfEHInbX2eFiafM-nRMX.md b/src/data/roadmaps/backend/content/dynamodb@dwfEHInbX2eFiafM-nRMX.md new file mode 100644 index 000000000..627f65c6c --- /dev/null +++ b/src/data/roadmaps/backend/content/dynamodb@dwfEHInbX2eFiafM-nRMX.md @@ -0,0 +1 @@ +# DynamoDB \ No newline at end of file diff --git a/src/data/roadmaps/backend/content/116-search-engines/100-elasticsearch.md b/src/data/roadmaps/backend/content/elasticsearch@NulaE1isWqn-feYHg4YQT.md similarity index 100% rename from src/data/roadmaps/backend/content/116-search-engines/100-elasticsearch.md rename to src/data/roadmaps/backend/content/elasticsearch@NulaE1isWqn-feYHg4YQT.md diff --git a/src/data/roadmaps/backend/content/114-design-and-development-principles/104-event-sourcing.md b/src/data/roadmaps/backend/content/event-sourcing@wqE-mkxvehOzOv8UyE39p.md similarity index 100% rename from src/data/roadmaps/backend/content/114-design-and-development-principles/104-event-sourcing.md rename to src/data/roadmaps/backend/content/event-sourcing@wqE-mkxvehOzOv8UyE39p.md diff --git a/src/data/roadmaps/backend/content/108-more-about-databases/105-failure-modes.md b/src/data/roadmaps/backend/content/failure-modes@GwApfL4Yx-b5Y8dB9Vy__.md similarity index 100% rename from src/data/roadmaps/backend/content/108-more-about-databases/105-failure-modes.md rename to src/data/roadmaps/backend/content/failure-modes@GwApfL4Yx-b5Y8dB9Vy__.md diff --git a/src/data/roadmaps/backend/content/107-nosql-databases/103-realtime-databases.md b/src/data/roadmaps/backend/content/firebase@RyJFLLGieJ8Xjt-DlIayM.md similarity index 100% rename from src/data/roadmaps/backend/content/107-nosql-databases/103-realtime-databases.md rename to src/data/roadmaps/backend/content/firebase@RyJFLLGieJ8Xjt-DlIayM.md diff --git a/src/data/roadmaps/backend/content/112-testing/102-functional-testing.md b/src/data/roadmaps/backend/content/functional-testing@NAGisfq2CgeK3SsuRjnMw.md similarity index 100% rename from src/data/roadmaps/backend/content/112-testing/102-functional-testing.md rename to src/data/roadmaps/backend/content/functional-testing@NAGisfq2CgeK3SsuRjnMw.md diff --git a/src/data/roadmaps/backend/content/104-version-control-systems/101-git.md b/src/data/roadmaps/backend/content/git@_I1E__wCIVrhjMk6IMieE.md similarity index 100% rename from src/data/roadmaps/backend/content/104-version-control-systems/101-git.md rename to src/data/roadmaps/backend/content/git@_I1E__wCIVrhjMk6IMieE.md diff --git a/src/data/roadmaps/backend/content/105-repo-hosting-services/100-github.md b/src/data/roadmaps/backend/content/github@ptD8EVqwFUYr4W5A_tABY.md similarity index 100% rename from src/data/roadmaps/backend/content/105-repo-hosting-services/100-github.md rename to src/data/roadmaps/backend/content/github@ptD8EVqwFUYr4W5A_tABY.md diff --git a/src/data/roadmaps/backend/content/105-repo-hosting-services/101-gitlab.md b/src/data/roadmaps/backend/content/gitlab@Wcp-VDdFHipwa7hNAp1z_.md similarity index 100% rename from src/data/roadmaps/backend/content/105-repo-hosting-services/101-gitlab.md rename to src/data/roadmaps/backend/content/gitlab@Wcp-VDdFHipwa7hNAp1z_.md diff --git a/src/data/roadmaps/backend/content/103-learn-a-language/100-go.md b/src/data/roadmaps/backend/content/go@BdXbcz4-ar3XOX0wIKzBp.md similarity index 100% rename from src/data/roadmaps/backend/content/103-learn-a-language/100-go.md rename to src/data/roadmaps/backend/content/go@BdXbcz4-ar3XOX0wIKzBp.md diff --git a/src/data/roadmaps/backend/content/114-design-and-development-principles/100-gof-design-patterns.md b/src/data/roadmaps/backend/content/god-design-patterns@6XIWO0MoE-ySl4qh_ihXa.md similarity index 100% rename from src/data/roadmaps/backend/content/114-design-and-development-principles/100-gof-design-patterns.md rename to src/data/roadmaps/backend/content/god-design-patterns@6XIWO0MoE-ySl4qh_ihXa.md diff --git a/src/data/roadmaps/backend/content/123-scalability/100-mitigation-strategies/100-graceful-degradation.md b/src/data/roadmaps/backend/content/graceful-degradation@G9AI_i3MkUE1BsO3_-PH7.md similarity index 100% rename from src/data/roadmaps/backend/content/123-scalability/100-mitigation-strategies/100-graceful-degradation.md rename to src/data/roadmaps/backend/content/graceful-degradation@G9AI_i3MkUE1BsO3_-PH7.md diff --git a/src/data/roadmaps/backend/content/109-apis/106-graphql.md b/src/data/roadmaps/backend/content/graphql@zp3bq38tMnutT2N0tktOW.md similarity index 100% rename from src/data/roadmaps/backend/content/109-apis/106-graphql.md rename to src/data/roadmaps/backend/content/graphql@zp3bq38tMnutT2N0tktOW.md diff --git a/src/data/roadmaps/backend/content/109-apis/103-grpc.md b/src/data/roadmaps/backend/content/grpc@J-TOE2lT4At1mSdNoxPS1.md similarity index 100% rename from src/data/roadmaps/backend/content/109-apis/103-grpc.md rename to src/data/roadmaps/backend/content/grpc@J-TOE2lT4At1mSdNoxPS1.md diff --git a/src/data/roadmaps/backend/content/109-apis/104-hateoas.md b/src/data/roadmaps/backend/content/hateoas@dLY0KafPstajCcSbslC4M.md similarity index 100% rename from src/data/roadmaps/backend/content/109-apis/104-hateoas.md rename to src/data/roadmaps/backend/content/hateoas@dLY0KafPstajCcSbslC4M.md diff --git a/src/data/roadmaps/backend/content/100-internet/100-how-does-the-internet-work.md b/src/data/roadmaps/backend/content/how-does-the-internet-work@yCnn-NfSxIybUQ2iTuUGq.md similarity index 100% rename from src/data/roadmaps/backend/content/100-internet/100-how-does-the-internet-work.md rename to src/data/roadmaps/backend/content/how-does-the-internet-work@yCnn-NfSxIybUQ2iTuUGq.md diff --git a/src/data/roadmaps/backend/content/111-web-security-knowledge/105-https.md b/src/data/roadmaps/backend/content/https@x-WBJjBd8u93ym5gtxGsR.md similarity index 100% rename from src/data/roadmaps/backend/content/111-web-security-knowledge/105-https.md rename to src/data/roadmaps/backend/content/https@x-WBJjBd8u93ym5gtxGsR.md diff --git a/src/data/roadmaps/backend/content/107-nosql-databases/102-timeseries-databases.md b/src/data/roadmaps/backend/content/influx-db@XbM4TDImSH-56NsITjyHK.md similarity index 100% rename from src/data/roadmaps/backend/content/107-nosql-databases/102-timeseries-databases.md rename to src/data/roadmaps/backend/content/influx-db@XbM4TDImSH-56NsITjyHK.md diff --git a/src/data/roadmaps/backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md b/src/data/roadmaps/backend/content/instrumentation@4X-sbqpP0NDhM99bKdqIa.md similarity index 100% rename from src/data/roadmaps/backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md rename to src/data/roadmaps/backend/content/instrumentation@4X-sbqpP0NDhM99bKdqIa.md diff --git a/src/data/roadmaps/backend/content/112-testing/100-integration-testing.md b/src/data/roadmaps/backend/content/integration-testing@381Kw1IMRv7CJp-Uf--qd.md similarity index 100% rename from src/data/roadmaps/backend/content/112-testing/100-integration-testing.md rename to src/data/roadmaps/backend/content/integration-testing@381Kw1IMRv7CJp-Uf--qd.md diff --git a/src/data/roadmaps/backend/content/100-internet/index.md b/src/data/roadmaps/backend/content/internet@SiYUdtYMDImRPmV2_XPkH.md similarity index 100% rename from src/data/roadmaps/backend/content/100-internet/index.md rename to src/data/roadmaps/backend/content/internet@SiYUdtYMDImRPmV2_XPkH.md diff --git a/src/data/roadmaps/backend/content/103-learn-a-language/102-java.md b/src/data/roadmaps/backend/content/java@ANeSwxJDJyQ-49pO2-CCI.md similarity index 100% rename from src/data/roadmaps/backend/content/103-learn-a-language/102-java.md rename to src/data/roadmaps/backend/content/java@ANeSwxJDJyQ-49pO2-CCI.md diff --git a/src/data/roadmaps/backend/content/103-learn-a-language/105-javascript.md b/src/data/roadmaps/backend/content/javascript@8-lO-v6jCYYoklEJXULxN.md similarity index 100% rename from src/data/roadmaps/backend/content/103-learn-a-language/105-javascript.md rename to src/data/roadmaps/backend/content/javascript@8-lO-v6jCYYoklEJXULxN.md diff --git a/src/data/roadmaps/backend/content/109-apis/101-json-apis.md b/src/data/roadmaps/backend/content/json-apis@sNceS4MpSIjRkWhNDmrFg.md similarity index 100% rename from src/data/roadmaps/backend/content/109-apis/101-json-apis.md rename to src/data/roadmaps/backend/content/json-apis@sNceS4MpSIjRkWhNDmrFg.md diff --git a/src/data/roadmaps/backend/content/109-apis/106-authentication/104-jwt.md b/src/data/roadmaps/backend/content/jwt@UxS_mzVUjLigEwKrXnEeB.md similarity index 100% rename from src/data/roadmaps/backend/content/109-apis/106-authentication/104-jwt.md rename to src/data/roadmaps/backend/content/jwt@UxS_mzVUjLigEwKrXnEeB.md diff --git a/src/data/roadmaps/backend/content/117-message-brokers/101-kafka.md b/src/data/roadmaps/backend/content/kafka@VoYSis1F1ZfTxMlQlXQKB.md similarity index 100% rename from src/data/roadmaps/backend/content/117-message-brokers/101-kafka.md rename to src/data/roadmaps/backend/content/kafka@VoYSis1F1ZfTxMlQlXQKB.md diff --git a/src/data/roadmaps/backend/content/109-apis/index.md b/src/data/roadmaps/backend/content/learn-about-apis@EwvLPSI6AlZ4TnNIJTZA4.md similarity index 100% rename from src/data/roadmaps/backend/content/109-apis/index.md rename to src/data/roadmaps/backend/content/learn-about-apis@EwvLPSI6AlZ4TnNIJTZA4.md diff --git a/src/data/roadmaps/backend/content/123-scalability/100-mitigation-strategies/103-loadshifting.md b/src/data/roadmaps/backend/content/loadshifting@HoQdX7a4SnkFRU4RPQ-D5.md similarity index 100% rename from src/data/roadmaps/backend/content/123-scalability/100-mitigation-strategies/103-loadshifting.md rename to src/data/roadmaps/backend/content/loadshifting@HoQdX7a4SnkFRU4RPQ-D5.md diff --git a/src/data/roadmaps/backend/content/123-long-polling.md b/src/data/roadmaps/backend/content/long-polling@osvajAJlwGI3XnX0fE-kA.md similarity index 100% rename from src/data/roadmaps/backend/content/123-long-polling.md rename to src/data/roadmaps/backend/content/long-polling@osvajAJlwGI3XnX0fE-kA.md diff --git a/src/data/roadmaps/backend/content/118-containerization/102-lxc.md b/src/data/roadmaps/backend/content/lxc@31ZlpfIPr9-5vYZqvjUeL.md similarity index 100% rename from src/data/roadmaps/backend/content/118-containerization/102-lxc.md rename to src/data/roadmaps/backend/content/lxc@31ZlpfIPr9-5vYZqvjUeL.md diff --git a/src/data/roadmaps/backend/content/106-relational-databases/102-mariadb.md b/src/data/roadmaps/backend/content/mariadb@tD3i-8gBpMKCHB-ITyDiU.md similarity index 100% rename from src/data/roadmaps/backend/content/106-relational-databases/102-mariadb.md rename to src/data/roadmaps/backend/content/mariadb@tD3i-8gBpMKCHB-ITyDiU.md diff --git a/src/data/roadmaps/backend/content/111-web-security-knowledge/100-md5.md b/src/data/roadmaps/backend/content/md5@jWwA6yX4Zjx-r_KpDaD3c.md similarity index 100% rename from src/data/roadmaps/backend/content/111-web-security-knowledge/100-md5.md rename to src/data/roadmaps/backend/content/md5@jWwA6yX4Zjx-r_KpDaD3c.md diff --git a/src/data/roadmaps/backend/content/110-caching/101-server-side/101-memcached.md b/src/data/roadmaps/backend/content/memcached@xPvVwGQw28uMeLYIWn8yn.md similarity index 100% rename from src/data/roadmaps/backend/content/110-caching/101-server-side/101-memcached.md rename to src/data/roadmaps/backend/content/memcached@xPvVwGQw28uMeLYIWn8yn.md diff --git a/src/data/roadmaps/backend/content/117-message-brokers/index.md b/src/data/roadmaps/backend/content/message-brokers@nJ5FpFgGCRaALcWmAKBKT.md similarity index 100% rename from src/data/roadmaps/backend/content/117-message-brokers/index.md rename to src/data/roadmaps/backend/content/message-brokers@nJ5FpFgGCRaALcWmAKBKT.md diff --git a/src/data/roadmaps/backend/content/115-architectural-patterns/101-microservices.md b/src/data/roadmaps/backend/content/microservices@K55h3aqOGe6-hgVhiFisT.md similarity index 100% rename from src/data/roadmaps/backend/content/115-architectural-patterns/101-microservices.md rename to src/data/roadmaps/backend/content/microservices@K55h3aqOGe6-hgVhiFisT.md diff --git a/src/data/roadmaps/backend/content/123-scalability/102-migration-strategies.md b/src/data/roadmaps/backend/content/migration-strategies@f7iWBkC0X7yyCoP_YubVd.md similarity index 100% rename from src/data/roadmaps/backend/content/123-scalability/102-migration-strategies.md rename to src/data/roadmaps/backend/content/migration-strategies@f7iWBkC0X7yyCoP_YubVd.md diff --git a/src/data/roadmaps/backend/content/107-nosql-databases/100-document-databases.md b/src/data/roadmaps/backend/content/mongodb@28U6q_X-NTYf7OSKHjoWH.md similarity index 100% rename from src/data/roadmaps/backend/content/107-nosql-databases/100-document-databases.md rename to src/data/roadmaps/backend/content/mongodb@28U6q_X-NTYf7OSKHjoWH.md diff --git a/src/data/roadmaps/backend/content/monitoring@QvMEEsXh0-rzn5hDGcmEv.md b/src/data/roadmaps/backend/content/monitoring@QvMEEsXh0-rzn5hDGcmEv.md new file mode 100644 index 000000000..2ddbe89cb --- /dev/null +++ b/src/data/roadmaps/backend/content/monitoring@QvMEEsXh0-rzn5hDGcmEv.md @@ -0,0 +1 @@ +# Monitoring \ No newline at end of file diff --git a/src/data/roadmaps/backend/content/115-architectural-patterns/100-monolithic-apps.md b/src/data/roadmaps/backend/content/monolithic-apps@Ke522R-4k6TDeiDRyZbbU.md similarity index 100% rename from src/data/roadmaps/backend/content/115-architectural-patterns/100-monolithic-apps.md rename to src/data/roadmaps/backend/content/monolithic-apps@Ke522R-4k6TDeiDRyZbbU.md diff --git a/src/data/roadmaps/backend/content/108-more-about-databases/index.md b/src/data/roadmaps/backend/content/more-about-databases@LJt27onEOeIBomiEMTyKd.md similarity index 100% rename from src/data/roadmaps/backend/content/108-more-about-databases/index.md rename to src/data/roadmaps/backend/content/more-about-databases@LJt27onEOeIBomiEMTyKd.md diff --git a/src/data/roadmaps/backend/content/122-web-servers/103-ms-iis.md b/src/data/roadmaps/backend/content/ms-iis@0NJDgfe6eMa7qPUOI6Eya.md similarity index 100% rename from src/data/roadmaps/backend/content/122-web-servers/103-ms-iis.md rename to src/data/roadmaps/backend/content/ms-iis@0NJDgfe6eMa7qPUOI6Eya.md diff --git a/src/data/roadmaps/backend/content/106-relational-databases/103-mssql.md b/src/data/roadmaps/backend/content/ms-sql@dEsTje8kfHwWjCI3zcgLC.md similarity index 100% rename from src/data/roadmaps/backend/content/106-relational-databases/103-mssql.md rename to src/data/roadmaps/backend/content/ms-sql@dEsTje8kfHwWjCI3zcgLC.md diff --git a/src/data/roadmaps/backend/content/106-relational-databases/101-mysql.md b/src/data/roadmaps/backend/content/mysql@VPxOdjJtKAqmM5V0LR5OC.md similarity index 100% rename from src/data/roadmaps/backend/content/106-relational-databases/101-mysql.md rename to src/data/roadmaps/backend/content/mysql@VPxOdjJtKAqmM5V0LR5OC.md diff --git a/src/data/roadmaps/backend/content/108-more-about-databases/103-n-plus-one-problem.md b/src/data/roadmaps/backend/content/n1-problem@bQnOAu863hsHdyNMNyJop.md similarity index 100% rename from src/data/roadmaps/backend/content/108-more-about-databases/103-n-plus-one-problem.md rename to src/data/roadmaps/backend/content/n1-problem@bQnOAu863hsHdyNMNyJop.md diff --git a/src/data/roadmaps/backend/content/120-graph-databases/index.md b/src/data/roadmaps/backend/content/neo4j@BTNJfWemFKEeNeTyENXui.md similarity index 100% rename from src/data/roadmaps/backend/content/120-graph-databases/index.md rename to src/data/roadmaps/backend/content/neo4j@BTNJfWemFKEeNeTyENXui.md diff --git a/src/data/roadmaps/backend/content/122-web-servers/100-nginx.md b/src/data/roadmaps/backend/content/nginx@z5AdThp9ByulmM9uekgm-.md similarity index 100% rename from src/data/roadmaps/backend/content/122-web-servers/100-nginx.md rename to src/data/roadmaps/backend/content/nginx@z5AdThp9ByulmM9uekgm-.md diff --git a/src/data/roadmaps/backend/content/108-more-about-databases/104-database-normalization.md b/src/data/roadmaps/backend/content/normalization@Ge2SnKBrQQrU-oGLz6TmT.md similarity index 100% rename from src/data/roadmaps/backend/content/108-more-about-databases/104-database-normalization.md rename to src/data/roadmaps/backend/content/normalization@Ge2SnKBrQQrU-oGLz6TmT.md diff --git a/src/data/roadmaps/backend/content/107-nosql-databases/index.md b/src/data/roadmaps/backend/content/nosql-databases@F8frGuv1dunOdcVJ_IiGs.md similarity index 100% rename from src/data/roadmaps/backend/content/107-nosql-databases/index.md rename to src/data/roadmaps/backend/content/nosql-databases@F8frGuv1dunOdcVJ_IiGs.md diff --git a/src/data/roadmaps/backend/content/109-apis/106-authentication/101-oauth.md b/src/data/roadmaps/backend/content/oauth@vp-muizdICcmU0gN8zmkS.md similarity index 100% rename from src/data/roadmaps/backend/content/109-apis/106-authentication/101-oauth.md rename to src/data/roadmaps/backend/content/oauth@vp-muizdICcmU0gN8zmkS.md diff --git a/src/data/roadmaps/backend/content/123-scalability/104-observability.md b/src/data/roadmaps/backend/content/observability@Z01E67D6KjrShvQCHjGR7.md similarity index 100% rename from src/data/roadmaps/backend/content/123-scalability/104-observability.md rename to src/data/roadmaps/backend/content/observability@Z01E67D6KjrShvQCHjGR7.md diff --git a/src/data/roadmaps/backend/content/109-apis/105-open-api-spec.md b/src/data/roadmaps/backend/content/open-api-specs@9cD5ag1L0GqHx4_zxc5JX.md similarity index 100% rename from src/data/roadmaps/backend/content/109-apis/105-open-api-spec.md rename to src/data/roadmaps/backend/content/open-api-specs@9cD5ag1L0GqHx4_zxc5JX.md diff --git a/src/data/roadmaps/backend/content/109-apis/106-authentication/105-openid.md b/src/data/roadmaps/backend/content/openid@z3EJBpgGm0_Uj3ymhypbX.md similarity index 100% rename from src/data/roadmaps/backend/content/109-apis/106-authentication/105-openid.md rename to src/data/roadmaps/backend/content/openid@z3EJBpgGm0_Uj3ymhypbX.md diff --git a/src/data/roadmaps/backend/content/106-relational-databases/104-oracle.md b/src/data/roadmaps/backend/content/oracle@h1SAjQltHtztSt8QmRgab.md similarity index 100% rename from src/data/roadmaps/backend/content/106-relational-databases/104-oracle.md rename to src/data/roadmaps/backend/content/oracle@h1SAjQltHtztSt8QmRgab.md diff --git a/src/data/roadmaps/backend/content/108-more-about-databases/100-orms.md b/src/data/roadmaps/backend/content/orms@Z7jp_Juj5PffSxV7UZcBb.md similarity index 100% rename from src/data/roadmaps/backend/content/108-more-about-databases/100-orms.md rename to src/data/roadmaps/backend/content/orms@Z7jp_Juj5PffSxV7UZcBb.md diff --git a/src/data/roadmaps/backend/content/111-web-security-knowledge/108-owasp.md b/src/data/roadmaps/backend/content/owasp-risks@AAgciyxuDvS2B_c6FRMvT.md similarity index 100% rename from src/data/roadmaps/backend/content/111-web-security-knowledge/108-owasp.md rename to src/data/roadmaps/backend/content/owasp-risks@AAgciyxuDvS2B_c6FRMvT.md diff --git a/src/data/roadmaps/backend/content/103-learn-a-language/103-php.md b/src/data/roadmaps/backend/content/php@l9Wrq_Ad9-Ju4NIB0m5Ha.md similarity index 100% rename from src/data/roadmaps/backend/content/103-learn-a-language/103-php.md rename to src/data/roadmaps/backend/content/php@l9Wrq_Ad9-Ju4NIB0m5Ha.md diff --git a/src/data/roadmaps/backend/content/103-learn-a-language/index.md b/src/data/roadmaps/backend/content/pick-a-language@2f0ZO6GJElfZ2Eis28Hzg.md similarity index 100% rename from src/data/roadmaps/backend/content/103-learn-a-language/index.md rename to src/data/roadmaps/backend/content/pick-a-language@2f0ZO6GJElfZ2Eis28Hzg.md diff --git a/src/data/roadmaps/backend/content/106-relational-databases/100-postgresql.md b/src/data/roadmaps/backend/content/postgresql@FihTrMO56kj9jT8O_pO2T.md similarity index 100% rename from src/data/roadmaps/backend/content/106-relational-databases/100-postgresql.md rename to src/data/roadmaps/backend/content/postgresql@FihTrMO56kj9jT8O_pO2T.md diff --git a/src/data/roadmaps/backend/content/108-more-about-databases/106-profiling-performance.md b/src/data/roadmaps/backend/content/profiling-perfor@SYXJhanu0lFmGj2m2XXhS.md similarity index 100% rename from src/data/roadmaps/backend/content/108-more-about-databases/106-profiling-performance.md rename to src/data/roadmaps/backend/content/profiling-perfor@SYXJhanu0lFmGj2m2XXhS.md diff --git a/src/data/roadmaps/backend/content/103-learn-a-language/106-python.md b/src/data/roadmaps/backend/content/python@J_sVHsD72Yzyqb9KCIvAY.md similarity index 100% rename from src/data/roadmaps/backend/content/103-learn-a-language/106-python.md rename to src/data/roadmaps/backend/content/python@J_sVHsD72Yzyqb9KCIvAY.md diff --git a/src/data/roadmaps/backend/content/117-message-brokers/100-rabbitmq.md b/src/data/roadmaps/backend/content/rabbitmq@GPFRMcY1DEtRgnaZwJ3vW.md similarity index 100% rename from src/data/roadmaps/backend/content/117-message-brokers/100-rabbitmq.md rename to src/data/roadmaps/backend/content/rabbitmq@GPFRMcY1DEtRgnaZwJ3vW.md diff --git a/src/data/roadmaps/backend/content/120-real-time-data.md b/src/data/roadmaps/backend/content/real-time-data@5XGvep2qoti31bsyqNzrU.md similarity index 100% rename from src/data/roadmaps/backend/content/120-real-time-data.md rename to src/data/roadmaps/backend/content/real-time-data@5XGvep2qoti31bsyqNzrU.md diff --git a/src/data/roadmaps/backend/content/107-nosql-databases/104-key-value-databases.md b/src/data/roadmaps/backend/content/redis@M0iaSSdVPWaCUpyTG50Vf.md similarity index 100% rename from src/data/roadmaps/backend/content/107-nosql-databases/104-key-value-databases.md rename to src/data/roadmaps/backend/content/redis@M0iaSSdVPWaCUpyTG50Vf.md diff --git a/src/data/roadmaps/backend/content/110-caching/101-server-side/100-redis.md b/src/data/roadmaps/backend/content/redis@g8GjkJAhvnSxXTZks0V1g.md similarity index 100% rename from src/data/roadmaps/backend/content/110-caching/101-server-side/100-redis.md rename to src/data/roadmaps/backend/content/redis@g8GjkJAhvnSxXTZks0V1g.md diff --git a/src/data/roadmaps/backend/content/106-relational-databases/index.md b/src/data/roadmaps/backend/content/relational-databases@r45b461NxLN6wBODJ5CNP.md similarity index 100% rename from src/data/roadmaps/backend/content/106-relational-databases/index.md rename to src/data/roadmaps/backend/content/relational-databases@r45b461NxLN6wBODJ5CNP.md diff --git a/src/data/roadmaps/backend/content/105-repo-hosting-services/index.md b/src/data/roadmaps/backend/content/repo-hosting-services@NvUcSDWBhzJZ31nzT4UlE.md similarity index 100% rename from src/data/roadmaps/backend/content/105-repo-hosting-services/index.md rename to src/data/roadmaps/backend/content/repo-hosting-services@NvUcSDWBhzJZ31nzT4UlE.md diff --git a/src/data/roadmaps/backend/content/109-apis/100-rest.md b/src/data/roadmaps/backend/content/rest@lfNFDZZNdrB0lbEaMtU71.md similarity index 100% rename from src/data/roadmaps/backend/content/109-apis/100-rest.md rename to src/data/roadmaps/backend/content/rest@lfNFDZZNdrB0lbEaMtU71.md diff --git a/src/data/roadmaps/backend/content/rethinkdb@5T0ljwlHL0545ICCeehcQ.md b/src/data/roadmaps/backend/content/rethinkdb@5T0ljwlHL0545ICCeehcQ.md new file mode 100644 index 000000000..ef1b6cfc5 --- /dev/null +++ b/src/data/roadmaps/backend/content/rethinkdb@5T0ljwlHL0545ICCeehcQ.md @@ -0,0 +1 @@ +# RethinkDB \ No newline at end of file diff --git a/src/data/roadmaps/backend/content/103-learn-a-language/107-ruby.md b/src/data/roadmaps/backend/content/ruby@SlH0Rl07yURDko2nDPfFy.md similarity index 100% rename from src/data/roadmaps/backend/content/103-learn-a-language/107-ruby.md rename to src/data/roadmaps/backend/content/ruby@SlH0Rl07yURDko2nDPfFy.md diff --git a/src/data/roadmaps/backend/content/103-learn-a-language/101-rust.md b/src/data/roadmaps/backend/content/rust@CWwh2abwqx4hAxpAGvhIx.md similarity index 100% rename from src/data/roadmaps/backend/content/103-learn-a-language/101-rust.md rename to src/data/roadmaps/backend/content/rust@CWwh2abwqx4hAxpAGvhIx.md diff --git a/src/data/roadmaps/backend/content/109-apis/106-authentication/105-saml.md b/src/data/roadmaps/backend/content/saml@UCHtaePVxS-0kpqlYxbfC.md similarity index 100% rename from src/data/roadmaps/backend/content/109-apis/106-authentication/105-saml.md rename to src/data/roadmaps/backend/content/saml@UCHtaePVxS-0kpqlYxbfC.md diff --git a/src/data/roadmaps/backend/content/109-scaling-databases/index.md b/src/data/roadmaps/backend/content/scaling-databases@95d9itpUZ4s9roZN8kG9x.md similarity index 100% rename from src/data/roadmaps/backend/content/109-scaling-databases/index.md rename to src/data/roadmaps/backend/content/scaling-databases@95d9itpUZ4s9roZN8kG9x.md diff --git a/src/data/roadmaps/backend/content/111-web-security-knowledge/104-scrypt.md b/src/data/roadmaps/backend/content/scrypt@kGTALrvCpxyVCXHRmkI7s.md similarity index 100% rename from src/data/roadmaps/backend/content/111-web-security-knowledge/104-scrypt.md rename to src/data/roadmaps/backend/content/scrypt@kGTALrvCpxyVCXHRmkI7s.md diff --git a/src/data/roadmaps/backend/content/search-engines@gKTSe9yQFVbPVlLzWB0hC.md b/src/data/roadmaps/backend/content/search-engines@gKTSe9yQFVbPVlLzWB0hC.md new file mode 100644 index 000000000..e23264d78 --- /dev/null +++ b/src/data/roadmaps/backend/content/search-engines@gKTSe9yQFVbPVlLzWB0hC.md @@ -0,0 +1 @@ +# Search Engines \ No newline at end of file diff --git a/src/data/roadmaps/backend/content/111-web-security-knowledge/106-server-security.md b/src/data/roadmaps/backend/content/server-security@TZ0BWOENPv6pQm8qYB8Ow.md similarity index 100% rename from src/data/roadmaps/backend/content/111-web-security-knowledge/106-server-security.md rename to src/data/roadmaps/backend/content/server-security@TZ0BWOENPv6pQm8qYB8Ow.md diff --git a/src/data/roadmaps/backend/content/122-server-sent-events.md b/src/data/roadmaps/backend/content/server-sent-events@RUSdlokJUcEYbCvq5FJBJ.md similarity index 100% rename from src/data/roadmaps/backend/content/122-server-sent-events.md rename to src/data/roadmaps/backend/content/server-sent-events@RUSdlokJUcEYbCvq5FJBJ.md diff --git a/src/data/roadmaps/backend/content/110-caching/101-server-side/index.md b/src/data/roadmaps/backend/content/server-side@z1-eP4sV75GBEIdM4NvL9.md similarity index 100% rename from src/data/roadmaps/backend/content/110-caching/101-server-side/index.md rename to src/data/roadmaps/backend/content/server-side@z1-eP4sV75GBEIdM4NvL9.md diff --git a/src/data/roadmaps/backend/content/115-architectural-patterns/104-serverless.md b/src/data/roadmaps/backend/content/serverless@nkmIv3dNwre4yrULMgTh3.md similarity index 100% rename from src/data/roadmaps/backend/content/115-architectural-patterns/104-serverless.md rename to src/data/roadmaps/backend/content/serverless@nkmIv3dNwre4yrULMgTh3.md diff --git a/src/data/roadmaps/backend/content/115-architectural-patterns/105-service-mesh.md b/src/data/roadmaps/backend/content/service-mesh@n14b7sfTOwsjKTpFC9EZ2.md similarity index 100% rename from src/data/roadmaps/backend/content/115-architectural-patterns/105-service-mesh.md rename to src/data/roadmaps/backend/content/service-mesh@n14b7sfTOwsjKTpFC9EZ2.md diff --git a/src/data/roadmaps/backend/content/111-web-security-knowledge/101-sha-family.md b/src/data/roadmaps/backend/content/sha@JVN38r5jENoteia3YeIQ3.md similarity index 100% rename from src/data/roadmaps/backend/content/111-web-security-knowledge/101-sha-family.md rename to src/data/roadmaps/backend/content/sha@JVN38r5jENoteia3YeIQ3.md diff --git a/src/data/roadmaps/backend/content/109-scaling-databases/102-sharding-strategies.md b/src/data/roadmaps/backend/content/sharding-strategies@zWstl08R4uzqve4BdYurp.md similarity index 100% rename from src/data/roadmaps/backend/content/109-scaling-databases/102-sharding-strategies.md rename to src/data/roadmaps/backend/content/sharding-strategies@zWstl08R4uzqve4BdYurp.md diff --git a/src/data/roadmaps/backend/content/124-short-polling.md b/src/data/roadmaps/backend/content/short-polling@Tt7yr-ChHncJG0Ge1f0Xk.md similarity index 100% rename from src/data/roadmaps/backend/content/124-short-polling.md rename to src/data/roadmaps/backend/content/short-polling@Tt7yr-ChHncJG0Ge1f0Xk.md diff --git a/src/data/roadmaps/backend/content/115-architectural-patterns/102-soa.md b/src/data/roadmaps/backend/content/soa@tObmzWpjsJtK4GWhx6pwB.md similarity index 100% rename from src/data/roadmaps/backend/content/115-architectural-patterns/102-soa.md rename to src/data/roadmaps/backend/content/soa@tObmzWpjsJtK4GWhx6pwB.md diff --git a/src/data/roadmaps/backend/content/109-apis/102-soap.md b/src/data/roadmaps/backend/content/soap@sSNf93azjuyMzQqIHE0Rh.md similarity index 100% rename from src/data/roadmaps/backend/content/109-apis/102-soap.md rename to src/data/roadmaps/backend/content/soap@sSNf93azjuyMzQqIHE0Rh.md diff --git a/src/data/roadmaps/backend/content/116-search-engines/101-solr.md b/src/data/roadmaps/backend/content/solo@iN_1EuIwCx_7lRBw1Io4U.md similarity index 100% rename from src/data/roadmaps/backend/content/116-search-engines/101-solr.md rename to src/data/roadmaps/backend/content/solo@iN_1EuIwCx_7lRBw1Io4U.md diff --git a/src/data/roadmaps/backend/content/106-relational-databases/101-sqlite.md b/src/data/roadmaps/backend/content/sqlite@kdulE3Z_BdbtRmq6T2KmR.md similarity index 100% rename from src/data/roadmaps/backend/content/106-relational-databases/101-sqlite.md rename to src/data/roadmaps/backend/content/sqlite@kdulE3Z_BdbtRmq6T2KmR.md diff --git a/src/data/roadmaps/backend/content/111-web-security-knowledge/107-ssl-tls.md b/src/data/roadmaps/backend/content/ssltls@0v3OsaghJEGHeXX0c5kqn.md similarity index 100% rename from src/data/roadmaps/backend/content/111-web-security-knowledge/107-ssl-tls.md rename to src/data/roadmaps/backend/content/ssltls@0v3OsaghJEGHeXX0c5kqn.md diff --git a/src/data/roadmaps/backend/content/telemetry@neVRtPjIHP_VG7lHwfah0.md b/src/data/roadmaps/backend/content/telemetry@neVRtPjIHP_VG7lHwfah0.md new file mode 100644 index 000000000..cf53d631c --- /dev/null +++ b/src/data/roadmaps/backend/content/telemetry@neVRtPjIHP_VG7lHwfah0.md @@ -0,0 +1 @@ +# Telemetry \ No newline at end of file diff --git a/src/data/roadmaps/backend/content/114-design-and-development-principles/102-test-driven-development.md b/src/data/roadmaps/backend/content/test-driven-development@I-PUAE2AzbEaUkW9vMaUM.md similarity index 100% rename from src/data/roadmaps/backend/content/114-design-and-development-principles/102-test-driven-development.md rename to src/data/roadmaps/backend/content/test-driven-development@I-PUAE2AzbEaUkW9vMaUM.md diff --git a/src/data/roadmaps/backend/content/112-testing/index.md b/src/data/roadmaps/backend/content/testing@STQQbPa7PE3gbjMdL6P-t.md similarity index 100% rename from src/data/roadmaps/backend/content/112-testing/index.md rename to src/data/roadmaps/backend/content/testing@STQQbPa7PE3gbjMdL6P-t.md diff --git a/src/data/roadmaps/backend/content/123-scalability/100-mitigation-strategies/101-throttling.md b/src/data/roadmaps/backend/content/throttling@qAu-Y4KI2Z_y-EqiG86cR.md similarity index 100% rename from src/data/roadmaps/backend/content/123-scalability/100-mitigation-strategies/101-throttling.md rename to src/data/roadmaps/backend/content/throttling@qAu-Y4KI2Z_y-EqiG86cR.md diff --git a/src/data/roadmaps/backend/content/timescale@WiAK70I0z-_bzbWNwiHUd.md b/src/data/roadmaps/backend/content/timescale@WiAK70I0z-_bzbWNwiHUd.md new file mode 100644 index 000000000..40e824338 --- /dev/null +++ b/src/data/roadmaps/backend/content/timescale@WiAK70I0z-_bzbWNwiHUd.md @@ -0,0 +1 @@ +# TimeScale \ No newline at end of file diff --git a/src/data/roadmaps/backend/content/109-apis/106-authentication/103-token-authentication.md b/src/data/roadmaps/backend/content/token-authentication@0rGj7FThLJZouSQUhnqGW.md similarity index 100% rename from src/data/roadmaps/backend/content/109-apis/106-authentication/103-token-authentication.md rename to src/data/roadmaps/backend/content/token-authentication@0rGj7FThLJZouSQUhnqGW.md diff --git a/src/data/roadmaps/backend/content/topic-node@xAUzjUlsjqONOK7wbNeZj.md b/src/data/roadmaps/backend/content/topic-node@xAUzjUlsjqONOK7wbNeZj.md new file mode 100644 index 000000000..59f1a30d4 --- /dev/null +++ b/src/data/roadmaps/backend/content/topic-node@xAUzjUlsjqONOK7wbNeZj.md @@ -0,0 +1 @@ +# topic node \ No newline at end of file diff --git a/src/data/roadmaps/backend/content/108-more-about-databases/102-transactions.md b/src/data/roadmaps/backend/content/transactions@rq_y_OBMD9AH_4aoecvAi.md similarity index 100% rename from src/data/roadmaps/backend/content/108-more-about-databases/102-transactions.md rename to src/data/roadmaps/backend/content/transactions@rq_y_OBMD9AH_4aoecvAi.md diff --git a/src/data/roadmaps/backend/content/115-architectural-patterns/106-twelve-factor-apps.md b/src/data/roadmaps/backend/content/twelve-factor-apps@8DmabQJXlrT__COZrDVTV.md similarity index 100% rename from src/data/roadmaps/backend/content/115-architectural-patterns/106-twelve-factor-apps.md rename to src/data/roadmaps/backend/content/twelve-factor-apps@8DmabQJXlrT__COZrDVTV.md diff --git a/src/data/roadmaps/backend/content/123-scalability/103-horizontal-vertical-scaling.md b/src/data/roadmaps/backend/content/types-of-scaling@osQlGGy38xMcKLtgZtWaZ.md similarity index 100% rename from src/data/roadmaps/backend/content/123-scalability/103-horizontal-vertical-scaling.md rename to src/data/roadmaps/backend/content/types-of-scaling@osQlGGy38xMcKLtgZtWaZ.md diff --git a/src/data/roadmaps/backend/content/112-testing/101-unit-testing.md b/src/data/roadmaps/backend/content/unit-testing@3OYm6b9f6WOrKi4KTOZYK.md similarity index 100% rename from src/data/roadmaps/backend/content/112-testing/101-unit-testing.md rename to src/data/roadmaps/backend/content/unit-testing@3OYm6b9f6WOrKi4KTOZYK.md diff --git a/src/data/roadmaps/backend/content/104-version-control-systems/index.md b/src/data/roadmaps/backend/content/version-control-systems@ezdqQW9wTUw93F6kjOzku.md similarity index 100% rename from src/data/roadmaps/backend/content/104-version-control-systems/index.md rename to src/data/roadmaps/backend/content/version-control-systems@ezdqQW9wTUw93F6kjOzku.md diff --git a/src/data/roadmaps/backend/content/111-web-security-knowledge/index.md b/src/data/roadmaps/backend/content/web-security@RBrIP5KbVQ2F0ly7kMfTo.md similarity index 100% rename from src/data/roadmaps/backend/content/111-web-security-knowledge/index.md rename to src/data/roadmaps/backend/content/web-security@RBrIP5KbVQ2F0ly7kMfTo.md diff --git a/src/data/roadmaps/backend/content/122-web-servers/index.md b/src/data/roadmaps/backend/content/web-servers@fekyMpEnaGqjh1Cu4Nyc4.md similarity index 100% rename from src/data/roadmaps/backend/content/122-web-servers/index.md rename to src/data/roadmaps/backend/content/web-servers@fekyMpEnaGqjh1Cu4Nyc4.md diff --git a/src/data/roadmaps/backend/content/121-web-sockets.md b/src/data/roadmaps/backend/content/websockets@sVuIdAe08IWJVqAt4z-ag.md similarity index 100% rename from src/data/roadmaps/backend/content/121-web-sockets.md rename to src/data/roadmaps/backend/content/websockets@sVuIdAe08IWJVqAt4z-ag.md diff --git a/src/data/roadmaps/backend/content/100-internet/102-browsers-and-how-they-work.md b/src/data/roadmaps/backend/content/what-is-domain-name@ZhSuu2VArnzPDp6dPQQSC.md similarity index 100% rename from src/data/roadmaps/backend/content/100-internet/102-browsers-and-how-they-work.md rename to src/data/roadmaps/backend/content/what-is-domain-name@ZhSuu2VArnzPDp6dPQQSC.md diff --git a/src/data/roadmaps/backend/content/100-internet/103-dns-and-how-it-works.md b/src/data/roadmaps/backend/content/what-is-hosting@aqMaEY8gkKMikiqleV5EP.md similarity index 100% rename from src/data/roadmaps/backend/content/100-internet/103-dns-and-how-it-works.md rename to src/data/roadmaps/backend/content/what-is-hosting@aqMaEY8gkKMikiqleV5EP.md diff --git a/src/data/roadmaps/backend/content/100-internet/101-what-is-http.md b/src/data/roadmaps/backend/content/what-is-http@R12sArWVpbIs_PHxBqVaR.md similarity index 100% rename from src/data/roadmaps/backend/content/100-internet/101-what-is-http.md rename to src/data/roadmaps/backend/content/what-is-http@R12sArWVpbIs_PHxBqVaR.md diff --git a/src/data/roadmaps/backend/migration-mapping.json b/src/data/roadmaps/backend/migration-mapping.json new file mode 100644 index 000000000..db17dc3a3 --- /dev/null +++ b/src/data/roadmaps/backend/migration-mapping.json @@ -0,0 +1,129 @@ +{ + "internet": "SiYUdtYMDImRPmV2_XPkH", + "internet:how-does-the-internet-work": "yCnn-NfSxIybUQ2iTuUGq", + "internet:what-is-http": "R12sArWVpbIs_PHxBqVaR", + "internet:browsers-and-how-they-work": "ZhSuu2VArnzPDp6dPQQSC", + "internet:dns-and-how-it-works": "aqMaEY8gkKMikiqleV5EP", + "internet:what-is-domain-name": "hkxw9jPGYphmjhTjw8766", + "internet:what-is-hosting": "P82WFaTPgQEPNp5IIuZ1Y", + "learn-a-language": "2f0ZO6GJElfZ2Eis28Hzg", + "learn-a-language:rust": "CWwh2abwqx4hAxpAGvhIx", + "learn-a-language:go": "BdXbcz4-ar3XOX0wIKzBp", + "learn-a-language:java": "ANeSwxJDJyQ-49pO2-CCI", + "learn-a-language:csharp": "rImbMHLLfJwjf3l25vBkc", + "learn-a-language:php": "l9Wrq_Ad9-Ju4NIB0m5Ha", + "learn-a-language:javascript": "8-lO-v6jCYYoklEJXULxN", + "learn-a-language:python": "J_sVHsD72Yzyqb9KCIvAY", + "learn-a-language:ruby": "SlH0Rl07yURDko2nDPfFy", + "version-control-systems": "ezdqQW9wTUw93F6kjOzku", + "version-control-systems:git": "_I1E__wCIVrhjMk6IMieE", + "repo-hosting-services": "NvUcSDWBhzJZ31nzT4UlE", + "repo-hosting-services:github": "ptD8EVqwFUYr4W5A_tABY", + "repo-hosting-services:bitbucket": "Ry_5Y-BK7HrkIc6X0JG1m", + "repo-hosting-services:gitlab": "Wcp-VDdFHipwa7hNAp1z_", + "relational-databases": "r45b461NxLN6wBODJ5CNP", + "relational-databases:postgresql": "FihTrMO56kj9jT8O_pO2T", + "relational-databases:mysql": "VPxOdjJtKAqmM5V0LR5OC", + "relational-databases:sqlite": "kdulE3Z_BdbtRmq6T2KmR", + "relational-databases:mariadb": "tD3i-8gBpMKCHB-ITyDiU", + "relational-databases:mssql": "dEsTje8kfHwWjCI3zcgLC", + "relational-databases:oracle": "h1SAjQltHtztSt8QmRgab", + "apis": "EwvLPSI6AlZ4TnNIJTZA4", + "apis:open-api-spec": "9cD5ag1L0GqHx4_zxc5JX", + "apis:hateoas": "dLY0KafPstajCcSbslC4M", + "caching": "ELj8af7Mi38kUbaPJfCUR", + "caching:client-side": "KWTbEVX_WxS8jmSaAX3Fe", + "caching:server-side": "z1-eP4sV75GBEIdM4NvL9", + "caching:cdn": "Nq2BO53bHJdFT1rGZPjYx", + "caching:server-side:memcached": "xPvVwGQw28uMeLYIWn8yn", + "caching:server-side:redis": "g8GjkJAhvnSxXTZks0V1g", + "apis:authentication": "PY9G7KQy8bF6eIdr1ydHf", + "apis:authentication:jwt": "UxS_mzVUjLigEwKrXnEeB", + "apis:authentication:basic-authentication": "yRiJgjjv2s1uV9vgo3n8m", + "apis:authentication:token-authentication": "0rGj7FThLJZouSQUhnqGW", + "apis:authentication:oauth": "vp-muizdICcmU0gN8zmkS", + "apis:authentication:cookie-based": "ffzsh8_5yRq85trFt9Xhk", + "apis:authentication:openid": "z3EJBpgGm0_Uj3ymhypbX", + "apis:authentication:saml": "UCHtaePVxS-0kpqlYxbfC", + "apis:rest": "lfNFDZZNdrB0lbEaMtU71", + "apis:json-apis": "sNceS4MpSIjRkWhNDmrFg", + "apis:soap": "sSNf93azjuyMzQqIHE0Rh", + "apis:grpc": "J-TOE2lT4At1mSdNoxPS1", + "apis:graphql": "zp3bq38tMnutT2N0tktOW", + "web-security-knowledge": "RBrIP5KbVQ2F0ly7kMfTo", + "web-security-knowledge:md5": "jWwA6yX4Zjx-r_KpDaD3c", + "web-security-knowledge:sha-family": "JVN38r5jENoteia3YeIQ3", + "web-security-knowledge:scrypt": "kGTALrvCpxyVCXHRmkI7s", + "web-security-knowledge:bcrypt": "dlG1bVkDmjI3PEGpkm1xH", + "testing": "STQQbPa7PE3gbjMdL6P-t", + "web-security-knowledge:https": "x-WBJjBd8u93ym5gtxGsR", + "web-security-knowledge:owasp": "AAgciyxuDvS2B_c6FRMvT", + "web-security-knowledge:cors": "LU6WUbkWKbPM1rb2_gEqa", + "web-security-knowledge:ssl-tls": "0v3OsaghJEGHeXX0c5kqn", + "web-security-knowledge:content-security-policy": "HgQBde1zLUFtlwB66PR6_", + "web-security-knowledge:server-security": "TZ0BWOENPv6pQm8qYB8Ow", + "ci-cd": "mGfD7HfuP184lFkXZzGjG", + "testing:integration-testing": "381Kw1IMRv7CJp-Uf--qd", + "testing:unit-testing": "3OYm6b9f6WOrKi4KTOZYK", + "testing:functional-testing": "NAGisfq2CgeK3SsuRjnMw", + "scaling-databases": "95d9itpUZ4s9roZN8kG9x", + "scaling-databases:cap-theorem": "LAdKDJ4LcMaDWqslMvE8X", + "scaling-databases:sharding-strategies": "zWstl08R4uzqve4BdYurp", + "scaling-databases:data-replication": "wrl7HHWXOaxoKVlNZxZ6d", + "scaling-databases:database-indexes": "y-xkHFE9YzhNIX3EiWspL", + "more-about-databases": "LJt27onEOeIBomiEMTyKd", + "more-about-databases:orms": "Z7jp_Juj5PffSxV7UZcBb", + "more-about-databases:acid": "qSAdfaGUfn8mtmDjHJi3z", + "more-about-databases:transactions": "rq_y_OBMD9AH_4aoecvAi", + "more-about-databases:n-plus-one-problem": "bQnOAu863hsHdyNMNyJop", + "more-about-databases:database-normalization": "Ge2SnKBrQQrU-oGLz6TmT", + "more-about-databases:failure-modes": "GwApfL4Yx-b5Y8dB9Vy__", + "more-about-databases:profiling-performance": "SYXJhanu0lFmGj2m2XXhS", + "architectural-patterns": "tHiUpG9LN35E5RaHddMv5", + "architectural-patterns:monolithic-apps": "Ke522R-4k6TDeiDRyZbbU", + "architectural-patterns:microservices": "K55h3aqOGe6-hgVhiFisT", + "architectural-patterns:soa": "tObmzWpjsJtK4GWhx6pwB", + "architectural-patterns:serverless": "nkmIv3dNwre4yrULMgTh3", + "architectural-patterns:service-mesh": "n14b7sfTOwsjKTpFC9EZ2", + "architectural-patterns:twelve-factor-apps": "8DmabQJXlrT__COZrDVTV", + "design-and-development-principles": "9Fpoor-Os_9lvrwu5Zjh-", + "design-and-development-principles:gof-design-patterns": "6XIWO0MoE-ySl4qh_ihXa", + "design-and-development-principles:domain-driven-design": "BvHi5obg0L1JDZFKBzx9t", + "design-and-development-principles:test-driven-development": "I-PUAE2AzbEaUkW9vMaUM", + "design-and-development-principles:cqrs": "u8IRw5PuXGUcmxA0YYXgx", + "design-and-development-principles:event-sourcing": "wqE-mkxvehOzOv8UyE39p", + "message-brokers": "nJ5FpFgGCRaALcWmAKBKT", + "message-brokers:rabbitmq": "GPFRMcY1DEtRgnaZwJ3vW", + "message-brokers:kafka": "VoYSis1F1ZfTxMlQlXQKB", + "containerization": "SGVwJme-jT_pbOTvems0v", + "containerization:lxc": "31ZlpfIPr9-5vYZqvjUeL", + "search-engines:elasticsearch": "NulaE1isWqn-feYHg4YQT", + "search-engines:solr": "iN_1EuIwCx_7lRBw1Io4U", + "web-servers": "fekyMpEnaGqjh1Cu4Nyc4", + "web-servers:nginx": "z5AdThp9ByulmM9uekgm-", + "web-servers:apache": "jjjonHTHHo-NiAf6p9xPv", + "web-servers:caddy": "Op-PSPNoyj6Ss9CS09AXh", + "web-servers:ms-iis": "0NJDgfe6eMa7qPUOI6Eya", + "nosql-databases": "F8frGuv1dunOdcVJ_IiGs", + "real-time-data": "5XGvep2qoti31bsyqNzrU", + "server-sent-events": "RUSdlokJUcEYbCvq5FJBJ", + "web-sockets": "sVuIdAe08IWJVqAt4z-ag", + "long-polling": "osvajAJlwGI3XnX0fE-kA", + "short-polling": "Tt7yr-ChHncJG0Ge1f0Xk", + "nosql-databases:document-databases": "28U6q_X-NTYf7OSKHjoWH", + "nosql-databases:timeseries-databases": "XbM4TDImSH-56NsITjyHK", + "nosql-databases:realtime-databases": "RyJFLLGieJ8Xjt-DlIayM", + "nosql-databases:column-databases": "gT6-z2vhdIQDzmR2K1g1U", + "nosql-databases:key-value-databases": "M0iaSSdVPWaCUpyTG50Vf", + "graph-databases": "BTNJfWemFKEeNeTyENXui", + "scalability": "SHmbcMRsc3SygEDksJQBD", + "scalability:mitigation-strategies:graceful-degradation": "G9AI_i3MkUE1BsO3_-PH7", + "scalability:mitigation-strategies:throttling": "qAu-Y4KI2Z_y-EqiG86cR", + "scalability:mitigation-strategies:backpressure": "JansCqGDyXecQkD1K7E7e", + "scalability:mitigation-strategies:loadshifting": "HoQdX7a4SnkFRU4RPQ-D5", + "scalability:mitigation-strategies:circuit-breaker": "spkiQTPvXY4qrhhVUkoPV", + "scalability:horizontal-vertical-scaling": "osQlGGy38xMcKLtgZtWaZ", + "scalability:migration-strategies": "f7iWBkC0X7yyCoP_YubVd", + "scalability:instrumentation-monitoring-telemetry": "4X-sbqpP0NDhM99bKdqIa", + "scalability:observability": "Z01E67D6KjrShvQCHjGR7" +} \ No newline at end of file diff --git a/src/lib/resource-progress.ts b/src/lib/resource-progress.ts index abdf3ec42..da51b6afe 100644 --- a/src/lib/resource-progress.ts +++ b/src/lib/resource-progress.ts @@ -85,7 +85,7 @@ export function clearMigratedRoadmapProgress( resourceType: string, resourceId: string, ) { - const migratedRoadmaps = ['frontend']; + const migratedRoadmaps = ['frontend', 'backend']; if (!migratedRoadmaps.includes(resourceId)) { return; @@ -100,7 +100,8 @@ export function clearMigratedRoadmapProgress( const clearedKey = `${resourceType}-${resourceId}-${userId}-cleared`; const clearedCount = parseInt(localStorage.getItem(clearedKey) || '0', 10); - if (!clearedCount || clearedCount >= 10) { + + if (clearedCount >= 10) { return; }