From 6e1072bea90f9a367709cf038020f14659cebe34 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Sat, 3 Jun 2023 21:17:55 +0100 Subject: [PATCH 01/23] Add code review pyramid --- public/jsons/roadmaps/code-review.json | 1 + public/pdfs/roadmaps/code-review.pdf | Bin 0 -> 24472 bytes src/data/roadmaps/code-review/code-review.md | 47 ++++++++++++++++++ .../code-review/content/100-code-style.md | 6 +++ .../roadmaps/code-review/content/101-tests.md | 7 +++ .../code-review/content/102-documentation.md | 5 ++ .../content/103-implementation-semantics.md | 10 ++++ .../code-review/content/104-api-semantics.md | 8 +++ .../roadmaps/code-review/content/index.md | 1 + src/data/roadmaps/code-review/faqs.astro | 0 src/data/roadmaps/docker/docker.md | 3 ++ 11 files changed, 88 insertions(+) create mode 100644 public/jsons/roadmaps/code-review.json create mode 100644 public/pdfs/roadmaps/code-review.pdf create mode 100644 src/data/roadmaps/code-review/code-review.md create mode 100644 src/data/roadmaps/code-review/content/100-code-style.md create mode 100644 src/data/roadmaps/code-review/content/101-tests.md create mode 100644 src/data/roadmaps/code-review/content/102-documentation.md create mode 100644 src/data/roadmaps/code-review/content/103-implementation-semantics.md create mode 100644 src/data/roadmaps/code-review/content/104-api-semantics.md create mode 100644 src/data/roadmaps/code-review/content/index.md create mode 100644 src/data/roadmaps/code-review/faqs.astro diff --git a/public/jsons/roadmaps/code-review.json b/public/jsons/roadmaps/code-review.json new file mode 100644 index 000000000..ba2ccee5b --- /dev/null +++ b/public/jsons/roadmaps/code-review.json @@ -0,0 +1 @@ +{"mockup":{"controls":{"control":[{"ID":"3197","typeID":"Label","zOrder":"7","measuredW":"150","measuredH":"28","x":"1834","y":"831","properties":{"size":"20","text":"Smaller effort for"}},{"ID":"3198","typeID":"Label","zOrder":"8","measuredW":"156","measuredH":"28","x":"1834","y":"858","properties":{"size":"20","text":"changes later on."}},{"ID":"3217","typeID":"Label","zOrder":"9","measuredW":"143","measuredH":"28","x":"1834","y":"1177","properties":{"size":"20","text":"Higher effort for"}},{"ID":"3218","typeID":"Label","zOrder":"10","measuredW":"156","measuredH":"28","x":"1834","y":"1204","properties":{"size":"20","text":"changes later on."}},{"ID":"3231","typeID":"Label","zOrder":"13","measuredW":"134","measuredH":"28","x":"827","y":"871","properties":{"size":"20","text":"Automate here"}},{"ID":"3236","typeID":"Label","zOrder":"15","measuredW":"139","measuredH":"28","x":"823","y":"1079","properties":{"size":"20","text":"Focus on these"}},{"ID":"3242","typeID":"__group__","zOrder":"12","measuredW":"302","measuredH":"190","w":"302","h":"190","x":"987","y":"784","children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"256","h":"190","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"6710886","borderColor":"6710886"}},{"ID":"1","typeID":"Canvas","zOrder":"1","w":"237","h":"86","measuredW":"100","measuredH":"70","x":"65","y":"0","properties":{"color":"6710886","borderColor":"6710886"}}]}}},{"ID":"3243","typeID":"__group__","zOrder":"14","measuredW":"190","measuredH":"293","w":"190","h":"293","x":"986","y":"985","children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"54","h":"293","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"4473924","borderColor":"4473924"}},{"ID":"1","typeID":"Canvas","zOrder":"1","w":"87","h":"181","measuredW":"100","measuredH":"70","x":"38","y":"0","properties":{"color":"4473924","borderColor":"4473924"}},{"ID":"2","typeID":"Canvas","zOrder":"2","w":"86","h":"89","measuredW":"100","measuredH":"70","x":"104","y":"0","properties":{"color":"4473924","borderColor":"4473924"}}]}}},{"ID":"3250","typeID":"Label","zOrder":"0","measuredW":"76","measuredH":"26","x":"919","y":"1329","properties":{"text":"Also visit ","size":"18"}},{"ID":"3256","typeID":"Label","zOrder":"17","measuredW":"9","measuredH":"26","x":"1254","y":"1329","properties":{"size":"18","text":"/","color":"10066329"}},{"ID":"3258","typeID":"Label","zOrder":"18","measuredW":"59","measuredH":"26","x":"1707","y":"1329","properties":{"size":"18","text":"Credits"}},{"ID":"3261","typeID":"Arrow","zOrder":"20","w":"152","h":"1","measuredW":"150","measuredH":"100","x":"796","y":"919","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"16382715","p0":{"x":152,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.048133037535308176,"y":0}}},{"ID":"3268","typeID":"Label","zOrder":"21","measuredW":"9","measuredH":"26","x":"1679","y":"1329","properties":{"size":"18","text":"/","color":"10066329"}},{"ID":"3269","typeID":"Label","zOrder":"22","measuredW":"150","measuredH":"26","x":"1289","y":"1329","properties":{"size":"18","text":"Interactive version"}},{"ID":"3270","typeID":"Arrow","zOrder":"23","w":"123","h":"1","measuredW":"150","measuredH":"100","x":"1412","y":"1438","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":123,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.2922777153748939,"y":0},"color":"16382715"}},{"ID":"3271","typeID":"Arrow","zOrder":"24","w":"170","h":"1","measuredW":"150","measuredH":"100","x":"1888","y":"919","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"16382715","p0":{"x":170.17433009674505,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":0.2922777153748939,"y":0}}},{"ID":"3284","typeID":"__group__","zOrder":"1","measuredW":"232","measuredH":"26","w":"232","h":"26","x":"1001","y":"1329","properties":{"controlName":"ext_link:roadmap.sh/best-practices/code-review"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"232","measuredH":"26","x":"0","y":"0","properties":{"color":"10027263","size":"18","text":"Code Review Best Practices"}}]}}},{"ID":"3285","typeID":"__group__","zOrder":"16","measuredW":"202","measuredH":"26","w":"202","h":"26","x":"1451","y":"1329","properties":{"controlName":"ext_link:roadmap.sh/code-review"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"202","measuredH":"26","x":"0","y":"0","properties":{"color":"10027263","size":"18","text":"roadmap.sh/code-review"}}]}}},{"ID":"3286","typeID":"__group__","zOrder":"19","measuredW":"135","measuredH":"26","w":"135","h":"26","x":"1776","y":"1329","properties":{"controlName":"ext_link:twitter.com/gunnarmorling"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"135","measuredH":"26","x":"0","y":"0","properties":{"size":"18","color":"10027263","text":"@gunnarmorling"}}]}}},{"ID":"3287","typeID":"__group__","zOrder":"3","measuredW":"196","measuredH":"102","w":"196","h":"102","x":"1304","y":"784","properties":{"controlName":"100-code-style"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"196","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"28","x":"49","y":"37","properties":{"size":"20","text":"Code Style"}}]}}},{"ID":"3288","typeID":"__group__","zOrder":"2","measuredW":"287","measuredH":"102","w":"287","h":"102","x":"1258","y":"883","properties":{"controlName":"101-tests"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"287","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"28","x":"120","y":"37","properties":{"size":"20","text":"Tests"}}]}}},{"ID":"3289","typeID":"__group__","zOrder":"4","measuredW":"424","measuredH":"102","w":"424","h":"102","x":"1190","y":"982","properties":{"controlName":"102-documentation"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"424","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"138","measuredH":"28","x":"143","y":"37","properties":{"size":"20","text":"Documentation"}}]}}},{"ID":"3290","typeID":"__group__","zOrder":"5","measuredW":"556","measuredH":"102","w":"556","h":"102","x":"1124","y":"1081","properties":{"controlName":"103-implementation-semantics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"556","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"241","measuredH":"28","x":"157","y":"37","properties":{"size":"20","text":"Implementation Semantics"}}]}}},{"ID":"3291","typeID":"__group__","zOrder":"6","measuredW":"699","measuredH":"102","w":"699","h":"102","x":"1052","y":"1176","properties":{"controlName":"104-api-semantics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"699","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"131","measuredH":"28","x":"284","y":"37","properties":{"size":"20","text":"API Semantics"}}]}}},{"ID":"3292","typeID":"__group__","zOrder":"11","measuredW":"14","measuredH":"487","w":"14","h":"487","x":"1798","y":"799","children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"14","measuredH":"36","x":"0","y":"451","properties":{"text":"v","size":"28"}},{"ID":"1","typeID":"Arrow","zOrder":"1","w":"1","h":"473","measuredW":"150","measuredH":"100","x":"7","y":"0","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":0,"y":-0.14389738910188044},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0,"y":472.82713475857486}}}]}}}]},"attributes":{"name":"New Wireframe 9 copy 7","order":1000156.2209166192,"parentID":null,"notes":null},"branchID":"Master","resourceID":"057DB19F-D6AC-44FC-8C5C-52D4D800A91B","mockupH":"655","mockupW":"1262","measuredW":"2058","measuredH":"1439","version":"1.0"},"groupOffset":{"x":0,"y":0},"dependencies":[],"projectID":"file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr"} \ No newline at end of file diff --git a/public/pdfs/roadmaps/code-review.pdf b/public/pdfs/roadmaps/code-review.pdf new file mode 100644 index 0000000000000000000000000000000000000000..26cc420c700b67b5fcc156a0d3d5a6617f2cbcbf GIT binary patch literal 24472 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 z Date: Sat, 3 Jun 2023 21:31:37 +0100 Subject: [PATCH 02/23] Update reference link for code review pyramid --- public/jsons/roadmaps/code-review.json | 2 +- public/pdfs/roadmaps/code-review.pdf | Bin 24472 -> 24443 bytes src/data/roadmaps/code-review/code-review.md | 4 ++-- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/public/jsons/roadmaps/code-review.json b/public/jsons/roadmaps/code-review.json index ba2ccee5b..bcf96f1b9 100644 --- a/public/jsons/roadmaps/code-review.json +++ b/public/jsons/roadmaps/code-review.json @@ -1 +1 @@ -{"mockup":{"controls":{"control":[{"ID":"3197","typeID":"Label","zOrder":"7","measuredW":"150","measuredH":"28","x":"1834","y":"831","properties":{"size":"20","text":"Smaller effort for"}},{"ID":"3198","typeID":"Label","zOrder":"8","measuredW":"156","measuredH":"28","x":"1834","y":"858","properties":{"size":"20","text":"changes later on."}},{"ID":"3217","typeID":"Label","zOrder":"9","measuredW":"143","measuredH":"28","x":"1834","y":"1177","properties":{"size":"20","text":"Higher effort for"}},{"ID":"3218","typeID":"Label","zOrder":"10","measuredW":"156","measuredH":"28","x":"1834","y":"1204","properties":{"size":"20","text":"changes later on."}},{"ID":"3231","typeID":"Label","zOrder":"13","measuredW":"134","measuredH":"28","x":"827","y":"871","properties":{"size":"20","text":"Automate here"}},{"ID":"3236","typeID":"Label","zOrder":"15","measuredW":"139","measuredH":"28","x":"823","y":"1079","properties":{"size":"20","text":"Focus on these"}},{"ID":"3242","typeID":"__group__","zOrder":"12","measuredW":"302","measuredH":"190","w":"302","h":"190","x":"987","y":"784","children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"256","h":"190","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"6710886","borderColor":"6710886"}},{"ID":"1","typeID":"Canvas","zOrder":"1","w":"237","h":"86","measuredW":"100","measuredH":"70","x":"65","y":"0","properties":{"color":"6710886","borderColor":"6710886"}}]}}},{"ID":"3243","typeID":"__group__","zOrder":"14","measuredW":"190","measuredH":"293","w":"190","h":"293","x":"986","y":"985","children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"54","h":"293","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"4473924","borderColor":"4473924"}},{"ID":"1","typeID":"Canvas","zOrder":"1","w":"87","h":"181","measuredW":"100","measuredH":"70","x":"38","y":"0","properties":{"color":"4473924","borderColor":"4473924"}},{"ID":"2","typeID":"Canvas","zOrder":"2","w":"86","h":"89","measuredW":"100","measuredH":"70","x":"104","y":"0","properties":{"color":"4473924","borderColor":"4473924"}}]}}},{"ID":"3250","typeID":"Label","zOrder":"0","measuredW":"76","measuredH":"26","x":"919","y":"1329","properties":{"text":"Also visit ","size":"18"}},{"ID":"3256","typeID":"Label","zOrder":"17","measuredW":"9","measuredH":"26","x":"1254","y":"1329","properties":{"size":"18","text":"/","color":"10066329"}},{"ID":"3258","typeID":"Label","zOrder":"18","measuredW":"59","measuredH":"26","x":"1707","y":"1329","properties":{"size":"18","text":"Credits"}},{"ID":"3261","typeID":"Arrow","zOrder":"20","w":"152","h":"1","measuredW":"150","measuredH":"100","x":"796","y":"919","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"16382715","p0":{"x":152,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.048133037535308176,"y":0}}},{"ID":"3268","typeID":"Label","zOrder":"21","measuredW":"9","measuredH":"26","x":"1679","y":"1329","properties":{"size":"18","text":"/","color":"10066329"}},{"ID":"3269","typeID":"Label","zOrder":"22","measuredW":"150","measuredH":"26","x":"1289","y":"1329","properties":{"size":"18","text":"Interactive version"}},{"ID":"3270","typeID":"Arrow","zOrder":"23","w":"123","h":"1","measuredW":"150","measuredH":"100","x":"1412","y":"1438","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":123,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.2922777153748939,"y":0},"color":"16382715"}},{"ID":"3271","typeID":"Arrow","zOrder":"24","w":"170","h":"1","measuredW":"150","measuredH":"100","x":"1888","y":"919","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"16382715","p0":{"x":170.17433009674505,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":0.2922777153748939,"y":0}}},{"ID":"3284","typeID":"__group__","zOrder":"1","measuredW":"232","measuredH":"26","w":"232","h":"26","x":"1001","y":"1329","properties":{"controlName":"ext_link:roadmap.sh/best-practices/code-review"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"232","measuredH":"26","x":"0","y":"0","properties":{"color":"10027263","size":"18","text":"Code Review Best Practices"}}]}}},{"ID":"3285","typeID":"__group__","zOrder":"16","measuredW":"202","measuredH":"26","w":"202","h":"26","x":"1451","y":"1329","properties":{"controlName":"ext_link:roadmap.sh/code-review"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"202","measuredH":"26","x":"0","y":"0","properties":{"color":"10027263","size":"18","text":"roadmap.sh/code-review"}}]}}},{"ID":"3286","typeID":"__group__","zOrder":"19","measuredW":"135","measuredH":"26","w":"135","h":"26","x":"1776","y":"1329","properties":{"controlName":"ext_link:twitter.com/gunnarmorling"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"135","measuredH":"26","x":"0","y":"0","properties":{"size":"18","color":"10027263","text":"@gunnarmorling"}}]}}},{"ID":"3287","typeID":"__group__","zOrder":"3","measuredW":"196","measuredH":"102","w":"196","h":"102","x":"1304","y":"784","properties":{"controlName":"100-code-style"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"196","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"28","x":"49","y":"37","properties":{"size":"20","text":"Code Style"}}]}}},{"ID":"3288","typeID":"__group__","zOrder":"2","measuredW":"287","measuredH":"102","w":"287","h":"102","x":"1258","y":"883","properties":{"controlName":"101-tests"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"287","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"28","x":"120","y":"37","properties":{"size":"20","text":"Tests"}}]}}},{"ID":"3289","typeID":"__group__","zOrder":"4","measuredW":"424","measuredH":"102","w":"424","h":"102","x":"1190","y":"982","properties":{"controlName":"102-documentation"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"424","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"138","measuredH":"28","x":"143","y":"37","properties":{"size":"20","text":"Documentation"}}]}}},{"ID":"3290","typeID":"__group__","zOrder":"5","measuredW":"556","measuredH":"102","w":"556","h":"102","x":"1124","y":"1081","properties":{"controlName":"103-implementation-semantics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"556","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"241","measuredH":"28","x":"157","y":"37","properties":{"size":"20","text":"Implementation Semantics"}}]}}},{"ID":"3291","typeID":"__group__","zOrder":"6","measuredW":"699","measuredH":"102","w":"699","h":"102","x":"1052","y":"1176","properties":{"controlName":"104-api-semantics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"699","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"131","measuredH":"28","x":"284","y":"37","properties":{"size":"20","text":"API Semantics"}}]}}},{"ID":"3292","typeID":"__group__","zOrder":"11","measuredW":"14","measuredH":"487","w":"14","h":"487","x":"1798","y":"799","children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"14","measuredH":"36","x":"0","y":"451","properties":{"text":"v","size":"28"}},{"ID":"1","typeID":"Arrow","zOrder":"1","w":"1","h":"473","measuredW":"150","measuredH":"100","x":"7","y":"0","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":0,"y":-0.14389738910188044},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0,"y":472.82713475857486}}}]}}}]},"attributes":{"name":"New Wireframe 9 copy 7","order":1000156.2209166192,"parentID":null,"notes":null},"branchID":"Master","resourceID":"057DB19F-D6AC-44FC-8C5C-52D4D800A91B","mockupH":"655","mockupW":"1262","measuredW":"2058","measuredH":"1439","version":"1.0"},"groupOffset":{"x":0,"y":0},"dependencies":[],"projectID":"file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr"} \ No newline at end of file +{"mockup":{"controls":{"control":[{"ID":"3197","typeID":"Label","zOrder":"7","measuredW":"150","measuredH":"28","x":"1834","y":"831","properties":{"size":"20","text":"Smaller effort for"}},{"ID":"3198","typeID":"Label","zOrder":"8","measuredW":"156","measuredH":"28","x":"1834","y":"858","properties":{"size":"20","text":"changes later on."}},{"ID":"3217","typeID":"Label","zOrder":"9","measuredW":"143","measuredH":"28","x":"1834","y":"1177","properties":{"size":"20","text":"Higher effort for"}},{"ID":"3218","typeID":"Label","zOrder":"10","measuredW":"156","measuredH":"28","x":"1834","y":"1204","properties":{"size":"20","text":"changes later on."}},{"ID":"3231","typeID":"Label","zOrder":"13","measuredW":"134","measuredH":"28","x":"827","y":"871","properties":{"size":"20","text":"Automate here"}},{"ID":"3236","typeID":"Label","zOrder":"15","measuredW":"139","measuredH":"28","x":"823","y":"1079","properties":{"size":"20","text":"Focus on these"}},{"ID":"3242","typeID":"__group__","zOrder":"12","measuredW":"302","measuredH":"190","w":"302","h":"190","x":"987","y":"784","children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"256","h":"190","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"6710886","borderColor":"6710886"}},{"ID":"1","typeID":"Canvas","zOrder":"1","w":"237","h":"86","measuredW":"100","measuredH":"70","x":"65","y":"0","properties":{"color":"6710886","borderColor":"6710886"}}]}}},{"ID":"3243","typeID":"__group__","zOrder":"14","measuredW":"190","measuredH":"293","w":"190","h":"293","x":"986","y":"985","children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"54","h":"293","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"4473924","borderColor":"4473924"}},{"ID":"1","typeID":"Canvas","zOrder":"1","w":"87","h":"181","measuredW":"100","measuredH":"70","x":"38","y":"0","properties":{"color":"4473924","borderColor":"4473924"}},{"ID":"2","typeID":"Canvas","zOrder":"2","w":"86","h":"89","measuredW":"100","measuredH":"70","x":"104","y":"0","properties":{"color":"4473924","borderColor":"4473924"}}]}}},{"ID":"3250","typeID":"Label","zOrder":"0","measuredW":"76","measuredH":"26","x":"919","y":"1329","properties":{"text":"Also visit ","size":"18"}},{"ID":"3256","typeID":"Label","zOrder":"17","measuredW":"9","measuredH":"26","x":"1254","y":"1329","properties":{"size":"18","text":"/","color":"10066329"}},{"ID":"3258","typeID":"Label","zOrder":"18","measuredW":"59","measuredH":"26","x":"1707","y":"1329","properties":{"size":"18","text":"Credits"}},{"ID":"3261","typeID":"Arrow","zOrder":"20","w":"152","h":"1","measuredW":"150","measuredH":"100","x":"796","y":"919","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"16382715","p0":{"x":152,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.048133037535308176,"y":0}}},{"ID":"3268","typeID":"Label","zOrder":"21","measuredW":"9","measuredH":"26","x":"1679","y":"1329","properties":{"size":"18","text":"/","color":"10066329"}},{"ID":"3269","typeID":"Label","zOrder":"22","measuredW":"150","measuredH":"26","x":"1289","y":"1329","properties":{"size":"18","text":"Interactive version"}},{"ID":"3270","typeID":"Arrow","zOrder":"23","w":"123","h":"1","measuredW":"150","measuredH":"100","x":"1412","y":"1388","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":123,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.2922777153748939,"y":0},"color":"16382715"}},{"ID":"3271","typeID":"Arrow","zOrder":"24","w":"170","h":"1","measuredW":"150","measuredH":"100","x":"1888","y":"919","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"16382715","p0":{"x":170.17433009674505,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":0.2922777153748939,"y":0}}},{"ID":"3284","typeID":"__group__","zOrder":"1","measuredW":"232","measuredH":"26","w":"232","h":"26","x":"1001","y":"1329","properties":{"controlName":"ext_link:roadmap.sh/best-practices/code-review"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"232","measuredH":"26","x":"0","y":"0","properties":{"color":"10027263","size":"18","text":"Code Review Best Practices"}}]}}},{"ID":"3285","typeID":"__group__","zOrder":"16","measuredW":"202","measuredH":"26","w":"202","h":"26","x":"1451","y":"1329","properties":{"controlName":"ext_link:roadmap.sh/code-review"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"202","measuredH":"26","x":"0","y":"0","properties":{"color":"10027263","size":"18","text":"roadmap.sh/code-review"}}]}}},{"ID":"3286","typeID":"__group__","zOrder":"19","measuredW":"135","measuredH":"26","w":"135","h":"26","x":"1776","y":"1329","properties":{"controlName":"ext_link:www.morling.dev/blog/the-code-review-pyramid/"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"135","measuredH":"26","x":"0","y":"0","properties":{"size":"18","color":"10027263","text":"@gunnarmorling"}}]}}},{"ID":"3287","typeID":"__group__","zOrder":"3","measuredW":"196","measuredH":"102","w":"196","h":"102","x":"1304","y":"784","properties":{"controlName":"100-code-style"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"196","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"28","x":"49","y":"37","properties":{"size":"20","text":"Code Style"}}]}}},{"ID":"3288","typeID":"__group__","zOrder":"2","measuredW":"287","measuredH":"102","w":"287","h":"102","x":"1258","y":"883","properties":{"controlName":"101-tests"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"287","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"28","x":"120","y":"37","properties":{"size":"20","text":"Tests"}}]}}},{"ID":"3289","typeID":"__group__","zOrder":"4","measuredW":"424","measuredH":"102","w":"424","h":"102","x":"1190","y":"982","properties":{"controlName":"102-documentation"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"424","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"138","measuredH":"28","x":"143","y":"37","properties":{"size":"20","text":"Documentation"}}]}}},{"ID":"3290","typeID":"__group__","zOrder":"5","measuredW":"556","measuredH":"102","w":"556","h":"102","x":"1124","y":"1081","properties":{"controlName":"103-implementation-semantics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"556","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"241","measuredH":"28","x":"157","y":"37","properties":{"size":"20","text":"Implementation Semantics"}}]}}},{"ID":"3291","typeID":"__group__","zOrder":"6","measuredW":"699","measuredH":"102","w":"699","h":"102","x":"1052","y":"1176","properties":{"controlName":"104-api-semantics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"699","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"131","measuredH":"28","x":"284","y":"37","properties":{"size":"20","text":"API Semantics"}}]}}},{"ID":"3292","typeID":"__group__","zOrder":"11","measuredW":"14","measuredH":"487","w":"14","h":"487","x":"1798","y":"799","children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"14","measuredH":"36","x":"0","y":"451","properties":{"text":"v","size":"28"}},{"ID":"1","typeID":"Arrow","zOrder":"1","w":"1","h":"473","measuredW":"150","measuredH":"100","x":"7","y":"0","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":0,"y":-0.14389738910188044},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0,"y":472.82713475857486}}}]}}}]},"attributes":{"name":"New Wireframe 9 copy 7","order":1000156.2209166192,"parentID":null,"notes":null},"branchID":"Master","resourceID":"057DB19F-D6AC-44FC-8C5C-52D4D800A91B","mockupH":"605","mockupW":"1262","measuredW":"2058","measuredH":"1389","version":"1.0"},"groupOffset":{"x":0,"y":0},"dependencies":[],"projectID":"file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr"} \ No newline at end of file diff --git a/public/pdfs/roadmaps/code-review.pdf b/public/pdfs/roadmaps/code-review.pdf index 26cc420c700b67b5fcc156a0d3d5a6617f2cbcbf..ccfc75df400d9446ddc0a74622dd9295cb09a42d 100644 GIT binary patch delta 8258 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 Twm1+zApt%d78Y4`Ih_9imV Date: Sun, 4 Jun 2023 23:00:35 +0100 Subject: [PATCH 03/23] Update code review pyramid --- package.json | 8 +- pnpm-lock.yaml | 273 ++++++++++++++++++++----- public/jsons/roadmaps/code-review.json | 2 +- 3 files changed, 227 insertions(+), 56 deletions(-) diff --git a/package.json b/package.json index a34f263bf..c6c0d5401 100644 --- a/package.json +++ b/package.json @@ -21,12 +21,12 @@ "test:e2e": "playwright test" }, "dependencies": { - "@astrojs/preact": "^2.2.0", - "@astrojs/sitemap": "^1.3.1", + "@astrojs/preact": "^2.2.1", + "@astrojs/sitemap": "^1.3.3", "@astrojs/tailwind": "^3.1.3", "@fingerprintjs/fingerprintjs": "^3.4.1", "@nanostores/preact": "^0.5.0", - "astro": "^2.5.5", + "astro": "^2.5.7", "astro-compress": "^1.1.46", "jose": "^4.14.4", "js-cookie": "^3.0.5", @@ -48,7 +48,7 @@ "markdown-it": "^13.0.1", "openai": "^3.2.1", "prettier": "^2.8.8", - "prettier-plugin-astro": "^0.9.1", + "prettier-plugin-astro": "^0.10.0", "prettier-plugin-tailwindcss": "^0.3.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8018c03e..973b61e89 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,15 +1,15 @@ lockfileVersion: 5.4 specifiers: - '@astrojs/preact': ^2.2.0 - '@astrojs/sitemap': ^1.3.1 + '@astrojs/preact': ^2.2.1 + '@astrojs/sitemap': ^1.3.3 '@astrojs/tailwind': ^3.1.3 '@fingerprintjs/fingerprintjs': ^3.4.1 '@nanostores/preact': ^0.5.0 '@playwright/test': ^1.34.3 '@tailwindcss/typography': ^0.5.9 '@types/js-cookie': ^3.0.3 - astro: ^2.5.5 + astro: ^2.5.7 astro-compress: ^1.1.46 csv-parser: ^3.0.0 gh-pages: ^5.0.0 @@ -23,19 +23,19 @@ specifiers: openai: ^3.2.1 preact: ^10.15.1 prettier: ^2.8.8 - prettier-plugin-astro: ^0.9.1 + prettier-plugin-astro: ^0.10.0 prettier-plugin-tailwindcss: ^0.3.0 rehype-external-links: ^2.1.0 roadmap-renderer: ^1.0.6 tailwindcss: ^3.3.2 dependencies: - '@astrojs/preact': 2.2.0_preact@10.15.1 - '@astrojs/sitemap': 1.3.1 - '@astrojs/tailwind': 3.1.3_w4mihal45edfrnncnioktvfyqy + '@astrojs/preact': 2.2.1_preact@10.15.1 + '@astrojs/sitemap': 1.3.3 + '@astrojs/tailwind': 3.1.3_cyxi2rbbvaq22julk2hkhgjf7u '@fingerprintjs/fingerprintjs': 3.4.1 '@nanostores/preact': 0.5.0_m2wbkjxz7237icvaxqi7ignbgm - astro: 2.5.5 + astro: 2.5.7 astro-compress: 1.1.46 jose: 4.14.4 js-cookie: 3.0.5 @@ -57,8 +57,8 @@ devDependencies: markdown-it: 13.0.1 openai: 3.2.1 prettier: 2.8.8 - prettier-plugin-astro: 0.9.1 - prettier-plugin-tailwindcss: 0.3.0_lt2urjvx44zpywt7u6o2ilexia + prettier-plugin-astro: 0.10.0 + prettier-plugin-tailwindcss: 0.3.0_pe5dke5lusx3jwzlx77xu7mxju packages: @@ -76,12 +76,16 @@ packages: /@astrojs/compiler/1.4.2: resolution: {integrity: sha512-xoRp7JpiMZPK/beUcZEM5kM44Z/h20wwwQcl54duPqQMyySG9vZ5xMM6dYiQmn7b3XzpZs0cT6TRDoJJ5gwHAQ==} + dev: false + + /@astrojs/compiler/1.5.0: + resolution: {integrity: sha512-k04X/7nlMklU0HQUScxbCTf5n8/Vr+0U0bawb9QWulWxd6qJf3FmBrNATgTYiltjB4pc5HBqmmttAfFi7m4lLg==} /@astrojs/language-server/1.0.0: resolution: {integrity: sha512-oEw7AwJmzjgy6HC9f5IdrphZ1GVgfV/+7xQuyf52cpTiRWd/tJISK3MsKP0cDkVlfodmNABNFnAaAWuLZEiiiA==} hasBin: true dependencies: - '@astrojs/compiler': 1.4.2 + '@astrojs/compiler': 1.5.0 '@jridgewell/trace-mapping': 0.3.18 '@vscode/emmet-helper': 2.8.7 events: 3.3.0 @@ -97,13 +101,13 @@ packages: vscode-uri: 3.0.7 dev: false - /@astrojs/markdown-remark/2.2.1_astro@2.5.5: + /@astrojs/markdown-remark/2.2.1_astro@2.5.7: resolution: {integrity: sha512-VF0HRv4GpC1XEMLnsKf6jth7JSmlt9qpqP0josQgA2eSpCIAC/Et+y94mgdBIZVBYH/yFnMoIxgKVe93xfO2GA==} peerDependencies: astro: ^2.5.0 dependencies: '@astrojs/prism': 2.1.2 - astro: 2.5.5 + astro: 2.5.7 github-slugger: 1.5.0 import-meta-resolve: 2.2.2 rehype-raw: 6.1.1 @@ -120,8 +124,8 @@ packages: - supports-color dev: false - /@astrojs/preact/2.2.0_preact@10.15.1: - resolution: {integrity: sha512-SP8ODC/ywPFytVF9jX0Nrf9JoMFgXdsRPritLV9v4zPnarIwypW0kIFgm3rjT4ot8CQQj9J5cztqmD+hrDOvMg==} + /@astrojs/preact/2.2.1_preact@10.15.1: + resolution: {integrity: sha512-lObgrX/qfK2sEnGDWoyQ8KojFJ54FIKB4TeywWmgj4ZTg0yLnvvOz6ReyPQ8VfR/1MU+vWs22jE4cuZJ/vPnOA==} engines: {node: '>=16.12.0'} peerDependencies: preact: ^10.6.5 @@ -143,21 +147,21 @@ packages: prismjs: 1.29.0 dev: false - /@astrojs/sitemap/1.3.1: - resolution: {integrity: sha512-4ZBug4ml+2Nl5/Uh4VSja8Kij/DU7/RaNMciXCNm1EzQkP/jm+nqMG1liDDcQK5zXPAoLeaat06IbhNlruvQjg==} + /@astrojs/sitemap/1.3.3: + resolution: {integrity: sha512-TPyyb/hKxc+bHPpSoNPhsuI0QOTVzq2tueg2r0CTH1HqigYIAA2LQkCBlQzz85R+LrOZpv4kXYmhxdDcSkJCmA==} dependencies: sitemap: 7.1.1 zod: 3.21.4 dev: false - /@astrojs/tailwind/3.1.3_w4mihal45edfrnncnioktvfyqy: + /@astrojs/tailwind/3.1.3_cyxi2rbbvaq22julk2hkhgjf7u: resolution: {integrity: sha512-10S1omrv5K5HRVAZ0fBgN5vQykn2HRL332LAVFyBASMn1Ff6gDfSK+CPUeUu94eZUOEaPnECLK8EHAqZ8iY9CA==} peerDependencies: astro: ^2.5.0 tailwindcss: ^3.0.24 dependencies: '@proload/core': 0.3.3 - astro: 2.5.5 + astro: 2.5.7 autoprefixer: 10.4.14_postcss@8.4.23 postcss: 8.4.23 postcss-load-config: 4.0.1_postcss@8.4.23 @@ -182,8 +186,8 @@ packages: - supports-color dev: false - /@astrojs/webapi/2.1.1: - resolution: {integrity: sha512-mHZ7VgPNMeV3TYIw3SGHTKaJosBxA8bTzZ3QhNw509qvCJca4Lkjes8JywimuwTn+TMjEiv7ksNfwRluad3jqA==} + /@astrojs/webapi/2.2.0: + resolution: {integrity: sha512-mHAOApWyjqSe5AQMOUD9rsZJqbMQqe3Wosb1a40JV6Okvyxj1G6GTlthwYadWCymq/lbgwh0PLiY8Fr4eFxtuQ==} dependencies: undici: 5.22.0 dev: false @@ -200,6 +204,11 @@ packages: engines: {node: '>=6.9.0'} dev: false + /@babel/compat-data/7.22.3: + resolution: {integrity: sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==} + engines: {node: '>=6.9.0'} + dev: false + /@babel/core/7.21.5: resolution: {integrity: sha512-9M398B/QH5DlfCOTKDZT1ozXr0x8uBEeFd+dJraGUZGiaNpGCDVGCc14hZexsMblw3XxltJ+6kSvogp9J+5a9g==} engines: {node: '>=6.9.0'} @@ -223,6 +232,29 @@ packages: - supports-color dev: false + /@babel/core/7.22.1: + resolution: {integrity: sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.22.3 + '@babel/helper-compilation-targets': 7.22.1_@babel+core@7.22.1 + '@babel/helper-module-transforms': 7.22.1 + '@babel/helpers': 7.22.3 + '@babel/parser': 7.22.4 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: false + /@babel/generator/7.21.5: resolution: {integrity: sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==} engines: {node: '>=6.9.0'} @@ -233,6 +265,16 @@ packages: jsesc: 2.5.2 dev: false + /@babel/generator/7.22.3: + resolution: {integrity: sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + jsesc: 2.5.2 + dev: false + /@babel/helper-annotate-as-pure/7.18.6: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} @@ -254,24 +296,43 @@ packages: semver: 6.3.0 dev: false + /@babel/helper-compilation-targets/7.22.1_@babel+core@7.22.1: + resolution: {integrity: sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.22.3 + '@babel/core': 7.22.1 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.5 + lru-cache: 5.1.1 + semver: 6.3.0 + dev: false + /@babel/helper-environment-visitor/7.21.5: resolution: {integrity: sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==} engines: {node: '>=6.9.0'} dev: false + /@babel/helper-environment-visitor/7.22.1: + resolution: {integrity: sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==} + engines: {node: '>=6.9.0'} + dev: false + /@babel/helper-function-name/7.21.0: resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.21.5 + '@babel/template': 7.21.9 + '@babel/types': 7.22.4 dev: false /@babel/helper-hoist-variables/7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.4 dev: false /@babel/helper-module-imports/7.21.4: @@ -297,6 +358,22 @@ packages: - supports-color dev: false + /@babel/helper-module-transforms/7.22.1: + resolution: {integrity: sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-simple-access': 7.21.5 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + transitivePeerDependencies: + - supports-color + dev: false + /@babel/helper-plugin-utils/7.21.5: resolution: {integrity: sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==} engines: {node: '>=6.9.0'} @@ -342,6 +419,17 @@ packages: - supports-color dev: false + /@babel/helpers/7.22.3: + resolution: {integrity: sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + transitivePeerDependencies: + - supports-color + dev: false + /@babel/highlight/7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} @@ -356,7 +444,15 @@ packages: engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.4 + dev: false + + /@babel/parser/7.22.4: + resolution: {integrity: sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.22.4 dev: false /@babel/plugin-syntax-jsx/7.21.4_@babel+core@7.21.5: @@ -369,6 +465,16 @@ packages: '@babel/helper-plugin-utils': 7.21.5 dev: false + /@babel/plugin-syntax-jsx/7.21.4_@babel+core@7.22.1: + resolution: {integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: false + /@babel/plugin-transform-react-jsx/7.21.5_@babel+core@7.21.5: resolution: {integrity: sha512-ELdlq61FpoEkHO6gFRpfj0kUgSwQTGoaEU8eMRoS8Dv3v6e7BjEAj5WMtIBRdHUeAioMhKP5HyxNzNnP+heKbA==} engines: {node: '>=6.9.0'} @@ -383,6 +489,20 @@ packages: '@babel/types': 7.21.5 dev: false + /@babel/plugin-transform-react-jsx/7.21.5_@babel+core@7.22.1: + resolution: {integrity: sha512-ELdlq61FpoEkHO6gFRpfj0kUgSwQTGoaEU8eMRoS8Dv3v6e7BjEAj5WMtIBRdHUeAioMhKP5HyxNzNnP+heKbA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-jsx': 7.21.4_@babel+core@7.22.1 + '@babel/types': 7.21.5 + dev: false + /@babel/template/7.20.7: resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} @@ -392,18 +512,45 @@ packages: '@babel/types': 7.21.5 dev: false + /@babel/template/7.21.9: + resolution: {integrity: sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 + dev: false + /@babel/traverse/7.21.5: resolution: {integrity: sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.5 + '@babel/generator': 7.22.3 '@babel/helper-environment-visitor': 7.21.5 '@babel/helper-function-name': 7.21.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.21.5 - '@babel/types': 7.21.5 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/traverse/7.22.4: + resolution: {integrity: sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.22.3 + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: @@ -419,6 +566,15 @@ packages: to-fast-properties: 2.0.0 dev: false + /@babel/types/7.22.4: + resolution: {integrity: sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.21.5 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + dev: false + /@colors/colors/1.5.0: resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} @@ -810,6 +966,7 @@ packages: picocolors: 1.0.0 tiny-glob: 0.2.9 tslib: 2.5.0 + dev: false /@playwright/test/1.34.3: resolution: {integrity: sha512-zPLef6w9P6T/iT6XDYG3mvGOqOyb6eHaV9XtkunYs0+OzxBtrPAAaHotc0X+PJ00WPPnLfFBTl7mf45Mn8DBmw==} @@ -918,8 +1075,8 @@ packages: /@types/babel__core/7.20.0: resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==} dependencies: - '@babel/parser': 7.21.5 - '@babel/types': 7.21.5 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.18.5 @@ -928,20 +1085,20 @@ packages: /@types/babel__generator/7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.4 dev: false /@types/babel__template/7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.21.5 - '@babel/types': 7.21.5 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 dev: false /@types/babel__traverse/7.18.5: resolution: {integrity: sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q==} dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.4 dev: false /@types/css-tree/2.3.1: @@ -1186,8 +1343,8 @@ packages: terser: 5.17.6 dev: false - /astro/2.5.5: - resolution: {integrity: sha512-VRwnlfRtPALeOxfE4e7To5Vlu9pGwlTRWN1zkn1QTizwfg0rLirFTm6t2MCG/fUhlu/p3QO9tz8SpAIyDq53/Q==} + /astro/2.5.7: + resolution: {integrity: sha512-qYKMIN4tXAOAsm10vU4f+Q7LfC05JmEbQiJmSBqIEhp+wnQcEUFkGLrHMSsps3oBzMtjErUdDDW5tGJcn5eVlA==} engines: {node: '>=16.12.0', npm: '>=6.14.0'} hasBin: true peerDependencies: @@ -1198,13 +1355,13 @@ packages: dependencies: '@astrojs/compiler': 1.4.2 '@astrojs/language-server': 1.0.0 - '@astrojs/markdown-remark': 2.2.1_astro@2.5.5 + '@astrojs/markdown-remark': 2.2.1_astro@2.5.7 '@astrojs/telemetry': 2.1.1 - '@astrojs/webapi': 2.1.1 - '@babel/core': 7.21.5 + '@astrojs/webapi': 2.2.0 + '@babel/core': 7.22.1 '@babel/generator': 7.21.5 '@babel/parser': 7.21.5 - '@babel/plugin-transform-react-jsx': 7.21.5_@babel+core@7.21.5 + '@babel/plugin-transform-react-jsx': 7.21.5_@babel+core@7.22.1 '@babel/traverse': 7.21.5 '@babel/types': 7.21.5 '@types/babel__core': 7.20.0 @@ -1754,6 +1911,7 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + dev: false /crypto-random-string/4.0.0: resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} @@ -1872,6 +2030,7 @@ packages: /define-lazy-prop/2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} + dev: false /delayed-stream/1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} @@ -2421,6 +2580,7 @@ packages: /globalyzer/0.1.0: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} + dev: false /globby/11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} @@ -2447,6 +2607,7 @@ packages: /globrex/0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + dev: false /got/12.6.0: resolution: {integrity: sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ==} @@ -2790,6 +2951,7 @@ packages: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} hasBin: true + dev: false /is-docker/3.0.0: resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} @@ -2877,6 +3039,7 @@ packages: engines: {node: '>=8'} dependencies: is-docker: 2.2.1 + dev: false /is-yarn-global/0.4.1: resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} @@ -2885,6 +3048,7 @@ packages: /isexe/2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false /jackspeak/2.1.1: resolution: {integrity: sha512-juf9stUEwUaILepraGOWIJTLwg48bUnBmRqd2ln2Os1sW987zeoj/hzhbvRB95oMuS2ZTpjULmdwHNX4rzZIZw==} @@ -4042,6 +4206,7 @@ packages: define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 + dev: false /openai/3.2.1: resolution: {integrity: sha512-762C9BNlJPbjjlWZi4WYK9iM2tAVAv0uUp1UmI34vb0CN5T2mjB/qM6RYBmNKMh/dN9fC+bxqPwWJZUTWW052A==} @@ -4209,6 +4374,7 @@ packages: /path-key/3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + dev: false /path-key/4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} @@ -4399,27 +4565,26 @@ packages: which-pm: 2.0.0 dev: false - /prettier-plugin-astro/0.8.0: - resolution: {integrity: sha512-kt9wk33J7HvFGwFaHb8piwy4zbUmabC8Nu+qCw493jhe96YkpjscqGBPy4nJ9TPy9pd7+kEx1zM81rp+MIdrXg==} + /prettier-plugin-astro/0.10.0: + resolution: {integrity: sha512-dPzop0gKZyVGpTDQmfy+e7FKXC9JT3mlpfYA2diOVz+Ui+QR1U4G/s+OesKl2Hib2JJOtAYJs/l+ovgT0ljlFA==} engines: {node: ^14.15.0 || >=16.0.0, pnpm: '>=7.14.0'} dependencies: - '@astrojs/compiler': 1.4.2 + '@astrojs/compiler': 1.5.0 prettier: 2.8.8 sass-formatter: 0.7.6 - synckit: 0.8.5 - dev: false + dev: true - /prettier-plugin-astro/0.9.1: - resolution: {integrity: sha512-pYZXSbdq0eElvzoIMArzv1SBn1NUXzopjlcnt6Ql8VW32PjC12NovwBjXJ6rh8qQLi7vF8jNqAbraKW03UPfag==} + /prettier-plugin-astro/0.8.0: + resolution: {integrity: sha512-kt9wk33J7HvFGwFaHb8piwy4zbUmabC8Nu+qCw493jhe96YkpjscqGBPy4nJ9TPy9pd7+kEx1zM81rp+MIdrXg==} engines: {node: ^14.15.0 || >=16.0.0, pnpm: '>=7.14.0'} dependencies: - '@astrojs/compiler': 1.4.2 + '@astrojs/compiler': 1.5.0 prettier: 2.8.8 sass-formatter: 0.7.6 synckit: 0.8.5 - dev: true + dev: false - /prettier-plugin-tailwindcss/0.3.0_lt2urjvx44zpywt7u6o2ilexia: + /prettier-plugin-tailwindcss/0.3.0_pe5dke5lusx3jwzlx77xu7mxju: resolution: {integrity: sha512-009/Xqdy7UmkcTBpwlq7jsViDqXAYSOMLDrHAdTMlVZOrKfM2o9Ci7EMWTMZ7SkKBFTG04UM9F9iM2+4i6boDA==} engines: {node: '>=12.17.0'} peerDependencies: @@ -4472,7 +4637,7 @@ packages: optional: true dependencies: prettier: 2.8.8 - prettier-plugin-astro: 0.9.1 + prettier-plugin-astro: 0.10.0 dev: true /prettier/2.8.8: @@ -4929,10 +5094,12 @@ packages: engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 + dev: false /shebang-regex/3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + dev: false /shiki/0.14.2: resolution: {integrity: sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==} @@ -5254,6 +5421,7 @@ packages: dependencies: '@pkgr/utils': 2.3.1 tslib: 2.5.0 + dev: false /tailwindcss/3.3.2: resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==} @@ -5345,6 +5513,7 @@ packages: dependencies: globalyzer: 0.1.0 globrex: 0.1.2 + dev: false /to-fast-properties/2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} @@ -5388,6 +5557,7 @@ packages: /tslib/2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + dev: false /tuf-js/1.1.4: resolution: {integrity: sha512-Lw2JRM3HTYhEtQJM2Th3aNCPbnXirtWMl065BawwmM2pX6XStH/ZO9e8T2hh0zk/HUa+1i6j+Lv6eDitKTau6A==} @@ -5770,6 +5940,7 @@ packages: hasBin: true dependencies: isexe: 2.0.0 + dev: false /which/3.0.0: resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} diff --git a/public/jsons/roadmaps/code-review.json b/public/jsons/roadmaps/code-review.json index bcf96f1b9..35e1d2b2a 100644 --- a/public/jsons/roadmaps/code-review.json +++ b/public/jsons/roadmaps/code-review.json @@ -1 +1 @@ -{"mockup":{"controls":{"control":[{"ID":"3197","typeID":"Label","zOrder":"7","measuredW":"150","measuredH":"28","x":"1834","y":"831","properties":{"size":"20","text":"Smaller effort for"}},{"ID":"3198","typeID":"Label","zOrder":"8","measuredW":"156","measuredH":"28","x":"1834","y":"858","properties":{"size":"20","text":"changes later on."}},{"ID":"3217","typeID":"Label","zOrder":"9","measuredW":"143","measuredH":"28","x":"1834","y":"1177","properties":{"size":"20","text":"Higher effort for"}},{"ID":"3218","typeID":"Label","zOrder":"10","measuredW":"156","measuredH":"28","x":"1834","y":"1204","properties":{"size":"20","text":"changes later on."}},{"ID":"3231","typeID":"Label","zOrder":"13","measuredW":"134","measuredH":"28","x":"827","y":"871","properties":{"size":"20","text":"Automate here"}},{"ID":"3236","typeID":"Label","zOrder":"15","measuredW":"139","measuredH":"28","x":"823","y":"1079","properties":{"size":"20","text":"Focus on these"}},{"ID":"3242","typeID":"__group__","zOrder":"12","measuredW":"302","measuredH":"190","w":"302","h":"190","x":"987","y":"784","children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"256","h":"190","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"6710886","borderColor":"6710886"}},{"ID":"1","typeID":"Canvas","zOrder":"1","w":"237","h":"86","measuredW":"100","measuredH":"70","x":"65","y":"0","properties":{"color":"6710886","borderColor":"6710886"}}]}}},{"ID":"3243","typeID":"__group__","zOrder":"14","measuredW":"190","measuredH":"293","w":"190","h":"293","x":"986","y":"985","children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"54","h":"293","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"4473924","borderColor":"4473924"}},{"ID":"1","typeID":"Canvas","zOrder":"1","w":"87","h":"181","measuredW":"100","measuredH":"70","x":"38","y":"0","properties":{"color":"4473924","borderColor":"4473924"}},{"ID":"2","typeID":"Canvas","zOrder":"2","w":"86","h":"89","measuredW":"100","measuredH":"70","x":"104","y":"0","properties":{"color":"4473924","borderColor":"4473924"}}]}}},{"ID":"3250","typeID":"Label","zOrder":"0","measuredW":"76","measuredH":"26","x":"919","y":"1329","properties":{"text":"Also visit ","size":"18"}},{"ID":"3256","typeID":"Label","zOrder":"17","measuredW":"9","measuredH":"26","x":"1254","y":"1329","properties":{"size":"18","text":"/","color":"10066329"}},{"ID":"3258","typeID":"Label","zOrder":"18","measuredW":"59","measuredH":"26","x":"1707","y":"1329","properties":{"size":"18","text":"Credits"}},{"ID":"3261","typeID":"Arrow","zOrder":"20","w":"152","h":"1","measuredW":"150","measuredH":"100","x":"796","y":"919","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"16382715","p0":{"x":152,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.048133037535308176,"y":0}}},{"ID":"3268","typeID":"Label","zOrder":"21","measuredW":"9","measuredH":"26","x":"1679","y":"1329","properties":{"size":"18","text":"/","color":"10066329"}},{"ID":"3269","typeID":"Label","zOrder":"22","measuredW":"150","measuredH":"26","x":"1289","y":"1329","properties":{"size":"18","text":"Interactive version"}},{"ID":"3270","typeID":"Arrow","zOrder":"23","w":"123","h":"1","measuredW":"150","measuredH":"100","x":"1412","y":"1388","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":123,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.2922777153748939,"y":0},"color":"16382715"}},{"ID":"3271","typeID":"Arrow","zOrder":"24","w":"170","h":"1","measuredW":"150","measuredH":"100","x":"1888","y":"919","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"16382715","p0":{"x":170.17433009674505,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":0.2922777153748939,"y":0}}},{"ID":"3284","typeID":"__group__","zOrder":"1","measuredW":"232","measuredH":"26","w":"232","h":"26","x":"1001","y":"1329","properties":{"controlName":"ext_link:roadmap.sh/best-practices/code-review"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"232","measuredH":"26","x":"0","y":"0","properties":{"color":"10027263","size":"18","text":"Code Review Best Practices"}}]}}},{"ID":"3285","typeID":"__group__","zOrder":"16","measuredW":"202","measuredH":"26","w":"202","h":"26","x":"1451","y":"1329","properties":{"controlName":"ext_link:roadmap.sh/code-review"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"202","measuredH":"26","x":"0","y":"0","properties":{"color":"10027263","size":"18","text":"roadmap.sh/code-review"}}]}}},{"ID":"3286","typeID":"__group__","zOrder":"19","measuredW":"135","measuredH":"26","w":"135","h":"26","x":"1776","y":"1329","properties":{"controlName":"ext_link:www.morling.dev/blog/the-code-review-pyramid/"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"135","measuredH":"26","x":"0","y":"0","properties":{"size":"18","color":"10027263","text":"@gunnarmorling"}}]}}},{"ID":"3287","typeID":"__group__","zOrder":"3","measuredW":"196","measuredH":"102","w":"196","h":"102","x":"1304","y":"784","properties":{"controlName":"100-code-style"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"196","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"28","x":"49","y":"37","properties":{"size":"20","text":"Code Style"}}]}}},{"ID":"3288","typeID":"__group__","zOrder":"2","measuredW":"287","measuredH":"102","w":"287","h":"102","x":"1258","y":"883","properties":{"controlName":"101-tests"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"287","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"28","x":"120","y":"37","properties":{"size":"20","text":"Tests"}}]}}},{"ID":"3289","typeID":"__group__","zOrder":"4","measuredW":"424","measuredH":"102","w":"424","h":"102","x":"1190","y":"982","properties":{"controlName":"102-documentation"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"424","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"138","measuredH":"28","x":"143","y":"37","properties":{"size":"20","text":"Documentation"}}]}}},{"ID":"3290","typeID":"__group__","zOrder":"5","measuredW":"556","measuredH":"102","w":"556","h":"102","x":"1124","y":"1081","properties":{"controlName":"103-implementation-semantics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"556","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"241","measuredH":"28","x":"157","y":"37","properties":{"size":"20","text":"Implementation Semantics"}}]}}},{"ID":"3291","typeID":"__group__","zOrder":"6","measuredW":"699","measuredH":"102","w":"699","h":"102","x":"1052","y":"1176","properties":{"controlName":"104-api-semantics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"699","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"131","measuredH":"28","x":"284","y":"37","properties":{"size":"20","text":"API Semantics"}}]}}},{"ID":"3292","typeID":"__group__","zOrder":"11","measuredW":"14","measuredH":"487","w":"14","h":"487","x":"1798","y":"799","children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"14","measuredH":"36","x":"0","y":"451","properties":{"text":"v","size":"28"}},{"ID":"1","typeID":"Arrow","zOrder":"1","w":"1","h":"473","measuredW":"150","measuredH":"100","x":"7","y":"0","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":0,"y":-0.14389738910188044},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0,"y":472.82713475857486}}}]}}}]},"attributes":{"name":"New Wireframe 9 copy 7","order":1000156.2209166192,"parentID":null,"notes":null},"branchID":"Master","resourceID":"057DB19F-D6AC-44FC-8C5C-52D4D800A91B","mockupH":"605","mockupW":"1262","measuredW":"2058","measuredH":"1389","version":"1.0"},"groupOffset":{"x":0,"y":0},"dependencies":[],"projectID":"file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr"} \ No newline at end of file +{"mockup":{"controls":{"control":[{"ID":"3197","typeID":"Label","zOrder":"7","measuredW":"150","measuredH":"28","x":"1834","y":"831","properties":{"size":"20","text":"Smaller effort for"}},{"ID":"3198","typeID":"Label","zOrder":"8","measuredW":"156","measuredH":"28","x":"1834","y":"858","properties":{"size":"20","text":"changes later on."}},{"ID":"3217","typeID":"Label","zOrder":"9","measuredW":"143","measuredH":"28","x":"1834","y":"1177","properties":{"size":"20","text":"Higher effort for"}},{"ID":"3218","typeID":"Label","zOrder":"10","measuredW":"156","measuredH":"28","x":"1834","y":"1204","properties":{"size":"20","text":"changes later on."}},{"ID":"3231","typeID":"Label","zOrder":"13","measuredW":"134","measuredH":"28","x":"827","y":"871","properties":{"size":"20","text":"Automate here"}},{"ID":"3236","typeID":"Label","zOrder":"15","measuredW":"139","measuredH":"28","x":"823","y":"1079","properties":{"size":"20","text":"Focus on these"}},{"ID":"3242","typeID":"__group__","zOrder":"12","measuredW":"302","measuredH":"190","w":"302","h":"190","x":"987","y":"784","children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"256","h":"190","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"6710886","borderColor":"6710886"}},{"ID":"1","typeID":"Canvas","zOrder":"1","w":"237","h":"86","measuredW":"100","measuredH":"70","x":"65","y":"0","properties":{"color":"6710886","borderColor":"6710886"}}]}}},{"ID":"3243","typeID":"__group__","zOrder":"14","measuredW":"190","measuredH":"293","w":"190","h":"293","x":"986","y":"985","children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"54","h":"293","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"4473924","borderColor":"4473924"}},{"ID":"1","typeID":"Canvas","zOrder":"1","w":"87","h":"181","measuredW":"100","measuredH":"70","x":"38","y":"0","properties":{"color":"4473924","borderColor":"4473924"}},{"ID":"2","typeID":"Canvas","zOrder":"2","w":"86","h":"89","measuredW":"100","measuredH":"70","x":"104","y":"0","properties":{"color":"4473924","borderColor":"4473924"}}]}}},{"ID":"3250","typeID":"Label","zOrder":"0","measuredW":"76","measuredH":"26","x":"919","y":"1329","properties":{"text":"Also visit ","size":"18"}},{"ID":"3256","typeID":"Label","zOrder":"17","measuredW":"9","measuredH":"26","x":"1254","y":"1329","properties":{"size":"18","text":"/","color":"10066329"}},{"ID":"3258","typeID":"Label","zOrder":"18","measuredW":"59","measuredH":"26","x":"1707","y":"1329","properties":{"size":"18","text":"Credits"}},{"ID":"3261","typeID":"Arrow","zOrder":"20","w":"152","h":"1","measuredW":"150","measuredH":"100","x":"796","y":"919","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":152,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.048133037535308176,"y":0},"color":"16382715"}},{"ID":"3268","typeID":"Label","zOrder":"21","measuredW":"9","measuredH":"26","x":"1679","y":"1329","properties":{"size":"18","text":"/","color":"10066329"}},{"ID":"3269","typeID":"Label","zOrder":"22","measuredW":"150","measuredH":"26","x":"1289","y":"1329","properties":{"size":"18","text":"Interactive version"}},{"ID":"3270","typeID":"Arrow","zOrder":"23","w":"123","h":"1","measuredW":"150","measuredH":"100","x":"1412","y":"1448","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":123,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.2922777153748939,"y":0},"color":"16382715"}},{"ID":"3271","typeID":"Arrow","zOrder":"24","w":"170","h":"1","measuredW":"150","measuredH":"100","x":"1888","y":"919","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":170.17433009674505,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":0.2922777153748939,"y":0},"color":"16382715"}},{"ID":"3284","typeID":"__group__","zOrder":"1","measuredW":"232","measuredH":"26","w":"232","h":"26","x":"1001","y":"1329","properties":{"controlName":"ext_link:roadmap.sh/best-practices/code-review"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"232","measuredH":"26","x":"0","y":"0","properties":{"color":"10027263","size":"18","text":"Code Review Best Practices"}}]}}},{"ID":"3285","typeID":"__group__","zOrder":"16","measuredW":"202","measuredH":"26","w":"202","h":"26","x":"1451","y":"1329","properties":{"controlName":"ext_link:roadmap.sh/code-review"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"202","measuredH":"26","x":"0","y":"0","properties":{"color":"10027263","size":"18","text":"roadmap.sh/code-review"}}]}}},{"ID":"3286","typeID":"__group__","zOrder":"19","measuredW":"135","measuredH":"26","w":"135","h":"26","x":"1776","y":"1329","properties":{"controlName":"ext_link:www.morling.dev/blog/the-code-review-pyramid/"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"135","measuredH":"26","x":"0","y":"0","properties":{"size":"18","color":"10027263","text":"@gunnarmorling"}}]}}},{"ID":"3287","typeID":"__group__","zOrder":"3","measuredW":"196","measuredH":"102","w":"196","h":"102","x":"1304","y":"784","properties":{"controlName":"100-code-style"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"196","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"28","x":"49","y":"37","properties":{"size":"20","text":"Code Style"}}]}}},{"ID":"3288","typeID":"__group__","zOrder":"2","measuredW":"287","measuredH":"102","w":"287","h":"102","x":"1258","y":"883","properties":{"controlName":"101-tests"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"287","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"28","x":"120","y":"37","properties":{"size":"20","text":"Tests"}}]}}},{"ID":"3289","typeID":"__group__","zOrder":"4","measuredW":"424","measuredH":"102","w":"424","h":"102","x":"1190","y":"982","properties":{"controlName":"102-documentation"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"424","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"138","measuredH":"28","x":"143","y":"37","properties":{"size":"20","text":"Documentation"}}]}}},{"ID":"3290","typeID":"__group__","zOrder":"5","measuredW":"556","measuredH":"102","w":"556","h":"102","x":"1124","y":"1081","properties":{"controlName":"103-implementation-semantics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"556","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"241","measuredH":"28","x":"157","y":"37","properties":{"size":"20","text":"Implementation Semantics"}}]}}},{"ID":"3291","typeID":"__group__","zOrder":"6","measuredW":"699","measuredH":"102","w":"699","h":"102","x":"1052","y":"1176","properties":{"controlName":"104-api-semantics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"699","h":"102","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"131","measuredH":"28","x":"284","y":"37","properties":{"size":"20","text":"API Semantics"}}]}}},{"ID":"3292","typeID":"__group__","zOrder":"11","measuredW":"14","measuredH":"487","w":"14","h":"487","x":"1798","y":"799","children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"14","measuredH":"36","x":"0","y":"451","properties":{"text":"v","size":"28"}},{"ID":"1","typeID":"Arrow","zOrder":"1","w":"1","h":"473","measuredW":"150","measuredH":"100","x":"7","y":"0","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":0,"y":-0.14389738910188044},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0,"y":472.82713475857486}}}]}}},{"ID":"3293","typeID":"Arrow","zOrder":"25","w":"123","h":"1","measuredW":"150","measuredH":"100","x":"1328","y":"759","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":123,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.2922777153748939,"y":0},"color":"16382715"}}]},"attributes":{"name":"New Wireframe 9 copy 7","order":1000156.2209166192,"parentID":null,"notes":null},"branchID":"Master","resourceID":"057DB19F-D6AC-44FC-8C5C-52D4D800A91B","mockupH":"690","mockupW":"1262","measuredW":"2058","measuredH":"1449","version":"1.0"},"groupOffset":{"x":0,"y":0},"dependencies":[],"projectID":"file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr"} \ No newline at end of file From dec5e58063f627c509f7fad25dad1a50902ef698 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 19:55:58 +0100 Subject: [PATCH 04/23] Refactor roadmap and best practice rendering engine --- public/jsons/roadmaps/frontend-beginner.json | 1 - public/jsons/roadmaps/frontend.json | 1 - scripts/compress-jsons.cjs | 19 - .../FrameRenderer/FrameRenderer.astro | 4 +- src/components/FrameRenderer/renderer.ts | 31 +- .../api-security}/api-security.json | 0 .../data/best-practices/aws}/aws.json | 0 .../code-review}/code-review.json | 0 .../frontend-performance.json | 0 .../data/roadmaps/android}/android.json | 0 .../data/roadmaps/angular}/angular.json | 0 .../roadmaps/aspnet-core}/aspnet-core.json | 0 .../data/roadmaps/backend}/backend.json | 0 .../data/roadmaps/blockchain}/blockchain.json | 0 .../roadmaps/code-review}/code-review.json | 0 .../computer-science}/computer-science.json | 0 .../data/roadmaps/cpp}/cpp.json | 0 .../cyber-security}/cyber-security.json | 0 .../design-system}/design-system.json | 0 .../data/roadmaps/devops}/devops.json | 0 .../data/roadmaps/docker}/docker.json | 0 .../data/roadmaps/flutter}/flutter.json | 0 .../roadmaps/frontend/frontend-beginner.json | 1921 +++ src/data/roadmaps/frontend/frontend.json | 14265 ++++++++++++++++ .../data/roadmaps/full-stack}/full-stack.json | 0 .../data/roadmaps/golang}/golang.json | 0 .../data/roadmaps/graphql}/graphql.json | 0 .../data/roadmaps/java}/java.json | 0 .../data/roadmaps/javascript}/javascript.json | 0 .../data/roadmaps/kubernetes}/kubernetes.json | 0 .../data/roadmaps/mongodb}/mongodb.json | 0 .../data/roadmaps/nodejs}/nodejs.json | 0 .../postgresql-dba}/postgresql-dba.json | 0 .../prompt-engineering.json | 0 .../data/roadmaps/python}/python.json | 0 .../roadmaps => src/data/roadmaps/qa}/qa.json | 0 .../data/roadmaps/react}/react.json | 0 .../software-architect.json | 0 .../software-design-architecture.json | 0 .../roadmaps/spring-boot}/spring-boot.json | 0 .../system-design}/system-design.json | 0 .../data/roadmaps/typescript}/typescript.json | 0 .../data/roadmaps/ux-design}/ux-design.json | 0 .../data/roadmaps/vue}/vue.json | 0 src/lib/roadmap.ts | 1 - src/pages/[roadmapId]/index.astro | 7 +- src/pages/[roadmapId]/index.json.ts | 27 + .../[bestPracticeId]/index.json.ts | 30 + 48 files changed, 16259 insertions(+), 48 deletions(-) delete mode 100644 public/jsons/roadmaps/frontend-beginner.json delete mode 100644 public/jsons/roadmaps/frontend.json delete mode 100644 scripts/compress-jsons.cjs rename {public/jsons/best-practices => src/data/best-practices/api-security}/api-security.json (100%) rename {public/jsons/best-practices => src/data/best-practices/aws}/aws.json (100%) rename {public/jsons/best-practices => src/data/best-practices/code-review}/code-review.json (100%) rename {public/jsons/best-practices => src/data/best-practices/frontend-performance}/frontend-performance.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/android}/android.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/angular}/angular.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/aspnet-core}/aspnet-core.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/backend}/backend.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/blockchain}/blockchain.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/code-review}/code-review.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/computer-science}/computer-science.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/cpp}/cpp.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/cyber-security}/cyber-security.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/design-system}/design-system.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/devops}/devops.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/docker}/docker.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/flutter}/flutter.json (100%) create mode 100644 src/data/roadmaps/frontend/frontend-beginner.json create mode 100644 src/data/roadmaps/frontend/frontend.json rename {public/jsons/roadmaps => src/data/roadmaps/full-stack}/full-stack.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/golang}/golang.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/graphql}/graphql.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/java}/java.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/javascript}/javascript.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/kubernetes}/kubernetes.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/mongodb}/mongodb.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/nodejs}/nodejs.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/postgresql-dba}/postgresql-dba.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/prompt-engineering}/prompt-engineering.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/python}/python.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/qa}/qa.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/react}/react.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/software-architect}/software-architect.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/software-design-architecture}/software-design-architecture.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/spring-boot}/spring-boot.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/system-design}/system-design.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/typescript}/typescript.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/ux-design}/ux-design.json (100%) rename {public/jsons/roadmaps => src/data/roadmaps/vue}/vue.json (100%) create mode 100644 src/pages/[roadmapId]/index.json.ts create mode 100644 src/pages/best-practices/[bestPracticeId]/index.json.ts diff --git a/public/jsons/roadmaps/frontend-beginner.json b/public/jsons/roadmaps/frontend-beginner.json deleted file mode 100644 index 529a7d866..000000000 --- a/public/jsons/roadmaps/frontend-beginner.json +++ /dev/null @@ -1 +0,0 @@ -{"mockup":{"controls":{"control":[{"ID":"12464","typeID":"Arrow","zOrder":"0","w":"1","h":"146","measuredW":"150","measuredH":"100","x":"783","y":"1118","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"40463","p0":{"x":0,"y":0},"p1":{"x":0.5000000000000006,"y":-1.5906276266511649e-18},"p2":{"x":0,"y":145.92702085489077}}},{"ID":"12465","typeID":"Arrow","zOrder":"1","w":"1","h":"71","measuredW":"150","measuredH":"100","x":"779","y":"1510","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":"12466","typeID":"Arrow","zOrder":"2","w":"87","h":"1","measuredW":"150","measuredH":"100","x":"449","y":"1161","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"13369344","p0":{"x":87,"y":-0.3333333333334849},"p1":{"x":0.5,"y":0},"p2":{"x":-0.3333333333333144,"y":-0.3333333333334849}}},{"ID":"12467","typeID":"Arrow","zOrder":"3","w":"88","h":"1","measuredW":"150","measuredH":"100","x":"694","y":"1160","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"40463","p0":{"x":87.60000000000002,"y":-0.3030303030302548},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":-0.33333333333337123,"y":-0.3030303030302548}}},{"ID":"12468","typeID":"Arrow","zOrder":"4","w":"88","h":"1","measuredW":"150","measuredH":"100","x":"695","y":"988","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"40463","p0":{"x":87.60000000000002,"y":-0.3030303030302548},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":-0.33333333333337123,"y":-0.3030303030302548}}},{"ID":"12469","typeID":"Arrow","zOrder":"5","w":"1","h":"73","measuredW":"150","measuredH":"100","x":"666","y":"993","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":-0.39999999999997726,"y":-0.3030303030302548},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":-0.39999999999997726,"y":72.66666666666674},"stroke":"dotted","color":"40463"}},{"ID":"12470","typeID":"Arrow","zOrder":"6","w":"98","h":"1","measuredW":"150","measuredH":"100","x":"1026","y":"1079","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":97.60000000000002,"y":-0.3030303030302548},"p1":{"x":0.5,"y":0},"p2":{"x":-0.4545454545454959,"y":-0.30303030303031164},"stroke":"dotted"}},{"ID":"12471","typeID":"Arrow","zOrder":"7","w":"98","h":"1","measuredW":"150","measuredH":"100","x":"784","y":"1079","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":97.60000000000002,"y":-0.3030303030302548},"p1":{"x":0.5,"y":0},"p2":{"x":-0.4545454545454959,"y":-0.30303030303031164}}},{"ID":"12472","typeID":"Arrow","zOrder":"8","w":"1","h":"73","measuredW":"150","measuredH":"100","x":"666","y":"831","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":-0.39999999999997726,"y":-0.3030303030302548},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":-0.39999999999997726,"y":72.66666666666674},"stroke":"dotted","color":"40463"}},{"ID":"12473","typeID":"Arrow","zOrder":"9","w":"131","h":"1","measuredW":"150","measuredH":"100","x":"652","y":"714","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":131,"y":-0.21212121212124657},"p1":{"x":0.5,"y":0},"p2":{"x":0.3030303030302548,"y":-0.21212121212124657},"color":"40463"}},{"ID":"12474","typeID":"Arrow","zOrder":"10","w":"147","h":"1","measuredW":"150","measuredH":"100","x":"636","y":"584","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":147,"y":0},"p1":{"x":0.5010198135198135,"y":-0.0010307153164296314},"p2":{"x":0,"y":0},"color":"40463"}},{"ID":"12475","typeID":"Arrow","zOrder":"11","w":"98","h":"1","measuredW":"150","measuredH":"100","x":"783","y":"824","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":97.60000000000002,"y":-0.3030303030302548},"p1":{"x":0.5,"y":0},"p2":{"x":-0.4545454545454959,"y":-0.30303030303031164},"color":"10027263"}},{"ID":"12476","typeID":"Arrow","zOrder":"12","w":"87","h":"1","measuredW":"150","measuredH":"100","x":"695","y":"650","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":87,"y":0},"p1":{"x":0.5010198135198135,"y":-0.0010307153164296314},"p2":{"x":-0.2533333333333303,"y":0},"color":"40463"}},{"ID":"12477","typeID":"__group__","zOrder":"13","measuredW":"144","measuredH":"40","w":"144","h":"40","x":"716","y":"403","properties":{"controlName":"ext_link:roadmap.sh/frontend"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"144","measuredH":"40","x":"0","y":"0","properties":{"size":"32","text":"Front-end"}}]}}},{"ID":"12478","typeID":"__group__","zOrder":"14","measuredW":"124","measuredH":"49","w":"124","h":"49","x":"607","y":"624","properties":{"controlName":"102-css"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"124","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"33","measuredH":"25","x":"45","y":"12","properties":{"size":"17","text":"CSS"}}]}}},{"ID":"12479","typeID":"Canvas","zOrder":"15","w":"324","h":"195","measuredW":"100","measuredH":"70","x":"983","y":"281"},{"ID":"12480","typeID":"Label","zOrder":"16","measuredW":"283","measuredH":"26","x":"1001","y":"300","properties":{"size":"18","text":"For resources and other roadmaps"}},{"ID":"12481","typeID":"__group__","zOrder":"17","measuredW":"172","measuredH":"28","w":"172","h":"28","x":"1001","y":"333","properties":{"controlName":"ext_link:roadmap.sh"},"children":{"controls":{"control":[{"ID":"2","typeID":"Label","zOrder":"0","measuredW":"172","measuredH":"28","x":"0","y":"0","properties":{"size":"20","text":"https://roadmap.sh","color":"10027263"}}]}}},{"ID":"12482","typeID":"__group__","zOrder":"18","measuredW":"282","measuredH":"47","w":"282","h":"47","x":"1001","y":"408","properties":{"controlName":"json:jsons/roadmaps/frontend.json"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"282","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":"39","y":"11","properties":{"color":"16777215","size":"18","text":"Visit the Detailed Version"}}]}}},{"ID":"12483","typeID":"Label","zOrder":"19","measuredW":"259","measuredH":"26","x":"1001","y":"373","properties":{"color":"4985136","size":"18","text":"Beginner who wants to step up?"}},{"ID":"12484","typeID":"__group__","zOrder":"20","measuredW":"127","measuredH":"50","w":"127","h":"50","x":"605","y":"688","properties":{"controlName":"103-javascript"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"127","h":"50","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"25","x":"23","y":"13","properties":{"size":"17","text":"JavaScript"}}]}}},{"ID":"12485","typeID":"__group__","zOrder":"21","measuredW":"95","measuredH":"49","w":"95","h":"49","x":"830","y":"799","properties":{"controlName":"100-version-control-systems:basic-usage-of-git"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"95","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"22","measuredH":"25","x":"37","y":"12","properties":{"size":"17","text":"Git"}}]}}},{"ID":"12486","typeID":"Canvas","zOrder":"22","w":"380","h":"150","measuredW":"100","measuredH":"70","x":"222","y":"310"},{"ID":"12487","typeID":"Label","zOrder":"23","measuredW":"187","measuredH":"32","x":"250","y":"335","properties":{"size":"24","text":"Beginner Version"}},{"ID":"12488","typeID":"__group__","zOrder":"24","measuredW":"213","measuredH":"53","w":"213","h":"53","x":"519","y":"960","properties":{"controlName":"111-pick-a-framework"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"213","h":"53","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"168","measuredH":"25","x":"23","y":"14","properties":{"size":"17","text":"Frontend Frameworks"}}]}}},{"ID":"12489","typeID":"__group__","zOrder":"25","measuredW":"98","measuredH":"49","w":"98","h":"49","x":"624","y":"1046","properties":{"controlName":"100-pick-a-framework:react-js"},"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":"47","measuredH":"25","x":"25","y":"12","properties":{"text":"React","size":"17"}}]}}},{"ID":"12490","typeID":"__group__","zOrder":"26","measuredW":"212","measuredH":"50","w":"212","h":"50","x":"839","y":"1053","properties":{"controlName":"114-css-frameworks"},"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":"131","measuredH":"25","x":"40","y":"13","properties":{"size":"17","text":"CSS Frameworks"}}]}}},{"ID":"12491","typeID":"__group__","zOrder":"27","measuredW":"99","measuredH":"49","w":"99","h":"49","x":"383","y":"1136","properties":{"controlName":"100-testing-your-apps:jest"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"99","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"39","measuredW":"33","measuredH":"25","x":"30","y":"12","properties":{"size":"17","text":"Jest"}}]}}},{"ID":"12492","typeID":"__group__","zOrder":"28","measuredW":"214","measuredH":"49","w":"214","h":"49","x":"517","y":"1136","properties":{"controlName":"115-testing-your-apps"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"214","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"144","measuredH":"26","x":"35","y":"11","properties":{"size":"18","text":"Testing your Apps"}}]}}},{"ID":"12493","typeID":"__group__","zOrder":"29","measuredW":"100","measuredH":"49","w":"100","h":"49","x":"1079","y":"1055","properties":{"controlName":"100-css-frameworks:js-first:tailwind-css"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"100","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"25","x":"19","y":"12","properties":{"size":"17","text":"Tailwind"}}]}}},{"ID":"12494","typeID":"Label","zOrder":"30","measuredW":"319","measuredH":"28","x":"250","y":"376","properties":{"color":"4985136","size":"20","text":"This is the trimmed down version of"}},{"ID":"12495","typeID":"Label","zOrder":"31","measuredW":"327","measuredH":"28","x":"250","y":"407","properties":{"color":"4985136","size":"20","text":"the frontend roadmap for beginners."}},{"ID":"12496","typeID":"Arrow","zOrder":"32","w":"1","h":"59","measuredW":"150","measuredH":"100","x":"783","y":"330","properties":{"p0":{"x":0,"y":-0.30303030303031164},"p1":{"x":0.5,"y":0},"p2":{"x":0,"y":58.78787878787875},"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"40463"}},{"ID":"12497","typeID":"Arrow","zOrder":"33","w":"1","h":"333","measuredW":"150","measuredH":"100","x":"783","y":"452","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":0,"y":-0.06060606060606233},"p1":{"x":0.5000000000000008,"y":-1.5906276266511653e-18},"p2":{"x":0,"y":332.66666666666663},"color":"40463"}},{"ID":"12498","typeID":"__group__","zOrder":"34","measuredW":"125","measuredH":"49","w":"125","h":"49","x":"606","y":"559","properties":{"controlName":"101-html"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"125","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"25","x":"39","y":"12","properties":{"size":"17","text":"HTML"}}]}}},{"ID":"12499","typeID":"Label","zOrder":"35","measuredW":"378","measuredH":"26","x":"837","y":"577","properties":{"color":"4985136","size":"18","text":"You should be able to find an internee or junior"}},{"ID":"12500","typeID":"Label","zOrder":"36","measuredW":"333","measuredH":"26","x":"837","y":"609","properties":{"color":"4985136","size":"18","text":"Frontend developer position at this point."}},{"ID":"12501","typeID":"Label","zOrder":"37","measuredW":"428","measuredH":"26","x":"837","y":"652","properties":{"size":"18","text":"Start applying for jobs and keep following to increase","color":"40463"}},{"ID":"12502","typeID":"Label","zOrder":"38","measuredW":"276","measuredH":"26","x":"837","y":"685","properties":{"size":"18","color":"40463","text":"your chances of finding a position."}},{"ID":"12503","typeID":"Label","zOrder":"39","measuredW":"348","measuredH":"26","x":"206","y":"602","properties":{"color":"4985136","size":"18","text":"When you are following this roadmap, make"}},{"ID":"12504","typeID":"Label","zOrder":"40","measuredW":"338","measuredH":"26","x":"216","y":"635","properties":{"color":"4985136","size":"18","text":"sure to build as many projects as possible"}},{"ID":"12505","typeID":"Label","zOrder":"41","measuredW":"340","measuredH":"26","x":"214","y":"716","properties":{"size":"18","color":"13576743","text":"Click the roadmap nodes for project ideas"}},{"ID":"12506","typeID":"Label","zOrder":"42","measuredW":"145","measuredH":"32","x":"409","y":"558","properties":{"color":"4985136","size":"24","text":"Important Tip"}},{"ID":"12507","typeID":"Label","zOrder":"43","measuredW":"278","measuredH":"26","x":"960","y":"759","properties":{"color":"4985136","size":"18","text":"Create your GitHub profile. Publish"}},{"ID":"12508","typeID":"Label","zOrder":"44","measuredW":"300","measuredH":"26","x":"960","y":"789","properties":{"color":"4985136","size":"18","text":"the projects that you have developed"}},{"ID":"12509","typeID":"Label","zOrder":"45","measuredW":"229","measuredH":"26","x":"960","y":"819","properties":{"color":"4985136","size":"18","text":"so far to your GitHub profile."}},{"ID":"12510","typeID":"Label","zOrder":"46","measuredW":"249","measuredH":"26","x":"960","y":"859","properties":{"size":"18","text":"Use git for your future projects.","color":"10027263"}},{"ID":"12511","typeID":"Arrow","zOrder":"47","w":"84","h":"1","measuredW":"150","measuredH":"100","x":"696","y":"923","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"40463","p0":{"x":83.60000000000002,"y":-0.3030303030302548},"p1":{"x":0.5,"y":0},"p2":{"x":0,"y":-0.3030303030302548}}},{"ID":"12512","typeID":"__group__","zOrder":"48","measuredW":"211","measuredH":"53","w":"211","h":"53","x":"520","y":"896","properties":{"controlName":"107-package-managers"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"211","h":"53","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"149","measuredH":"25","x":"31","y":"14","properties":{"text":"Package Managers","size":"17"}}]}}},{"ID":"12513","typeID":"__group__","zOrder":"49","measuredW":"103","measuredH":"49","w":"103","h":"49","x":"615","y":"807","properties":{"controlName":"100-package-managers:npm"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"103","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"36","measuredW":"34","measuredH":"25","x":"34","y":"12","properties":{"size":"17","text":"npm"}}]}}},{"ID":"12514","typeID":"Arrow","zOrder":"50","w":"1","h":"57","measuredW":"150","measuredH":"100","x":"783","y":"794","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":0,"y":-0.06060606060606233},"p1":{"x":0.5000000000000006,"y":-1.590627626651165e-18},"p2":{"x":0,"y":56.66666666666663},"color":"10027263"}},{"ID":"12515","typeID":"Arrow","zOrder":"51","w":"1","h":"184","measuredW":"150","measuredH":"100","x":"783","y":"864","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"40463","p0":{"x":0,"y":0},"p1":{"x":0.5000000000000007,"y":-1.5906276266511654e-18},"p2":{"x":0,"y":184}}},{"ID":"12516","typeID":"Arrow","zOrder":"52","w":"1","h":"44","measuredW":"150","measuredH":"100","x":"783","y":"1060","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":0.33333333333325754},"p1":{"x":0.5000000000000006,"y":0},"p2":{"x":0,"y":44}}},{"ID":"12517","typeID":"Label","zOrder":"53","measuredW":"291","measuredH":"26","x":"184","y":"896","properties":{"color":"4985136","size":"18","text":"npm should be a quick one. Just get"}},{"ID":"12518","typeID":"Label","zOrder":"54","measuredW":"272","measuredH":"26","x":"203","y":"927","properties":{"color":"4985136","size":"18","text":"the basic idea and jump to React."}},{"ID":"12519","typeID":"Label","zOrder":"55","measuredW":"266","measuredH":"26","x":"209","y":"973","properties":{"size":"18","color":"40463","text":"Create some projects with React"}},{"ID":"12520","typeID":"Label","zOrder":"56","measuredW":"179","measuredH":"26","x":"296","y":"1003","properties":{"size":"18","color":"40463","text":"involving API calls etc."}},{"ID":"12521","typeID":"Label","zOrder":"57","measuredW":"242","measuredH":"26","x":"312","y":"665","properties":{"color":"4985136","size":"18","text":"for each node of the roadmap"}},{"ID":"12522","typeID":"Label","zOrder":"58","measuredW":"427","measuredH":"26","x":"841","y":"979","properties":{"color":"4985136","size":"18","text":"There are several CSS frameworks. You can pick any."}},{"ID":"12523","typeID":"Label","zOrder":"59","measuredW":"390","measuredH":"26","x":"841","y":"1009","properties":{"color":"4985136","size":"18","text":"Tailwind would be my personal recommendation."}},{"ID":"12524","typeID":"Label","zOrder":"69","measuredW":"532","measuredH":"26","x":"508","y":"1329","properties":{"color":"4985136","size":"18","text":"At this point, you should have enough knowledge to find a junior to"}},{"ID":"12525","typeID":"Label","zOrder":"70","measuredW":"529","measuredH":"26","x":"508","y":"1359","properties":{"color":"4985136","size":"18","text":"mid-level (maybe even senior) frontend developer position at any"}},{"ID":"12526","typeID":"Label","zOrder":"71","measuredW":"441","measuredH":"26","x":"508","y":"1389","properties":{"color":"4985136","size":"18","text":"company (depending on the depth of your knowledge)."}},{"ID":"12527","typeID":"Label","zOrder":"72","measuredW":"116","measuredH":"32","x":"508","y":"1285","properties":{"color":"4985136","size":"24","text":"Job Ready"}},{"ID":"12528","typeID":"Label","zOrder":"60","measuredW":"323","measuredH":"26","x":"841","y":"1147","properties":{"color":"4985136","size":"18","text":"May not be required for a junior position"}},{"ID":"12529","typeID":"Label","zOrder":"73","measuredW":"536","measuredH":"26","x":"508","y":"1431","properties":{"size":"18","color":"10027263","text":"Deepen your pool of knowledge and keep building projects till you"}},{"ID":"12530","typeID":"Label","zOrder":"74","measuredW":"360","measuredH":"26","x":"508","y":"1460","properties":{"size":"18","color":"10027263","text":"find a job. Your job will teach you a lot as well."}},{"ID":"12531","typeID":"Arrow","zOrder":"61","w":"2","h":"89","measuredW":"150","measuredH":"100","x":"778","y":"1663","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":"12532","typeID":"TextArea","zOrder":"62","w":"499","h":"118","measuredW":"200","measuredH":"140","x":"529","y":"1576"},{"ID":"12533","typeID":"Label","zOrder":"63","measuredW":"431","measuredH":"25","x":"563","y":"1595","properties":{"size":"17","text":"Look at the detailed version for what else you don’t know"}},{"ID":"12534","typeID":"__group__","zOrder":"64","measuredW":"430","measuredH":"44","w":"430","h":"44","x":"564","y":"1630","properties":{"controlName":"json:jsons/roadmaps/frontend.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":"149","measuredH":"25","x":"140","y":"9","properties":{"size":"17","text":"Frontend Roadmap"}}]}}},{"ID":"12535","typeID":"Arrow","zOrder":"65","w":"2","h":"89","measuredW":"150","measuredH":"100","x":"821","y":"1730","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":"16777215"}},{"ID":"12536","typeID":"Arrow","zOrder":"66","w":"2","h":"89","measuredW":"150","measuredH":"100","x":"169","y":"1255","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":"16777215"}},{"ID":"12537","typeID":"Arrow","zOrder":"67","w":"2","h":"89","measuredW":"150","measuredH":"100","x":"1326","y":"1311","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":"16777215"}},{"ID":"12544","typeID":"TextArea","zOrder":"68","w":"613","h":"246","measuredW":"200","measuredH":"140","x":"476","y":"1263"}]},"attributes":{"name":"New Wireframe 1 copy","order":1000022.7455786733,"parentID":null,"notes":""},"branchID":"Master","resourceID":"8024860B-B61F-451D-B579-28AA621BB239","mockupH":"1538","mockupW":"1159","measuredW":"1328","measuredH":"1819","version":"1.0"},"groupOffset":{"x":0,"y":0},"dependencies":[],"projectID":"file:///Users/kamranahmed/Desktop/devops%20roadmap%5C.bmpr"} \ No newline at end of file diff --git a/public/jsons/roadmaps/frontend.json b/public/jsons/roadmaps/frontend.json deleted file mode 100644 index 8d10a9832..000000000 --- a/public/jsons/roadmaps/frontend.json +++ /dev/null @@ -1 +0,0 @@ -{"mockup":{"controls":{"control":[{"ID":"12715","typeID":"Arrow","zOrder":"0","w":"309","h":"4","measuredW":"150","measuredH":"100","x":"543","y":"2279","properties":{"color":"2848996","curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":309,"y":0},"p1":{"x":0.47704880470480404,"y":0.005193614908729892},"p2":{"x":0.25353038260061567,"y":3.4362035980902874}}},{"ID":"12716","typeID":"Arrow","zOrder":"1","w":"179","h":"123","measuredW":"150","measuredH":"100","x":"537","y":"2136","properties":{"color":"2848996","curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":-0.2145043524983521,"y":123.4387467621832},"p1":{"x":0.5230101676333169,"y":-0.19478326314466354},"p2":{"x":179,"y":0}}},{"ID":"12717","typeID":"Arrow","zOrder":"2","w":"65","h":"2","measuredW":"150","measuredH":"100","x":"1156","y":"2631","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","p0":{"x":0,"y":0},"p1":{"x":0.4807692307692308,"y":-0.01923076923076923},"p2":{"x":64,"y":1},"rightArrow":"false","stroke":"dotted"}},{"ID":"12718","typeID":"Arrow","zOrder":"3","w":"101","h":"39","measuredW":"150","measuredH":"100","x":"955","y":"2481","properties":{"color":"2848996","curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":101.53298940730701,"y":-0.4603981095092422},"p1":{"x":0.5036496350364975,"y":0.06360792492179564},"p2":{"x":0.4884249128083411,"y":38.51393390979774}}},{"ID":"12719","typeID":"Arrow","zOrder":"4","w":"122","h":"32","measuredW":"150","measuredH":"100","x":"665","y":"3078","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.2570801773204039,"y":0.27390737805444587},"p1":{"x":0.490691474468782,"y":0.06808089415982024},"p2":{"x":121.64515133802809,"y":32.10715730089032}}},{"ID":"12720","typeID":"Arrow","zOrder":"5","w":"180","h":"369","measuredW":"150","measuredH":"100","x":"980","y":"2710","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":180.33312546195043,"y":369.1629038835017},"p1":{"x":0.5311058790594242,"y":0.05504224965971112},"p2":{"x":0.024041521385697706,"y":0.016603653832135024}}},{"ID":"12721","typeID":"Arrow","zOrder":"6","w":"91","h":"44","measuredW":"150","measuredH":"100","x":"1133","y":"2428","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":91.2836149319719,"y":-0.42601596895428884},"p1":{"x":0.4807260155574767,"y":0.1446845289541901},"p2":{"x":0.03815966742740784,"y":43.87863921953385}}},{"ID":"12722","typeID":"Arrow","zOrder":"7","w":"1","h":"464","measuredW":"150","measuredH":"100","x":"564","y":"2959","properties":{"color":"2848996","curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":0,"y":0},"p1":{"x":0.5232912494558118,"y":0.0013060513713539397},"p2":{"x":0,"y":464.4848484848485}}},{"ID":"12723","typeID":"Arrow","zOrder":"8","w":"159","h":"4","measuredW":"150","measuredH":"100","x":"665","y":"3060","properties":{"color":"2848996","curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.44614540796908386,"y":3.8064134624410144},"p1":{"x":0.4319942611190816,"y":-0.006169296987087544},"p2":{"x":159.7751756755747,"y":0}}},{"ID":"12724","typeID":"Arrow","zOrder":"9","w":"142","h":"44","measuredW":"150","measuredH":"100","x":"648","y":"3011","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.2570801773204039,"y":43.273907378054446},"p1":{"x":0.4540886815248379,"y":-0.08069525981073665},"p2":{"x":142,"y":0}}},{"ID":"12725","typeID":"Arrow","zOrder":"10","w":"2","h":"89","measuredW":"150","measuredH":"100","x":"564","y":"3470","properties":{"color":"2848996","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"}},{"ID":"12726","typeID":"__group__","zOrder":"11","measuredW":"248","measuredH":"59","w":"248","h":"59","x":"434","y":"3031","properties":{"controlName":"122-desktop-applications"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"241","h":"50","measuredW":"200","measuredH":"140","x":"7","y":"9","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"162","measuredH":"25","x":"47","y":"22","properties":{"size":"17","text":"Desktop Applications"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12727","typeID":"__group__","zOrder":"12","measuredW":"196","measuredH":"41","w":"196","h":"41","x":"775","y":"2994","properties":{"controlName":"100-desktop-applications:electron"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"188","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"69","measuredW":"65","measuredH":"25","x":"63","y":"8","properties":{"size":"17","text":"Electron"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"172","y":"7","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"172","y":"7","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12728","typeID":"__group__","zOrder":"13","measuredW":"221","measuredH":"50","w":"221","h":"50","x":"444","y":"3227","properties":{"controlName":"123-bonus-content"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"210","h":"50","measuredW":"200","measuredH":"140","x":"11","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"115","measuredH":"25","x":"58","y":"12","properties":{"size":"17","text":"Bonus Content"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"13","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"13","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12729","typeID":"__group__","zOrder":"14","measuredW":"196","measuredH":"41","w":"196","h":"41","x":"775","y":"3040","properties":{"controlName":"101-desktop-applications:tauri"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"188","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"38","measuredH":"25","x":"75","y":"8","properties":{"size":"17","text":"Tauri"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"172","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"172","y":"8","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"40463"}}]}}},{"ID":"12730","typeID":"Arrow","zOrder":"15","w":"237","h":"128","measuredW":"150","measuredH":"100","x":"655","y":"2828","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","p0":{"x":236.93170111364998,"y":0.019905173764982464},"p1":{"x":0.4776994561390996,"y":0.17651148133814792},"p2":{"x":0.11074525562162307,"y":126.11937517609203}}},{"ID":"12731","typeID":"Arrow","zOrder":"16","w":"1","h":"105","measuredW":"150","measuredH":"100","x":"910","y":"2711","properties":{"color":"2848996","curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":1,"y":105.13396175095886},"p1":{"x":0.47704880470480404,"y":0.005193614908729857},"p2":{"x":1,"y":0}}},{"ID":"12732","typeID":"Arrow","zOrder":"17","w":"120","h":"182","measuredW":"150","measuredH":"100","x":"1040","y":"2705","properties":{"color":"2848996","curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":120,"y":182},"p1":{"x":0.5641506862188896,"y":0.10909777122517159},"p2":{"x":0.40915526260198476,"y":0.23807505235299686}}},{"ID":"12733","typeID":"Arrow","zOrder":"18","w":"141","h":"261","measuredW":"150","measuredH":"100","x":"1010","y":"2711","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":141,"y":261},"p1":{"x":0.5842350949114499,"y":0.06027644608497023},"p2":{"x":-0.3468130306484909,"y":0.38926871100329663}}},{"ID":"12734","typeID":"Arrow","zOrder":"19","w":"164","h":"305","measuredW":"150","measuredH":"100","x":"993","y":"2718","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":163.5,"y":305},"p1":{"x":0.5311058790594241,"y":0.05504224965971115},"p2":{"x":-0.2625955919362468,"y":-0.45953763034685835}}},{"ID":"12735","typeID":"Arrow","zOrder":"20","w":"112","h":"38","measuredW":"150","measuredH":"100","x":"706","y":"2829","properties":{"color":"2848996","curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":112.50398196586139,"y":0.4821067591024075},"p1":{"x":0.5064432989690714,"y":-0.10824742268041054},"p2":{"x":0.2446976954972797,"y":37.3892687110033}}},{"ID":"12736","typeID":"Arrow","zOrder":"21","w":"184","h":"318","measuredW":"150","measuredH":"100","x":"733","y":"2388","properties":{"color":"2848996","curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":183.53647574825027,"y":318.53383041542565},"p1":{"x":0.4830556042799506,"y":0.1764076477810915},"p2":{"x":0.5384644034102166,"y":0.20955858028401053}}},{"ID":"12737","typeID":"Arrow","zOrder":"22","w":"102","h":"42","measuredW":"150","measuredH":"100","x":"947","y":"2540","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":102.31552051484277,"y":41.58416638498966},"p1":{"x":0.4148642429820512,"y":-0.09226875287620818},"p2":{"x":-0.17253775814867822,"y":-0.27715319130265925}}},{"ID":"12738","typeID":"Arrow","zOrder":"23","w":"108","h":"88","measuredW":"150","measuredH":"100","x":"945","y":"2544","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":108.64600185032123,"y":88.10644863223888},"p1":{"x":0.41486424298205093,"y":-0.09226875287620795},"p2":{"x":0.38396846335854207,"y":0.05332814417579357}}},{"ID":"12739","typeID":"Arrow","zOrder":"24","w":"1","h":"105","measuredW":"150","measuredH":"100","x":"918","y":"2280","properties":{"color":"2848996","curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":1,"y":105.13396175095886},"p1":{"x":0.47704880470480404,"y":0.005193614908729857},"p2":{"x":1,"y":0}}},{"ID":"12740","typeID":"Arrow","zOrder":"25","w":"2","h":"235","measuredW":"150","measuredH":"100","x":"402","y":"1775","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.260934347128682,"y":-0.43825342894501773},"p1":{"x":0.43339050633562626,"y":0.007133769851020942},"p2":{"x":-0.260934347128682,"y":234.2072671834119}}},{"ID":"12741","typeID":"Arrow","zOrder":"26","w":"413","h":"47","measuredW":"150","measuredH":"100","x":"433","y":"1713","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","p0":{"x":0.32780458177427363,"y":46.53523054117568},"p1":{"x":0.45894348755426007,"y":0.060942254353755484},"p2":{"x":413.65560916354855,"y":8.213447334918555}}},{"ID":"12742","typeID":"Arrow","zOrder":"27","w":"1","h":"102","measuredW":"150","measuredH":"100","x":"934","y":"1712","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.260934347128682,"y":-0.43825342894501773},"p1":{"x":0.4333905063356263,"y":0.007133769851020943},"p2":{"x":-0.260934347128682,"y":101.80609466350643}}},{"ID":"12743","typeID":"Arrow","zOrder":"28","w":"130","h":"172","measuredW":"150","measuredH":"100","x":"990","y":"1610","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.3622961870130439,"y":0.35400305967436907},"p1":{"x":0.45588235294117685,"y":0.07352941176470515},"p2":{"x":130.38263206538568,"y":172.802027487832}}},{"ID":"12744","typeID":"Arrow","zOrder":"29","w":"103","h":"125","measuredW":"150","measuredH":"100","x":"1012","y":"1610","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.26045801916006894,"y":0.35400305967436907},"p1":{"x":0.45588235294117674,"y":0.0735294117647052},"p2":{"x":102.90809160734898,"y":124.8997984800103}}},{"ID":"12745","typeID":"Arrow","zOrder":"30","w":"88","h":"71","measuredW":"150","measuredH":"100","x":"1030","y":"1617","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.052714507779455744,"y":0.19717863222035703},"p1":{"x":0.45588235294117674,"y":0.0735294117647052},"p2":{"x":87.64536183636733,"y":71.36620458669813}}},{"ID":"12746","typeID":"Arrow","zOrder":"31","w":"77","h":"33","measuredW":"150","measuredH":"100","x":"1049","y":"1611","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.21360611090813109,"y":0.7226381741836576},"p1":{"x":0.34627916069334047,"y":0.08067248794474031},"p2":{"x":76.8571725234226,"y":33.04442138044078}}},{"ID":"12747","typeID":"Arrow","zOrder":"32","w":"83","h":"4","measuredW":"150","measuredH":"100","x":"1044","y":"1593","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.260934347128682,"y":-0.43825342894501773},"p1":{"x":0.4310686842693701,"y":-0.01854562577101437},"p2":{"x":82.75126717989497,"y":3.553612219705883}}},{"ID":"12748","typeID":"Arrow","zOrder":"33","w":"250","h":"78","measuredW":"150","measuredH":"100","x":"309","y":"1619","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.2179908385617182,"y":77.94665038826247},"p1":{"x":0.46280569852413056,"y":0.04229310438161035},"p2":{"x":250.24223511661944,"y":-0.06555113876129326}}},{"ID":"12749","typeID":"Arrow","zOrder":"34","w":"252","h":"42","measuredW":"150","measuredH":"100","x":"310","y":"1613","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.1506442759475135,"y":41.51896183847771},"p1":{"x":0.4628056985241305,"y":0.0422931043816104},"p2":{"x":252.39905954407345,"y":-0.4891725128713915}}},{"ID":"12750","typeID":"Arrow","zOrder":"35","w":"238","h":"77","measuredW":"150","measuredH":"100","x":"313","y":"1505","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.11208549503413678,"y":0.337734356976398},"p1":{"x":0.46318687896564104,"y":-0.04633065964324165},"p2":{"x":238.03042442956428,"y":76.98130076949064}}},{"ID":"12751","typeID":"Arrow","zOrder":"36","w":"244","h":"41","measuredW":"150","measuredH":"100","x":"303","y":"1549","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.3074687034015824,"y":0.1340580212702207},"p1":{"x":0.4718266633930761,"y":-0.03283820279891953},"p2":{"x":243.92451908603675,"y":41.19311145654592}}},{"ID":"12752","typeID":"Arrow","zOrder":"37","w":"253","h":"1","measuredW":"150","measuredH":"100","x":"299","y":"1601","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.20156335987400098,"y":1.4049221436009702},"p1":{"x":0.46937327878105334,"y":0.004541857492184635},"p2":{"x":253.39905954407345,"y":1.5108274871286085}}},{"ID":"12753","typeID":"Arrow","zOrder":"38","w":"135","h":"53","measuredW":"150","measuredH":"100","x":"719","y":"1554","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.3725435141941489,"y":0.23996336479785896},"p1":{"x":0.4960254372019082,"y":0.07419183889772205},"p2":{"x":135.8674198506036,"y":53.61673283065602}}},{"ID":"12754","typeID":"Arrow","zOrder":"39","w":"119","h":"59","measuredW":"150","measuredH":"100","x":"729","y":"1478","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.047010684241513445,"y":58.44770687617847},"p1":{"x":0.5673179018899986,"y":-0.10798471012953849},"p2":{"x":119.02424427805772,"y":-0.40360304771661504}}},{"ID":"12755","typeID":"Arrow","zOrder":"40","w":"89","h":"4","measuredW":"150","measuredH":"100","x":"1033","y":"1489","properties":{"color":"10027263","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":89.03433282924925,"y":0},"p1":{"x":0.5653893258184628,"y":-0.0013183529417352127},"p2":{"x":0.07305038615209014,"y":3.863193898939471}}},{"ID":"12756","typeID":"Arrow","zOrder":"41","w":"100","h":"41","measuredW":"150","measuredH":"100","x":"1021","y":"1442","properties":{"color":"10027263","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":99.66569771474019,"y":0.2236946620996605},"p1":{"x":0.4596243377749227,"y":0.08508588858564752},"p2":{"x":-0.24466564443059724,"y":41.28274809737536}}},{"ID":"12757","typeID":"Arrow","zOrder":"42","w":"133","h":"3","measuredW":"150","measuredH":"100","x":"730","y":"1545","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.3216244302676614,"y":2.5026931357795092},"p1":{"x":0.4743412204498641,"y":-0.008947430290275333},"p2":{"x":133,"y":0}}},{"ID":"12758","typeID":"__group__","zOrder":"43","measuredW":"225","measuredH":"50","w":"225","h":"50","x":"831","y":"1461","properties":{"controlName":"102-build-tools:linters-formatters"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"225","h":"50","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"176","measuredH":"25","x":"25","y":"13","properties":{"size":"17","text":"Linters and Formatters"}}]}}},{"ID":"12759","typeID":"__group__","zOrder":"44","measuredW":"155","measuredH":"40","w":"155","h":"40","x":"1104","y":"1428","properties":{"controlName":"100-build-tools:linters-formatters:prettier"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"145","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"66","measuredW":"58","measuredH":"25","x":"44","y":"7","properties":{"size":"17","text":"Prettier"}},{"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":{"icon":{"ID":"check-circle","size":"small"},"color":"10066329"}}]}}},{"ID":"12760","typeID":"__group__","zOrder":"45","measuredW":"155","measuredH":"40","w":"155","h":"40","x":"1104","y":"1473","properties":{"controlName":"101-build-tools:linters-formatters:eslint"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"145","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"53","measuredW":"51","measuredH":"25","x":"46","y":"7","properties":{"size":"17","text":"ESLint"}},{"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":{"icon":{"ID":"check-circle","size":"small"},"color":"10066329"}}]}}},{"ID":"12761","typeID":"Arrow","zOrder":"46","w":"94","h":"177","measuredW":"150","measuredH":"100","x":"524","y":"1374","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","p0":{"x":-0.342277860619447,"y":-0.4198717504148135},"p1":{"x":0.5100925147182503,"y":-0.13330529857022685},"p2":{"x":94.09354504051441,"y":176.13405802127022}}},{"ID":"12762","typeID":"Arrow","zOrder":"47","w":"144","h":"47","measuredW":"150","measuredH":"100","x":"313","y":"1383","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":143.59460152843042,"y":-0.36895266648821234},"p1":{"x":0.5621049174944583,"y":-0.05820540185534891},"p2":{"x":-0.11208549503413678,"y":46.16464122682419}}},{"ID":"12763","typeID":"Arrow","zOrder":"48","w":"131","h":"101","measuredW":"150","measuredH":"100","x":"320","y":"1154","properties":{"color":"2848996","curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":131.85733129941207,"y":100.92842748572161},"p1":{"x":0.5179188602929944,"y":0.05890610549143938},"p2":{"x":0.46836030653014404,"y":-0.3505709879580081}}},{"ID":"12764","typeID":"Arrow","zOrder":"49","w":"140","h":"56","measuredW":"150","measuredH":"100","x":"314","y":"1208","properties":{"color":"2848996","curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":139.22596641392124,"y":56.50887328728595},"p1":{"x":0.5179188602929942,"y":0.0589061054914393},"p2":{"x":-0.3748152660157871,"y":0.3948335924094408}}},{"ID":"12765","typeID":"Arrow","zOrder":"50","w":"167","h":"7","measuredW":"150","measuredH":"100","x":"301","y":"1267","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":0},"p1":{"x":0.44343003361676714,"y":0.014243775690876877},"p2":{"x":167.28095267352228,"y":7.089319088850289}}},{"ID":"12766","typeID":"Arrow","zOrder":"51","w":"130","h":"1","measuredW":"150","measuredH":"100","x":"331","y":"1322","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":129.700506871958,"y":0},"p1":{"x":0.47348089180528574,"y":0.0008969445600114837},"p2":{"x":0,"y":0}}},{"ID":"12767","typeID":"Arrow","zOrder":"52","w":"105","h":"43","measuredW":"150","measuredH":"100","x":"1032","y":"2229","properties":{"color":"10027263","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":42},"p1":{"x":0.3246422893481717,"y":0.04197138314785374},"p2":{"x":104,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"12768","typeID":"Arrow","zOrder":"53","w":"128","h":"9","measuredW":"150","measuredH":"100","x":"1020","y":"2275","properties":{"color":"10027263","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":8},"p1":{"x":0.3321152059461133,"y":0.04465778878909879},"p2":{"x":127,"y":4},"rightArrow":"false","stroke":"dotted"}},{"ID":"12769","typeID":"Arrow","zOrder":"54","w":"129","h":"34","measuredW":"150","measuredH":"100","x":"1021","y":"2290","properties":{"color":"10027263","curvature":"0","leftArrow":"false","p0":{"x":0,"y":0},"p1":{"x":0.3458601686475002,"y":-0.005245335635083992},"p2":{"x":128,"y":33},"rightArrow":"false","stroke":"dotted"}},{"ID":"12770","typeID":"Arrow","zOrder":"55","w":"209","h":"108","measuredW":"150","measuredH":"100","x":"643","y":"1604","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","p0":{"x":209.13014962158525,"y":107.63300153335422},"p1":{"x":0.5705193330544435,"y":0.04891531703818817},"p2":{"x":-0.2710228983202114,"y":-0.4891725128713915}}},{"ID":"12771","typeID":"Arrow","zOrder":"56","w":"90","h":"2","measuredW":"150","measuredH":"100","x":"1033","y":"1541","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.4213496222886306,"y":0.18497710519682187},"p1":{"x":0.4310686842693701,"y":-0.01854562577101436},"p2":{"x":90.75126717989497,"y":1.553612219705883}}},{"ID":"12772","typeID":"Arrow","zOrder":"57","w":"160","h":"3","measuredW":"150","measuredH":"100","x":"303","y":"1373","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":160.43777710097635,"y":0.050601531947449985},"p1":{"x":0.4806472503297293,"y":-0.001432629622812211},"p2":{"x":0.3074687034015824,"y":3}}},{"ID":"12773","typeID":"Arrow","zOrder":"58","w":"1","h":"123","measuredW":"150","measuredH":"100","x":"897","y":"1132","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0,"y":0},"p1":{"x":0.4327183610207736,"y":0.0030579658389972178},"p2":{"x":0,"y":122.50887328728595}}},{"ID":"12774","typeID":"Arrow","zOrder":"59","w":"211","h":"128","measuredW":"150","measuredH":"100","x":"532","y":"1135","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","rightArrow":"false","p0":{"x":211,"y":0},"p1":{"x":0.5569070155556886,"y":-0.16942743759521814},"p2":{"x":-0.130467173564341,"y":127.72068397434123}}},{"ID":"12775","typeID":"__group__","zOrder":"60","measuredW":"158","measuredH":"49","w":"158","h":"49","x":"174","y":"1187","properties":{"controlName":"101-package-managers:yarn"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"151","h":"49","measuredW":"200","measuredH":"140","x":"7","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"33","measuredH":"25","x":"66","y":"12","properties":{"text":"yarn","size":"17"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"13","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"13","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"3700253"}}]}}},{"ID":"12776","typeID":"Arrow","zOrder":"61","w":"109","h":"161","measuredW":"150","measuredH":"100","x":"768","y":"951","properties":{"color":"2848996","leftArrow":"false","p0":{"x":0,"y":0},"p1":{"x":0.5674918262494162,"y":0.22092480149462868},"p2":{"x":102,"y":160},"rightArrow":"false"}},{"ID":"12777","typeID":"Arrow","zOrder":"62","w":"1","h":"77","measuredW":"150","measuredH":"100","x":"1134","y":"954","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","p0":{"x":0,"y":76},"p1":{"x":0.487275195113675,"y":-0.01187648456057007},"p2":{"x":0,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"12778","typeID":"Arrow","zOrder":"63","w":"85","h":"3","measuredW":"150","measuredH":"100","x":"865","y":"938","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","p0":{"x":83,"y":1},"p1":{"x":0.4872751951136748,"y":-0.01187648456057007},"p2":{"x":0,"y":1},"rightArrow":"false","stroke":"dotted"}},{"ID":"12779","typeID":"Arrow","zOrder":"64","w":"2","h":"74","measuredW":"150","measuredH":"100","x":"642","y":"944","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","p0":{"x":1,"y":73},"p1":{"x":0.4872751951136749,"y":-0.01187648456057007},"p2":{"x":0,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"12780","typeID":"Arrow","zOrder":"65","w":"120","h":"3","measuredW":"150","measuredH":"100","x":"792","y":"726","properties":{"color":"2848996","curvature":"0","leftArrow":"false","p0":{"x":119,"y":2},"p1":{"x":0.5436210493779461,"y":0.006954640290549417},"p2":{"x":0,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"12781","typeID":"Arrow","zOrder":"66","w":"108","h":"5","measuredW":"150","measuredH":"100","x":"803","y":"673","properties":{"color":"2848996","leftArrow":"false","p0":{"x":107,"y":2},"p1":{"x":0.589278350515464,"y":0.035876288659793816},"p2":{"x":0,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"12782","typeID":"Arrow","zOrder":"67","w":"100","h":"45","measuredW":"150","measuredH":"100","x":"803","y":"627","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","p0":{"x":99,"y":0},"p1":{"x":0.5773195876288659,"y":-0.06466729147141519},"p2":{"x":0,"y":44},"rightArrow":"false","stroke":"dotted"}},{"ID":"12783","typeID":"Arrow","zOrder":"68","w":"40","h":"139","measuredW":"150","measuredH":"100","x":"676","y":"510","properties":{"color":"2848996","leftArrow":"false","p0":{"x":0,"y":0},"p1":{"x":0.5674918262494162,"y":0.22092480149462868},"p2":{"x":15,"y":138},"rightArrow":"false"}},{"ID":"12784","typeID":"Arrow","zOrder":"69","w":"151","h":"29","measuredW":"150","measuredH":"100","x":"757","y":"502","properties":{"color":"2848996","leftArrow":"false","p0":{"x":150,"y":28},"p1":{"x":0.4823054457996908,"y":0.02336368321594228},"p2":{"x":0,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"12785","typeID":"Arrow","zOrder":"70","w":"153","h":"13","measuredW":"150","measuredH":"100","x":"759","y":"485","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":152,"y":0},"p1":{"x":0.4798692360633173,"y":-0.004989676531314521},"p2":{"x":0,"y":12},"rightArrow":"false","stroke":"dotted"}},{"ID":"12786","typeID":"Arrow","zOrder":"71","h":"60","measuredW":"150","measuredH":"100","x":"757","y":"436","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","p0":{"x":149,"y":0},"p1":{"x":0.4552212800557556,"y":-0.05494250203275647},"p2":{"x":0,"y":59},"rightArrow":"false","stroke":"dotted"}},{"ID":"12787","typeID":"Arrow","zOrder":"72","w":"134","h":"36","measuredW":"150","measuredH":"100","x":"467","y":"503","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":132,"y":0},"p1":{"x":0.4652789342214826,"y":-0.001332223147377271},"p2":{"x":0,"y":34},"rightArrow":"false","stroke":"dotted"}},{"ID":"12788","typeID":"Arrow","zOrder":"73","w":"131","h":"9","measuredW":"150","measuredH":"100","x":"467","y":"490","properties":{"color":"2848996","curvature":"0","leftArrow":"false","p0":{"x":129,"y":7},"p1":{"x":0.4652789342214826,"y":-0.001332223147377271},"p2":{"x":0,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"12789","typeID":"Arrow","zOrder":"74","w":"143","h":"53","measuredW":"150","measuredH":"100","x":"457","y":"443","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","p0":{"x":141,"y":51},"p1":{"x":0.45522128005575574,"y":-0.054942502032756434},"p2":{"x":0,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"12790","typeID":"Arrow","zOrder":"75","w":"45","h":"139","measuredW":"150","measuredH":"100","x":"654","y":"347","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","p0":{"x":44,"y":0},"p1":{"x":0.540933899332929,"y":-0.1946634323832626},"p2":{"x":16,"y":138},"rightArrow":"false"}},{"ID":"12791","typeID":"HRule","zOrder":"76","measuredW":"100","measuredH":"10","x":"1156","y":"774","properties":{"color":"10027263","stroke":"dotted"}},{"ID":"12792","typeID":"Arrow","zOrder":"77","w":"71","h":"134","measuredW":"150","measuredH":"100","x":"666","y":"785","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","p0":{"x":9,"y":0},"p1":{"x":0.5549276224469561,"y":-0.26264128494943484},"p2":{"x":70,"y":133},"rightArrow":"false"}},{"ID":"12793","typeID":"Arrow","zOrder":"78","w":"130","h":"213","measuredW":"150","measuredH":"100","x":"448","y":"796","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":129,"y":0},"p1":{"x":0.5007550539904198,"y":0.04527076398473655},"p2":{"x":0,"y":212},"rightArrow":"false","stroke":"dotted"}},{"ID":"12794","typeID":"Arrow","zOrder":"79","w":"110","h":"157","measuredW":"150","measuredH":"100","x":"462","y":"789","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":109,"y":0},"p1":{"x":0.46686783637115814,"y":0.0018494634122600195},"p2":{"x":0,"y":156},"rightArrow":"false","stroke":"dotted"}},{"ID":"12795","typeID":"Arrow","zOrder":"80","w":"119","h":"120","measuredW":"150","measuredH":"100","x":"454","y":"782","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":118,"y":0},"p1":{"x":0.46376334167874567,"y":-0.006127289497957557},"p2":{"x":0,"y":119},"rightArrow":"false","stroke":"dotted"}},{"ID":"12796","typeID":"Arrow","zOrder":"81","w":"128","h":"82","measuredW":"150","measuredH":"100","x":"449","y":"771","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":127,"y":0},"p1":{"x":0.4682571775171856,"y":0.0018196522442377747},"p2":{"x":0,"y":81},"rightArrow":"false","stroke":"dotted"}},{"ID":"12797","typeID":"Arrow","zOrder":"82","w":"123","h":"34","measuredW":"150","measuredH":"100","x":"449","y":"773","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":122,"y":0},"p1":{"x":0.4501850789844116,"y":0.009280016683176094},"p2":{"x":0,"y":33},"rightArrow":"false","stroke":"dotted"}},{"ID":"12798","typeID":"Arrow","zOrder":"83","w":"106","h":"99","measuredW":"150","measuredH":"100","x":"804","y":"733","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","p0":{"x":105,"y":98},"p1":{"x":0.48727519511367495,"y":-0.011876484560570073},"p2":{"x":0,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"12799","typeID":"Arrow","zOrder":"84","w":"109","h":"54","measuredW":"150","measuredH":"100","x":"801","y":"727","properties":{"color":"2848996","curvature":"0","leftArrow":"false","p0":{"x":108,"y":53},"p1":{"x":0.44795435569162256,"y":-0.008627887559142778},"p2":{"x":0,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"12800","typeID":"Arrow","zOrder":"85","w":"111","h":"59","measuredW":"150","measuredH":"100","x":"452","y":"599","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","p0":{"x":110,"y":58},"p1":{"x":0.45522128005575574,"y":-0.054942502032756434},"p2":{"x":0,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"12801","typeID":"Arrow","zOrder":"86","w":"112","h":"58","measuredW":"150","measuredH":"100","x":"450","y":"681","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":111,"y":0},"p1":{"x":0.47938350680544434,"y":0.06064851881505207},"p2":{"x":0,"y":57},"rightArrow":"false","stroke":"dotted"}},{"ID":"12802","typeID":"Arrow","zOrder":"87","w":"112","h":"23","measuredW":"150","measuredH":"100","x":"454","y":"671","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":111,"y":0},"p1":{"x":0.4453729012104649,"y":0.01983600156188987},"p2":{"x":0,"y":22},"rightArrow":"false","stroke":"dotted"}},{"ID":"12803","typeID":"Arrow","zOrder":"88","w":"120","h":"20","measuredW":"150","measuredH":"100","x":"451","y":"648","properties":{"color":"2848996","curvature":"0","leftArrow":"false","p0":{"x":119,"y":19},"p1":{"x":0.4652789342214826,"y":-0.001332223147377271},"p2":{"x":0,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"12804","typeID":"Arrow","zOrder":"89","w":"19","h":"80","measuredW":"150","measuredH":"100","x":"741","y":"206","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","p0":{"x":17,"y":0},"p1":{"x":0.4835868694955965,"y":0.10168134507606086},"p2":{"x":0,"y":79},"rightArrow":"false","stroke":"dotted"}},{"ID":"12805","typeID":"__group__","zOrder":"90","measuredW":"250","measuredH":"55","w":"250","h":"55","x":"563","y":"639","properties":{"controlName":"101-html"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"250","h":"55","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"25","x":"101","y":"16","properties":{"size":"17","text":"HTML"}}]}}},{"ID":"12806","typeID":"__group__","zOrder":"91","measuredW":"144","measuredH":"40","w":"144","h":"40","x":"644","y":"293","properties":{"controlName":"ext_link:roadmap.sh/frontend"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"144","measuredH":"40","x":"0","y":"0","properties":{"size":"32","text":"Front-end"}}]}}},{"ID":"12807","typeID":"__group__","zOrder":"92","measuredW":"304","measuredH":"47","w":"304","h":"47","x":"172","y":"572","properties":{"controlName":"100-html:learn-the-basics"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"296","h":"40","measuredW":"200","measuredH":"140","x":"8","y":"7","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"134","measuredW":"128","measuredH":"25","x":"90","y":"15","properties":{"size":"17","text":"Learn the basics"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12808","typeID":"__group__","zOrder":"93","measuredW":"304","measuredH":"45","w":"304","h":"45","x":"172","y":"621","properties":{"controlName":"101-html:writing-semantic-html"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"296","h":"40","measuredW":"200","measuredH":"140","x":"8","y":"5","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"189","measuredW":"183","measuredH":"25","x":"63","y":"13","properties":{"size":"17","text":"Writing Semantic HTML"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12809","typeID":"__group__","zOrder":"94","measuredW":"304","measuredH":"45","w":"304","h":"45","x":"172","y":"667","properties":{"controlName":"102-html:forms-and-validations"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"296","h":"40","measuredW":"200","measuredH":"140","x":"8","y":"5","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"172","measuredW":"169","measuredH":"25","x":"71","y":"13","properties":{"size":"17","text":"Forms and Validations"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12810","typeID":"__group__","zOrder":"95","measuredW":"304","measuredH":"49","w":"304","h":"49","x":"172","y":"710","properties":{"controlName":"103-html:conventions-and-best-practices"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"296","h":"40","measuredW":"200","measuredH":"140","x":"8","y":"9","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"248","measuredW":"246","measuredH":"25","x":"33","y":"17","properties":{"size":"17","text":"Conventions and Best Practices"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12811","typeID":"__group__","zOrder":"96","measuredW":"250","measuredH":"50","w":"250","h":"50","x":"563","y":"701","properties":{"controlName":"102-css"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"250","h":"50","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"33","measuredH":"25","x":"108","y":"14","properties":{"size":"17","text":"CSS"}}]}}},{"ID":"12812","typeID":"__group__","zOrder":"97","measuredW":"123","measuredH":"193","w":"123","h":"193","x":"1203","y":"672","properties":{"controlName":"101-css:making-layouts"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"116","h":"185","measuredW":"200","measuredH":"140","x":"0","y":"8","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"47","measuredH":"25","x":"35","y":"21","properties":{"size":"17","text":"Floats"}},{"ID":"2","typeID":"Label","zOrder":"2","measuredW":"84","measuredH":"25","x":"16","y":"48","properties":{"size":"17","text":"Positioning"}},{"ID":"3","typeID":"Label","zOrder":"3","measuredW":"56","measuredH":"25","x":"30","y":"75","properties":{"size":"17","text":"Display"}},{"ID":"4","typeID":"Label","zOrder":"4","measuredW":"82","measuredH":"25","x":"19","y":"102","properties":{"size":"17","text":"Box Model"}},{"ID":"5","typeID":"Label","zOrder":"5","measuredW":"70","measuredH":"25","x":"22","y":"129","properties":{"size":"17","text":"CSS Grid"}},{"ID":"6","typeID":"Label","zOrder":"6","measuredW":"65","measuredH":"25","x":"26","y":"156","properties":{"size":"17","text":"Flex Box"}},{"ID":"7","typeID":"Icon","zOrder":"7","measuredW":"24","measuredH":"24","x":"99","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"8","typeID":"Icon","zOrder":"8","measuredW":"24","measuredH":"24","x":"99","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12813","typeID":"__group__","zOrder":"98","measuredW":"289","measuredH":"47","w":"289","h":"47","x":"895","y":"699","properties":{"controlName":"100-css:learn-the-basics"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"280","h":"43","measuredW":"200","measuredH":"140","x":"0","y":"4","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"140","measuredW":"128","measuredH":"25","x":"70","y":"13","properties":{"size":"17","text":"Learn the basics"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"265","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"265","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12814","typeID":"__group__","zOrder":"99","measuredW":"290","measuredH":"51","w":"290","h":"51","x":"894","y":"748","properties":{"controlName":"101-css:making-layouts"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"281","h":"47","measuredW":"200","measuredH":"140","x":"0","y":"4","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"130","measuredW":"120","measuredH":"25","x":"76","y":"15","properties":{"size":"17","text":"Making Layouts"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"266","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"266","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12815","typeID":"Canvas","zOrder":"100","w":"324","h":"195","measuredW":"100","measuredH":"70","x":"973","y":"171"},{"ID":"12816","typeID":"Label","zOrder":"101","measuredW":"283","measuredH":"26","x":"991","y":"190","properties":{"size":"18","text":"For resources and other roadmaps"}},{"ID":"12817","typeID":"__group__","zOrder":"102","measuredW":"172","measuredH":"28","w":"172","h":"28","x":"991","y":"223","properties":{"controlName":"ext_link:roadmap.sh"},"children":{"controls":{"control":[{"ID":"2","typeID":"Label","zOrder":"0","measuredW":"172","measuredH":"28","x":"0","y":"0","properties":{"size":"20","text":"https://roadmap.sh","color":"10027263"}}]}}},{"ID":"12818","typeID":"__group__","zOrder":"103","measuredW":"282","measuredH":"47","w":"282","h":"47","x":"991","y":"298","properties":{"controlName":"json:jsons/roadmaps/frontend-beginner.json"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"282","h":"47","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"borderColor":"4273622","color":"4273622"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"210","measuredH":"26","x":"36","y":"11","properties":{"color":"16777215","size":"18","text":"Visit the Beginner Version"}}]}}},{"ID":"12819","typeID":"Label","zOrder":"104","measuredW":"227","measuredH":"26","x":"991","y":"263","properties":{"color":"4985136","size":"18","text":"Are you just getting started?"}},{"ID":"12820","typeID":"__group__","zOrder":"105","measuredW":"288","measuredH":"45","w":"288","h":"45","x":"894","y":"803","properties":{"controlName":"102-css:responsive-design-and-media-queries"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"280","h":"43","measuredW":"200","measuredH":"140","x":"0","y":"2","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"248","measuredW":"246","measuredH":"22","x":"18","y":"12","properties":{"size":"14","text":"Responsive design and Media Queries"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"264","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"264","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12821","typeID":"__group__","zOrder":"106","measuredW":"250","measuredH":"50","w":"250","h":"50","x":"563","y":"758","properties":{"controlName":"103-javascript"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"250","h":"50","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"25","x":"82","y":"13","properties":{"size":"17","text":"JavaScript"}}]}}},{"ID":"12822","typeID":"__group__","zOrder":"107","measuredW":"304","measuredH":"48","w":"304","h":"48","x":"172","y":"773","properties":{"controlName":"100-javascript:syntax-and-basic-constructs"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"296","h":"40","measuredW":"200","measuredH":"140","x":"8","y":"8","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"228","measuredW":"219","measuredH":"25","x":"43","y":"16","properties":{"size":"17","text":"Syntax and Basic Constructs"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12823","typeID":"__group__","zOrder":"108","measuredW":"305","measuredH":"45","w":"305","h":"45","x":"172","y":"822","properties":{"controlName":"101-javascript:learn-dom-manipulation"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"297","h":"40","measuredW":"200","measuredH":"140","x":"8","y":"5","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"197","measuredW":"193","measuredH":"25","x":"59","y":"13","properties":{"size":"17","text":"Learn DOM Manipulation"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12824","typeID":"__group__","zOrder":"109","measuredW":"305","measuredH":"117","w":"305","h":"117","x":"171","y":"967","properties":{"controlName":"104-javascript:concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"296","h":"113","measuredW":"200","measuredH":"140","x":"9","y":"4","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"247","measuredW":"246","measuredH":"25","x":"34","y":"49","properties":{"size":"17","text":"Hoisting, Event Bubbling, Scope,"}},{"ID":"2","typeID":"Label","zOrder":"2","w":"245","measuredW":"231","measuredH":"25","x":"36","y":"78","properties":{"size":"17","text":"Prototype, Shadow DOM, strict"}},{"ID":"3","typeID":"Label","zOrder":"3","w":"202","measuredW":"195","measuredH":"25","x":"57","y":"19","properties":{"size":"17","text":"Understand the concepts"}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"5","typeID":"Icon","zOrder":"5","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12825","typeID":"__group__","zOrder":"110","measuredW":"304","measuredH":"45","w":"304","h":"45","x":"172","y":"869","properties":{"controlName":"102-javascript:learn-fetch-api-ajax-xhr"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"296","h":"40","measuredW":"200","measuredH":"140","x":"8","y":"5","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"234","measuredW":"224","measuredH":"25","x":"40","y":"13","properties":{"size":"17","text":"Learn Fetch API / Ajax (XHR)"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12826","typeID":"__group__","zOrder":"111","measuredW":"305","measuredH":"47","w":"305","h":"47","x":"171","y":"915","properties":{"controlName":"103-javascript:es6-and-modular-javascript"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"296","h":"40","measuredW":"200","measuredH":"140","x":"9","y":"7","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"234","measuredW":"228","measuredH":"25","x":"41","y":"15","properties":{"size":"17","text":"ES6+ and modular JavaScript"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12827","typeID":"__group__","zOrder":"112","measuredW":"187","measuredH":"60","w":"187","h":"60","x":"584","y":"459","properties":{"controlName":"100-internet"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"178","h":"50","measuredW":"200","measuredH":"140","x":"9","y":"10","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"62","measuredH":"25","x":"67","y":"23","properties":{"text":"Internet","size":"17"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12828","typeID":"__group__","zOrder":"113","measuredW":"306","measuredH":"53","w":"306","h":"53","x":"173","y":"411","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":"7","y":"9","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"223","measuredW":"219","measuredH":"25","x":"45","y":"19","properties":{"size":"17","text":"How does the internet work?"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12829","typeID":"__group__","zOrder":"114","measuredW":"307","measuredH":"47","w":"307","h":"47","x":"172","y":"463","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":"8","y":"7","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"119","measuredW":"113","measuredH":"25","x":"98","y":"15","properties":{"size":"17","text":"What is HTTP?"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12830","typeID":"__group__","zOrder":"115","measuredW":"307","measuredH":"48","w":"307","h":"48","x":"172","y":"508","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":"8","y":"8","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"230","measuredW":"225","measuredH":"25","x":"42","y":"16","properties":{"size":"17","text":"Browsers and how they work?"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12831","typeID":"__group__","zOrder":"116","measuredW":"289","measuredH":"49","w":"289","h":"49","x":"895","y":"408","properties":{"controlName":"103-internet:dns-and-how-it-works"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"280","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"9","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"179","measuredW":"175","measuredH":"25","x":"51","y":"17","properties":{"size":"17","text":"DNS and how it works?"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"265","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"265","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12832","typeID":"__group__","zOrder":"117","measuredW":"289","measuredH":"45","w":"289","h":"45","x":"894","y":"458","properties":{"controlName":"104-internet:what-is-domain-name"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"280","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"5","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"189","measuredW":"180","measuredH":"25","x":"51","y":"13","properties":{"size":"17","text":"What is Domain Name?"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"265","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"265","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12833","typeID":"__group__","zOrder":"118","measuredW":"288","measuredH":"46","w":"288","h":"46","x":"895","y":"503","properties":{"controlName":"105-internet:what-is-hosting"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"280","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"6","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"133","measuredW":"126","measuredH":"25","x":"74","y":"14","properties":{"size":"17","text":"What is hosting?"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"264","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"264","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12834","typeID":"__group__","zOrder":"119","measuredW":"288","measuredH":"48","w":"288","h":"48","x":"895","y":"601","properties":{"controlName":"104-html:accessibility"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"280","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"8","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"101","measuredW":"94","measuredH":"25","x":"89","y":"16","properties":{"size":"17","text":"Accessibility"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"264","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"264","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12835","typeID":"__group__","zOrder":"120","measuredW":"289","measuredH":"46","w":"289","h":"46","x":"895","y":"650","properties":{"controlName":"105-html:seo-basics"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"280","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"6","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"94","measuredW":"90","measuredH":"25","x":"93","y":"14","properties":{"size":"17","text":"SEO Basics"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"265","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"265","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12836","typeID":"__group__","zOrder":"121","measuredW":"225","measuredH":"62","w":"225","h":"62","x":"533","y":"992","properties":{"controlName":"100-version-control-systems:basic-usage-of-git"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"216","h":"54","measuredW":"200","measuredH":"140","x":"9","y":"8","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"144","measuredH":"25","x":"45","y":"23","properties":{"text":"Basic Usage of Git","size":"17"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12837","typeID":"__group__","zOrder":"122","measuredW":"240","measuredH":"58","w":"240","h":"58","x":"1014","y":"994","properties":{"controlName":"100-repo-hosting-services:github"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"230","h":"49","measuredW":"200","measuredH":"140","x":"10","y":"9","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"54","measuredH":"25","x":"98","y":"22","properties":{"text":"GitHub","size":"17"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12838","typeID":"__group__","zOrder":"123","measuredW":"352","measuredH":"78","w":"352","h":"78","x":"905","y":"902","properties":{"controlName":"105-repo-hosting-services"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"352","h":"78","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"172","measuredH":"25","x":"90","y":"15","properties":{"text":"Repo hosting services","size":"17"}},{"ID":"2","typeID":"Label","zOrder":"2","w":"279","measuredW":"275","measuredH":"23","x":"32","y":"41","properties":{"size":"15","text":"Create account and Learn to use GitHub"}}]}}},{"ID":"12839","typeID":"__group__","zOrder":"124","measuredW":"336","measuredH":"77","w":"336","h":"77","x":"542","y":"902","properties":{"controlName":"104-version-control-systems"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"336","h":"77","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"186","measuredH":"25","x":"75","y":"15","properties":{"text":"Version Control Systems","size":"17"}},{"ID":"2","typeID":"Label","zOrder":"2","w":"292","measuredW":"285","measuredH":"23","x":"19","y":"40","properties":{"size":"15","text":"What are they and why you should use one"}}]}}},{"ID":"12840","typeID":"__group__","zOrder":"125","measuredW":"211","measuredH":"53","w":"211","h":"53","x":"435","y":"1239","properties":{"controlName":"107-package-managers"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"211","h":"53","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"149","measuredH":"25","x":"31","y":"14","properties":{"text":"Package Managers","size":"17"}}]}}},{"ID":"12841","typeID":"__group__","zOrder":"126","measuredW":"158","measuredH":"49","w":"158","h":"49","x":"174","y":"1134","properties":{"controlName":"100-package-managers:npm"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"151","h":"49","measuredW":"200","measuredH":"140","x":"7","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"36","measuredW":"34","measuredH":"25","x":"65","y":"12","properties":{"size":"17","text":"npm"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"11","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"11","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12842","typeID":"__group__","zOrder":"127","measuredW":"238","measuredH":"54","w":"238","h":"54","x":"1016","y":"1110","properties":{"controlName":"102-repo-hosting-services:bitbucket"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"230","h":"49","measuredW":"200","measuredH":"140","x":"8","y":"5","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"73","measuredH":"25","x":"86","y":"17","properties":{"color":"3355443","text":"Bitbucket","size":"17"}},{"ID":"3","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"5","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12843","typeID":"__group__","zOrder":"128","measuredW":"238","measuredH":"55","w":"238","h":"55","x":"1016","y":"1053","properties":{"controlName":"101-repo-hosting-services:gitlab"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"230","h":"49","measuredW":"200","measuredH":"140","x":"8","y":"6","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"51","measuredH":"25","x":"97","y":"18","properties":{"color":"3355443","size":"17","text":"GitLab"}},{"ID":"3","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"5","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12844","typeID":"__group__","zOrder":"129","measuredW":"381","measuredH":"62","w":"381","h":"62","x":"584","y":"1085","properties":{"controlName":"106-web-security-knowledge"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"372","h":"54","measuredW":"200","measuredH":"140","x":"9","y":"8","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"189","measuredH":"25","x":"100","y":"23","properties":{"text":"Web Security Knowledge","size":"17"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12845","typeID":"__group__","zOrder":"130","measuredW":"408","measuredH":"162","w":"408","h":"162","x":"172","y":"171","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":"12846","typeID":"TextArea","zOrder":"131","w":"456","h":"161","measuredW":"200","measuredH":"140","x":"796","y":"1184"},{"ID":"12847","typeID":"__group__","zOrder":"132","measuredW":"163","measuredH":"48","w":"163","h":"48","x":"811","y":"1283","properties":{"controlName":"102-web-security-knowledge:cors"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"163","h":"48","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"25","x":"58","y":"12","properties":{"text":"CORS","size":"17"}}]}}},{"ID":"12848","typeID":"__group__","zOrder":"133","measuredW":"166","measuredH":"49","w":"166","h":"49","x":"810","y":"1228","properties":{"controlName":"100-web-security-knowledge:https"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"166","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"54","measuredH":"25","x":"56","y":"12","properties":{"text":"HTTPS","size":"17"}}]}}},{"ID":"12849","typeID":"__group__","zOrder":"134","measuredW":"257","measuredH":"49","w":"257","h":"49","x":"981","y":"1228","properties":{"controlName":"101-web-security-knowledge:content-security-policy"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"257","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"175","measuredH":"25","x":"41","y":"12","properties":{"text":"Content Security Policy","size":"17"}}]}}},{"ID":"12850","typeID":"__group__","zOrder":"135","measuredW":"257","measuredH":"49","w":"257","h":"49","x":"981","y":"1282","properties":{"controlName":"103-web-security-knowledge:owasp-security-risks"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"257","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"169","measuredH":"25","x":"44","y":"12","properties":{"text":"OWASP Security Risks","size":"17"}}]}}},{"ID":"12851","typeID":"Label","zOrder":"136","w":"372","measuredW":"344","measuredH":"25","x":"812","y":"1197","properties":{"size":"17","text":"Get at least a basic knowledge of all of these"}},{"ID":"12852","typeID":"__group__","zOrder":"137","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"1238","y":"1175","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":"12853","typeID":"Arrow","zOrder":"138","w":"117","h":"1","measuredW":"150","measuredH":"100","x":"697","y":"2814","properties":{"color":"2848996","curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":116.89058672187377,"y":0.1041226124775676},"p1":{"x":0.4835193355826629,"y":0.007267064624967576},"p2":{"x":0.017907207522057433,"y":0.1041226124775676}}},{"ID":"12854","typeID":"Arrow","zOrder":"139","w":"158","h":"72","measuredW":"150","measuredH":"100","x":"306","y":"2868","properties":{"color":"2848996","curvature":"0","leftArrow":"false","p0":{"x":0,"y":0},"p1":{"x":0.4319942611190819,"y":-0.006169296987087513},"p2":{"x":157,"y":71},"rightArrow":"false","stroke":"dotted"}},{"ID":"12855","typeID":"Arrow","zOrder":"140","w":"133","h":"223","measuredW":"150","measuredH":"100","x":"1027","y":"2708","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":133,"y":223},"p1":{"x":0.6210189562745637,"y":0.08206190581675968},"p2":{"x":-0.43103046936073497,"y":0.31367188167814675}}},{"ID":"12856","typeID":"Arrow","zOrder":"141","w":"112","h":"137","measuredW":"150","measuredH":"100","x":"1053","y":"2711","properties":{"color":"2848996","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":112,"y":137},"p1":{"x":0.6177380381901717,"y":0.1158418847787249},"p2":{"x":-0.28845742009775677,"y":0.38926871100329663}}},{"ID":"12857","typeID":"__group__","zOrder":"142","measuredW":"216","measuredH":"50","w":"216","h":"50","x":"434","y":"1354","properties":{"controlName":"109-css-preprocessors"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"216","h":"50","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"150","measuredH":"25","x":"33","y":"12","properties":{"text":"CSS Preprocessors","size":"17"}}]}}},{"ID":"12858","typeID":"Arrow","zOrder":"143","w":"107","h":"93","measuredW":"150","measuredH":"100","x":"1059","y":"2707","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":107,"y":93},"p1":{"x":0.6105142874821432,"y":0.11615602631888519},"p2":{"x":-0.13726376144768437,"y":-0.2241265329844282}}},{"ID":"12859","typeID":"Arrow","zOrder":"144","w":"100","h":"48","measuredW":"150","measuredH":"100","x":"1062","y":"2702","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":100,"y":48},"p1":{"x":0.5421630610591022,"y":0.059862777204942215},"p2":{"x":-0.061666932122761864,"y":0.16247822302784698}}},{"ID":"12860","typeID":"Arrow","zOrder":"145","w":"115","h":"6","measuredW":"150","measuredH":"100","x":"1048","y":"2699","properties":{"color":"2848996","curvature":"-1","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":115,"y":6},"p1":{"x":0.5359734790789354,"y":0.012722874294418285},"p2":{"x":0.4352964490888098,"y":-0.2504109310075364}}},{"ID":"12861","typeID":"__group__","zOrder":"146","measuredW":"213","measuredH":"50","w":"213","h":"50","x":"435","y":"1298","properties":{"controlName":"108-css-architecture"},"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":"131","measuredH":"25","x":"41","y":"12","properties":{"text":"CSS Architecture","size":"17"}}]}}},{"ID":"12862","typeID":"__group__","zOrder":"147","measuredW":"158","measuredH":"40","w":"158","h":"40","x":"173","y":"1303","properties":{"controlName":"100-css-architecture:bem"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"151","h":"40","measuredW":"200","measuredH":"140","x":"7","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"45","measuredW":"38","measuredH":"25","x":"60","y":"8","properties":{"size":"17","text":"BEM"}},{"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":"12863","typeID":"Arrow","zOrder":"148","w":"180","h":"45","measuredW":"150","measuredH":"100","x":"300","y":"2962","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":44},"p1":{"x":0.4319942611190816,"y":-0.0061692969870875015},"p2":{"x":179,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"12864","typeID":"Arrow","zOrder":"149","w":"106","h":"1","measuredW":"150","measuredH":"100","x":"957","y":"2531","properties":{"color":"2848996","curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":106,"y":1},"p1":{"x":0.4835193355826628,"y":0.007267064624967598},"p2":{"x":-0.0680813086987655,"y":0.06188413774043511}}},{"ID":"12865","typeID":"__group__","zOrder":"150","measuredW":"211","measuredH":"50","w":"211","h":"50","x":"536","y":"1520","properties":{"controlName":"110-build-tools"},"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":"83","measuredH":"25","x":"64","y":"13","properties":{"size":"17","text":"Build Tools"}}]}}},{"ID":"12866","typeID":"Arrow","zOrder":"151","w":"1","h":"86","measuredW":"150","measuredH":"100","x":"574","y":"2391","properties":{"color":"2848996","curvature":"0","leftArrow":"false","p0":{"x":0,"y":0},"p1":{"x":0.4770488047048041,"y":0.005193614908729856},"p2":{"x":0,"y":85},"rightArrow":"false","stroke":"dotted"}},{"ID":"12867","typeID":"Arrow","zOrder":"152","w":"177","h":"1","measuredW":"150","measuredH":"100","x":"378","y":"2381","properties":{"color":"2848996","curvature":"0","leftArrow":"false","p0":{"x":176,"y":0},"p1":{"x":0.477048804704804,"y":0.005193614908729856},"p2":{"x":0,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"12868","typeID":"__group__","zOrder":"153","measuredW":"225","measuredH":"50","w":"225","h":"50","x":"831","y":"1517","properties":{"controlName":"100-build-tools:task-runners"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"225","h":"50","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"25","x":"60","y":"14","properties":{"size":"17","text":"Task Runners"}}]}}},{"ID":"12869","typeID":"Arrow","zOrder":"154","w":"116","h":"1","measuredW":"150","measuredH":"100","x":"749","y":"2380","properties":{"color":"2848996","curvature":"0","leftArrow":"false","p0":{"x":115,"y":0},"p1":{"x":0.477048804704804,"y":0.005193614908729856},"p2":{"x":0,"y":0},"rightArrow":"false"}},{"ID":"12870","typeID":"__group__","zOrder":"155","measuredW":"156","measuredH":"45","w":"156","h":"45","x":"1104","y":"1521","properties":{"controlName":"100-build-tools:task-runners:npm-scripts"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"145","h":"45","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"89","measuredH":"25","x":"24","y":"10","properties":{"size":"17","text":"npm scripts"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"132","y":"11","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"132","y":"11","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12871","typeID":"Arrow","zOrder":"156","w":"239","h":"239","measuredW":"150","measuredH":"100","x":"484","y":"1781","properties":{"color":"2848996","curvature":"0","leftArrow":"false","rightArrow":"false","p0":{"x":0.4151212280816594,"y":-0.22081521141240046},"p1":{"x":0.5082158938451313,"y":0.2259685964231505},"p2":{"x":239,"y":239}}},{"ID":"12872","typeID":"Arrow","zOrder":"157","w":"191","h":"5","measuredW":"150","measuredH":"100","x":"933","y":"2059","properties":{"color":"10027263","curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":190.5,"y":-0.5},"p1":{"x":0.4934109968191019,"y":-0.001156690213574586},"p2":{"x":0,"y":4}}},{"ID":"12873","typeID":"__group__","zOrder":"158","measuredW":"158","measuredH":"40","w":"158","h":"40","x":"1104","y":"1667","properties":{"controlName":"100-build-tools:module-bundlers:webpack"},"children":{"controls":{"control":[{"ID":"1","typeID":"Label","zOrder":"0","w":"72","measuredW":"72","measuredH":"25","x":"52","y":"7","properties":{"size":"17","text":"Webpack"}},{"ID":"2","typeID":"TextArea","zOrder":"1","w":"148","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"3","typeID":"Label","zOrder":"2","measuredW":"72","measuredH":"25","x":"42","y":"7","properties":{"text":"Webpack","size":"17"}},{"ID":"4","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"134","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"5","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"134","y":"8","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"3700253"}}]}}},{"ID":"12874","typeID":"__group__","zOrder":"159","measuredW":"158","measuredH":"40","w":"158","h":"40","x":"1104","y":"1712","properties":{"controlName":"102-build-tools:module-bundlers:rollup"},"children":{"controls":{"control":[{"ID":"1","typeID":"Label","zOrder":"0","w":"46","measuredW":"49","measuredH":"25","x":"65","y":"7","properties":{"size":"17","text":"Rollup"}},{"ID":"2","typeID":"TextArea","zOrder":"1","w":"147","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"3","typeID":"Label","zOrder":"2","w":"63","measuredW":"49","measuredH":"25","x":"55","y":"7","properties":{"size":"17","text":"Rollup"}},{"ID":"4","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"134","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"5","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"134","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"6","typeID":"Icon","zOrder":"5","measuredW":"24","measuredH":"24","x":"134","y":"8","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12875","typeID":"__group__","zOrder":"160","measuredW":"158","measuredH":"40","w":"158","h":"40","x":"1104","y":"1758","properties":{"controlName":"103-build-tools:module-bundlers:parcel"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","w":"46","measuredW":"49","measuredH":"25","x":"65","y":"7","properties":{"size":"17","text":"Parcel"}},{"ID":"1","typeID":"TextArea","zOrder":"1","w":"146","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"2","typeID":"Label","zOrder":"2","w":"63","measuredW":"49","measuredH":"25","x":"55","y":"7","properties":{"size":"17","text":"Parcel"}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"134","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"134","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"5","typeID":"Icon","zOrder":"5","measuredW":"24","measuredH":"24","x":"134","y":"8","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12876","typeID":"__group__","zOrder":"161","measuredW":"225","measuredH":"50","w":"225","h":"50","x":"832","y":"1574","properties":{"controlName":"101-build-tools:module-bundlers"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"225","h":"50","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"131","measuredH":"25","x":"47","y":"13","properties":{"size":"17","text":"Module Bundlers"}}]}}},{"ID":"12877","typeID":"Arrow","zOrder":"162","w":"119","h":"1","measuredW":"150","measuredH":"100","x":"1010","y":"2382","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":118.97944745965356,"y":0},"p1":{"x":0.4835193355826631,"y":0.007267064624967473},"p2":{"x":0.34217904266415644,"y":0}}},{"ID":"12878","typeID":"__group__","zOrder":"163","measuredW":"213","measuredH":"53","w":"213","h":"53","x":"534","y":"1575","properties":{"controlName":"111-pick-a-framework"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"213","h":"53","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"142","measuredW":"136","measuredH":"25","x":"36","y":"14","properties":{"size":"17","text":"Pick a Framework"}}]}}},{"ID":"12879","typeID":"__group__","zOrder":"164","measuredW":"152","measuredH":"40","w":"152","h":"40","x":"174","y":"1489","properties":{"controlName":"100-pick-a-framework:react-js"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"145","h":"40","measuredW":"200","measuredH":"140","x":"7","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"68","measuredW":"47","measuredH":"25","x":"55","y":"7","properties":{"size":"17","text":"React"}},{"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":"12880","typeID":"__group__","zOrder":"165","measuredW":"153","measuredH":"40","w":"153","h":"40","x":"172","y":"1535","properties":{"controlName":"101-pick-a-framework:angular"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"145","h":"40","measuredW":"200","measuredH":"140","x":"8","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"64","measuredW":"59","measuredH":"25","x":"49","y":"7","properties":{"size":"17","text":"Angular"}},{"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":"12881","typeID":"__group__","zOrder":"166","measuredW":"152","measuredH":"40","w":"152","h":"40","x":"171","y":"1581","properties":{"controlName":"102-pick-a-framework:vue-js"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"145","h":"40","measuredW":"200","measuredH":"140","x":"7","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"45","measuredH":"25","x":"58","y":"7","properties":{"text":"Vue.js","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":"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":"12882","typeID":"Arrow","zOrder":"167","w":"97","h":"2","measuredW":"150","measuredH":"100","x":"1149","y":"2483","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":96.5324984379306,"y":0},"p1":{"x":0.4835193355826628,"y":0.007267064624967576},"p2":{"x":-0.0834087691514469,"y":1.8700832259696654}}},{"ID":"12883","typeID":"__group__","zOrder":"168","measuredW":"203","measuredH":"50","w":"203","h":"50","x":"828","y":"1692","properties":{"controlName":"112-modern-css"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"203","h":"50","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"25","x":"53","y":"13","properties":{"size":"17","text":"Modern CSS"}}]}}},{"ID":"12884","typeID":"Arrow","zOrder":"169","w":"65","h":"4","measuredW":"150","measuredH":"100","x":"1155","y":"2530","properties":{"color":"2848996","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":3},"p1":{"x":0.4807692307692308,"y":-0.01923076923076923},"p2":{"x":64,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"12885","typeID":"Arrow","zOrder":"170","w":"65","h":"2","measuredW":"150","measuredH":"100","x":"1156","y":"2580","properties":{"color":"2848996","curvature":"-1","leftArrow":"false","p0":{"x":0,"y":0},"p1":{"x":0.4807692307692308,"y":-0.01923076923076923},"p2":{"x":64,"y":1},"rightArrow":"false","stroke":"dotted"}},{"ID":"12886","typeID":"__group__","zOrder":"171","measuredW":"211","measuredH":"40","w":"211","h":"40","x":"829","y":"1784","properties":{"controlName":"100-modern-css:styled-components"},"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":"151","measuredW":"150","measuredH":"25","x":"25","y":"7","properties":{"size":"17","text":"Styled Components"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"187","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"187","y":"8","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12887","typeID":"__group__","zOrder":"172","measuredW":"212","measuredH":"40","w":"212","h":"40","x":"829","y":"1829","properties":{"controlName":"101-modern-css:css-modules"},"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":"103","measuredW":"103","measuredH":"25","x":"49","y":"7","properties":{"size":"17","text":"CSS Modules"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"188","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"188","y":"8","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12888","typeID":"Arrow","zOrder":"173","w":"179","h":"2","measuredW":"150","measuredH":"100","x":"300","y":"2955","properties":{"color":"2848996","curvature":"0","direction":"bottom","leftArrow":"false","p0":{"x":0,"y":1},"p1":{"x":0.431994261119082,"y":-0.006169296987087527},"p2":{"x":178,"y":0},"rightArrow":"false","stroke":"dotted"}},{"ID":"12889","typeID":"Arrow","zOrder":"174","w":"161","h":"34","measuredW":"150","measuredH":"100","x":"306","y":"2912","properties":{"color":"2848996","curvature":"0","leftArrow":"false","p0":{"x":0,"y":0},"p1":{"x":0.4319942611190819,"y":-0.006169296987087513},"p2":{"x":160,"y":33},"rightArrow":"false","stroke":"dotted"}},{"ID":"12890","typeID":"__group__","zOrder":"175","measuredW":"210","measuredH":"40","w":"210","h":"40","x":"829","y":"1919","properties":{"controlName":"103-modern-css:emotion"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"201","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"64","measuredH":"25","x":"69","y":"7","properties":{"text":"Emotion","size":"17"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"186","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"186","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"186","y":"8","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12891","typeID":"__group__","zOrder":"176","measuredW":"175","measuredH":"41","w":"175","h":"41","x":"550","y":"2793","properties":{"controlName":"100-graphql:apollo"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"167","h":"41","measuredW":"200","measuredH":"140","x":"8","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"49","measuredW":"48","measuredH":"25","x":"58","y":"8","properties":{"size":"17","text":"Apollo"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"9","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12892","typeID":"__group__","zOrder":"177","measuredW":"285","measuredH":"59","w":"285","h":"59","x":"803","y":"2666","properties":{"controlName":"120-static-site-generators"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"281","h":"50","measuredW":"200","measuredH":"140","x":"0","y":"9","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"169","measuredH":"25","x":"56","y":"22","properties":{"size":"17","text":"Static Site Generators"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"261","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"261","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12893","typeID":"__group__","zOrder":"178","measuredW":"156","measuredH":"41","w":"156","h":"41","x":"1153","y":"2821","properties":{"controlName":"101-static-site-generators:gatsbyjs"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"147","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"78","measuredW":"73","measuredH":"25","x":"35","y":"8","properties":{"size":"17","text":"GatsbyJS"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"132","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"132","y":"9","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"3700253"}}]}}},{"ID":"12894","typeID":"__group__","zOrder":"179","measuredW":"157","measuredH":"41","w":"157","h":"41","x":"1153","y":"2775","properties":{"controlName":"100-static-site-generators:next-js"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"147","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"58","measuredW":"52","measuredH":"25","x":"45","y":"8","properties":{"size":"17","text":"Next.js"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"133","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"133","y":"9","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"3700253"}}]}}},{"ID":"12895","typeID":"__group__","zOrder":"180","measuredW":"156","measuredH":"41","w":"156","h":"41","x":"1151","y":"3008","properties":{"controlName":"102-static-site-generators:nuxt-js"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"147","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"56","measuredW":"52","measuredH":"25","x":"46","y":"8","properties":{"size":"17","text":"Nuxt.js"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"132","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"132","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"132","y":"9","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12896","typeID":"__group__","zOrder":"181","measuredW":"156","measuredH":"41","w":"156","h":"41","x":"1151","y":"2868","properties":{"controlName":"103-static-site-generators:vuepress"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"147","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"76","measuredW":"72","measuredH":"25","x":"40","y":"8","properties":{"size":"17","text":"Vuepress"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"132","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"132","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"132","y":"9","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12897","typeID":"__group__","zOrder":"182","measuredW":"157","measuredH":"41","w":"157","h":"41","x":"1151","y":"2914","properties":{"controlName":"104-static-site-generators:jekyll"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"147","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"49","measuredW":"43","measuredH":"25","x":"52","y":"8","properties":{"size":"17","text":"Jekyll"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"133","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"133","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"133","y":"9","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12898","typeID":"__group__","zOrder":"183","measuredW":"212","measuredH":"50","w":"212","h":"50","x":"297","y":"1744","properties":{"controlName":"114-css-frameworks"},"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":"131","measuredH":"25","x":"40","y":"13","properties":{"size":"17","text":"CSS Frameworks"}}]}}},{"ID":"12899","typeID":"__group__","zOrder":"184","measuredW":"335","measuredH":"137","w":"335","h":"137","x":"175","y":"2061","properties":{"controlName":"114-css-frameworks:css-first"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"335","h":"137","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"14540253"}},{"ID":"2","typeID":"Label","zOrder":"1","measuredW":"150","measuredH":"24","x":"154","y":"17","properties":{"size":"16","text":"CSS first frameworks"}},{"ID":"3","typeID":"Label","zOrder":"2","measuredW":"145","measuredH":"24","x":"154","y":"44","properties":{"size":"16","text":"that don't come with"}},{"ID":"4","typeID":"Label","zOrder":"3","measuredW":"99","measuredH":"24","x":"154","y":"71","properties":{"size":"16","text":"JS framework"}},{"ID":"5","typeID":"Label","zOrder":"4","measuredW":"166","measuredH":"24","x":"153","y":"98","properties":{"size":"16","text":"components by default."}}]}}},{"ID":"12900","typeID":"__group__","zOrder":"185","measuredW":"127","measuredH":"52","w":"127","h":"52","x":"191","y":"2076","properties":{"controlName":"100-css-frameworks:css-first:bootstrap"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"127","h":"52","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"14540253"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"81","measuredW":"75","measuredH":"25","x":"27","y":"13","properties":{"size":"17","text":"Bootstrap"}}]}}},{"ID":"12901","typeID":"__group__","zOrder":"186","measuredW":"127","measuredH":"49","w":"127","h":"49","x":"191","y":"2133","properties":{"controlName":"101-css-frameworks:css-first:bulma"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"127","h":"49","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"14540253"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"50","measuredW":"49","measuredH":"25","x":"39","y":"12","properties":{"size":"17","text":"Bulma"}}]}}},{"ID":"12902","typeID":"__group__","zOrder":"187","measuredW":"232","measuredH":"276","w":"232","h":"276","x":"1088","y":"1882","properties":{"controlName":"115-testing-your-apps"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"232","h":"276","measuredW":"200","measuredH":"140","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","w":"185","measuredW":"185","measuredH":"24","x":"18","y":"208","properties":{"text":"You can fill all your testing","size":"16"}},{"ID":"2","typeID":"Label","zOrder":"2","w":"155","measuredW":"155","measuredH":"24","x":"18","y":"230","properties":{"text":"needs with just these.","size":"16"}}]}}},{"ID":"12903","typeID":"__group__","zOrder":"188","measuredW":"207","measuredH":"40","w":"207","h":"40","x":"1104","y":"1942","properties":{"controlName":"101-testing-your-apps:react-testing-library"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"195","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"152","measuredH":"25","x":"22","y":"7","properties":{"text":"react-testing-library","size":"17"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"183","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"183","y":"8","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12904","typeID":"__group__","zOrder":"189","measuredW":"205","measuredH":"40","w":"205","h":"40","x":"1105","y":"1898","properties":{"controlName":"100-testing-your-apps:jest"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"194","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"39","measuredW":"33","measuredH":"25","x":"77","y":"8","properties":{"size":"17","text":"Jest"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"181","y":"7","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"181","y":"7","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12905","typeID":"__group__","zOrder":"190","measuredW":"205","measuredH":"39","w":"205","h":"39","x":"1104","y":"1987","properties":{"controlName":"102-testing-your-apps:cypress"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"195","h":"39","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"63","measuredH":"25","x":"63","y":"7","properties":{"text":"Cypress","size":"17"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"181","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"181","y":"8","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12906","typeID":"__group__","zOrder":"191","measuredW":"405","measuredH":"158","w":"405","h":"158","x":"629","y":"2000","properties":{"controlName":"115-testing-your-apps"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"405","h":"158","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"144","measuredH":"26","x":"125","y":"19","properties":{"size":"18","text":"Testing your Apps"}},{"ID":"2","typeID":"Label","zOrder":"2","w":"349","measuredW":"328","measuredH":"25","x":"22","y":"86","properties":{"size":"17","text":"and {color:blue}Functional{color} tests and learn how to write"}},{"ID":"3","typeID":"Label","zOrder":"3","w":"302","measuredW":"286","measuredH":"25","x":"21","y":"115","properties":{"size":"17","text":"them with the tools listed on the right."}},{"ID":"4","typeID":"Label","zOrder":"4","w":"362","measuredW":"361","measuredH":"25","x":"21","y":"56","properties":{"size":"17","text":"Learn the difference between {color:blue}Unit{color}, {color:blue}Integration{color}, "}}]}}},{"ID":"12907","typeID":"__group__","zOrder":"192","measuredW":"234","measuredH":"60","w":"234","h":"60","x":"804","y":"2348","properties":{"controlName":"116-type-checkers"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"226","h":"50","measuredW":"200","measuredH":"140","x":"0","y":"10","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"115","measuredH":"25","x":"53","y":"23","properties":{"size":"17","text":"Type Checkers"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"210","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"210","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12908","typeID":"__group__","zOrder":"193","measuredW":"206","measuredH":"48","w":"206","h":"48","x":"1115","y":"2354","properties":{"controlName":"100-type-checkers:typescript"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"199","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"7","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"91","measuredW":"81","measuredH":"25","x":"54","y":"15","properties":{"size":"17","text":"TypeScript"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"182","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"182","y":"0","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"156","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"5","typeID":"Icon","zOrder":"5","measuredW":"24","measuredH":"24","x":"156","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12909","typeID":"__group__","zOrder":"194","measuredW":"247","measuredH":"61","w":"247","h":"61","x":"516","y":"2345","properties":{"controlName":"117-progressive-web-apps"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"241","h":"50","measuredW":"200","measuredH":"140","x":"6","y":"11","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"172","measuredH":"25","x":"41","y":"24","properties":{"size":"17","text":"Progressive Web Apps"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12910","typeID":"Canvas","zOrder":"195","w":"228","h":"428","measuredW":"100","measuredH":"70","x":"163","y":"2359"},{"ID":"12911","typeID":"__group__","zOrder":"196","measuredW":"192","measuredH":"32","w":"192","h":"32","x":"181","y":"2487","properties":{"controlName":"103-progressive-web-apps:service-workers"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextInput","zOrder":"0","w":"192","measuredW":"147","measuredH":"32","x":"0","y":"0","properties":{"align":"center","color":"16776960","text":"Service Workers","size":"18"}}]}}},{"ID":"12912","typeID":"__group__","zOrder":"197","measuredW":"192","measuredH":"32","w":"192","h":"32","x":"181","y":"2375","properties":{"controlName":"100-progressive-web-apps:storage"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextInput","zOrder":"0","w":"192","measuredW":"78","measuredH":"32","x":"0","y":"0","properties":{"align":"center","color":"16776960","text":"Storage","size":"18"}}]}}},{"ID":"12913","typeID":"__group__","zOrder":"198","measuredW":"192","measuredH":"32","w":"192","h":"32","x":"181","y":"2525","properties":{"controlName":"104-progressive-web-apps:location"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextInput","zOrder":"0","w":"192","measuredW":"84","measuredH":"32","x":"0","y":"0","properties":{"align":"center","color":"16770457","text":"Location","size":"18"}}]}}},{"ID":"12914","typeID":"__group__","zOrder":"199","measuredW":"192","measuredH":"32","w":"192","h":"32","x":"181","y":"2562","properties":{"controlName":"105-progressive-web-apps:notifications"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextInput","zOrder":"0","w":"192","measuredW":"115","measuredH":"32","x":"0","y":"0","properties":{"align":"center","color":"16770457","text":"Notifications","size":"18"}}]}}},{"ID":"12915","typeID":"__group__","zOrder":"200","measuredW":"192","measuredH":"32","w":"192","h":"32","x":"181","y":"2600","properties":{"controlName":"106-progressive-web-apps:device-orientation"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextInput","zOrder":"0","w":"192","measuredW":"167","measuredH":"32","x":"0","y":"0","properties":{"align":"center","color":"16770457","text":"Device Orientation","size":"18"}}]}}},{"ID":"12916","typeID":"__group__","zOrder":"201","measuredW":"192","measuredH":"32","w":"192","h":"32","x":"181","y":"2637","properties":{"controlName":"107-progressive-web-apps:payments"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextInput","zOrder":"0","w":"192","measuredW":"94","measuredH":"32","x":"0","y":"0","properties":{"align":"center","color":"16770457","text":"Payments","size":"18"}}]}}},{"ID":"12917","typeID":"__group__","zOrder":"202","measuredW":"192","measuredH":"32","w":"192","h":"32","x":"181","y":"2675","properties":{"controlName":"108-progressive-web-apps:credentials"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextInput","zOrder":"0","w":"192","measuredW":"108","measuredH":"32","x":"0","y":"0","properties":{"align":"center","color":"16770457","text":"Credentials","size":"18"}}]}}},{"ID":"12918","typeID":"__group__","zOrder":"203","measuredW":"192","measuredH":"32","w":"192","h":"32","x":"181","y":"2412","properties":{"controlName":"101-progressive-web-apps:web-sockets"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextInput","zOrder":"0","w":"192","measuredW":"120","measuredH":"32","x":"0","y":"0","properties":{"align":"center","color":"16776960","text":"Web Sockets","size":"18"}}]}}},{"ID":"12919","typeID":"Label","zOrder":"204","w":"156","measuredW":"151","measuredH":"25","x":"199","y":"2720","properties":{"size":"17","text":"Learn different Web"}},{"ID":"12920","typeID":"Label","zOrder":"205","w":"148","measuredW":"143","measuredH":"25","x":"203","y":"2746","properties":{"size":"17","text":"APIs used in PWAs"}},{"ID":"12921","typeID":"Icon","zOrder":"206","measuredW":"24","measuredH":"24","x":"154","y":"2348","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"12922","typeID":"Icon","zOrder":"207","measuredW":"24","measuredH":"24","x":"154","y":"2348","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}},{"ID":"12923","typeID":"__group__","zOrder":"208","measuredW":"192","measuredH":"32","w":"192","h":"32","x":"181","y":"2450","properties":{"controlName":"102-progressive-web-apps:server-sent-events"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextInput","zOrder":"0","w":"192","measuredW":"170","measuredH":"32","x":"0","y":"0","properties":{"align":"center","color":"16776960","text":"Server Sent Events","size":"18"}}]}}},{"ID":"12924","typeID":"Canvas","zOrder":"209","w":"262","h":"281","measuredW":"100","measuredH":"70","x":"415","y":"2434"},{"ID":"12925","typeID":"__group__","zOrder":"210","measuredW":"225","measuredH":"32","w":"225","h":"32","x":"435","y":"2453","properties":{"controlName":"109-progressive-web-apps:prpl-pattern"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextInput","zOrder":"0","w":"225","measuredW":"124","measuredH":"32","x":"0","y":"0","properties":{"align":"center","color":"16776960","size":"18","text":"PRPL Pattern"}}]}}},{"ID":"12926","typeID":"__group__","zOrder":"211","measuredW":"225","measuredH":"32","w":"225","h":"32","x":"435","y":"2491","properties":{"controlName":"110-progressive-web-apps:rail-model"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextInput","zOrder":"0","w":"225","measuredW":"110","measuredH":"32","x":"0","y":"0","properties":{"align":"center","color":"16776960","size":"18","text":"RAIL Model"}}]}}},{"ID":"12927","typeID":"__group__","zOrder":"212","measuredW":"225","measuredH":"32","w":"225","h":"32","x":"435","y":"2529","properties":{"controlName":"111-progressive-web-apps:performance-metrics"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextInput","zOrder":"0","w":"225","measuredW":"185","measuredH":"32","x":"0","y":"0","properties":{"align":"center","color":"16776960","size":"18","text":"Performance Metrics"}}]}}},{"ID":"12928","typeID":"__group__","zOrder":"213","measuredW":"225","measuredH":"32","w":"225","h":"32","x":"435","y":"2566","properties":{"controlName":"112-progressive-web-apps:lighthouse"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextInput","zOrder":"0","w":"225","measuredW":"156","measuredH":"32","x":"0","y":"0","properties":{"align":"center","color":"16776960","size":"18","text":"Using Lighthouse"}}]}}},{"ID":"12929","typeID":"__group__","zOrder":"214","measuredW":"225","measuredH":"32","w":"225","h":"32","x":"435","y":"2604","properties":{"controlName":"113-progressive-web-apps:browser-devtools"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextInput","zOrder":"0","w":"225","measuredW":"141","measuredH":"32","x":"0","y":"0","properties":{"align":"center","color":"16776960","size":"18","text":"Using DevTools"}}]}}},{"ID":"12930","typeID":"Label","zOrder":"215","w":"185","measuredW":"176","measuredH":"25","x":"455","y":"2649","properties":{"size":"17","text":"Calculating, Measuring"}},{"ID":"12931","typeID":"Label","zOrder":"216","w":"224","measuredW":"212","measuredH":"25","x":"435","y":"2676","properties":{"size":"17","text":"and improving performance"}},{"ID":"12932","typeID":"Icon","zOrder":"217","measuredW":"24","measuredH":"24","x":"408","y":"2425","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"12933","typeID":"Icon","zOrder":"218","measuredW":"24","measuredH":"24","x":"408","y":"2425","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}},{"ID":"12934","typeID":"__group__","zOrder":"219","measuredW":"285","measuredH":"59","w":"285","h":"59","x":"692","y":"2499","properties":{"controlName":"118-server-side-rendering"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"278","h":"50","measuredW":"200","measuredH":"140","x":"7","y":"9","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"225","measuredH":"25","x":"29","y":"22","properties":{"size":"17","text":"Server Side Rendering (SSR)"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12935","typeID":"__group__","zOrder":"220","measuredW":"125","measuredH":"41","w":"125","h":"41","x":"1045","y":"2463","properties":{"controlName":"100-server-side-rendering:react-js"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"116","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"47","measuredH":"25","x":"34","y":"8","properties":{"text":"React","size":"17"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"101","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"101","y":"9","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12936","typeID":"__group__","zOrder":"221","measuredW":"116","measuredH":"41","w":"116","h":"41","x":"1207","y":"2462","properties":{"controlName":"100-server-side-rendering:react-js:next-js"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"106","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"52","measuredH":"25","x":"27","y":"8","properties":{"size":"17","text":"Next.js"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"92","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"92","y":"9","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12937","typeID":"__group__","zOrder":"222","measuredW":"127","measuredH":"41","w":"127","h":"41","x":"1045","y":"2512","properties":{"controlName":"101-server-side-rendering:angular"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"119","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"69","measuredW":"59","measuredH":"25","x":"35","y":"8","properties":{"size":"17","text":"Angular"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"103","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"103","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"103","y":"9","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12938","typeID":"__group__","zOrder":"223","measuredW":"121","measuredH":"41","w":"121","h":"41","x":"1204","y":"2512","properties":{"controlName":"100-server-side-rendering:angular:universal"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"111","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"73","measuredW":"72","measuredH":"25","x":"19","y":"8","properties":{"size":"17","text":"Universal"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"97","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"97","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"97","y":"9","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12939","typeID":"__group__","zOrder":"224","measuredW":"127","measuredH":"41","w":"127","h":"41","x":"1047","y":"2561","properties":{"controlName":"102-server-side-rendering:vue-js"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"118","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"48","measuredW":"45","measuredH":"25","x":"37","y":"8","properties":{"text":"Vue.js","size":"17"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"103","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"103","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"103","y":"9","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12940","typeID":"__group__","zOrder":"225","measuredW":"122","measuredH":"41","w":"122","h":"41","x":"1202","y":"2561","properties":{"controlName":"100-server-side-rendering:vue-js:nuxt-js"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"111","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"55","measuredW":"52","measuredH":"25","x":"28","y":"8","properties":{"size":"17","text":"Nuxt.js"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"98","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"98","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"98","y":"9","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12941","typeID":"__group__","zOrder":"226","measuredW":"220","measuredH":"59","w":"220","h":"59","x":"457","y":"2919","properties":{"controlName":"121-mobile-applications"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"210","h":"50","measuredW":"200","measuredH":"140","x":"0","y":"9","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"169","measuredW":"150","measuredH":"25","x":"27","y":"22","properties":{"size":"17","text":"Mobile Applications"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"196","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"196","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12942","typeID":"__group__","zOrder":"227","measuredW":"156","measuredH":"41","w":"156","h":"41","x":"157","y":"2844","properties":{"controlName":"100-mobile-applications:react-native"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"147","h":"41","measuredW":"200","measuredH":"140","x":"9","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"101","measuredW":"100","measuredH":"25","x":"32","y":"8","properties":{"size":"17","text":"React Native"}},{"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":"12943","typeID":"__group__","zOrder":"228","measuredW":"147","measuredH":"41","w":"147","h":"41","x":"166","y":"2984","properties":{"controlName":"101-mobile-applications:nativescript"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"147","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"94","measuredH":"25","x":"27","y":"8","properties":{"text":"NativeScript","size":"17"}}]}}},{"ID":"12944","typeID":"__group__","zOrder":"229","measuredW":"157","measuredH":"41","w":"157","h":"41","x":"156","y":"2891","properties":{"controlName":"102-mobile-applications:flutter"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"147","h":"41","measuredW":"200","measuredH":"140","x":"10","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"53","measuredW":"50","measuredH":"25","x":"57","y":"8","properties":{"size":"17","text":"Flutter"}},{"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":"12945","typeID":"__group__","zOrder":"230","measuredW":"157","measuredH":"41","w":"157","h":"41","x":"1151","y":"2960","properties":{"controlName":"105-static-site-generators:hugo"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"147","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"43","measuredW":"42","measuredH":"25","x":"52","y":"8","properties":{"size":"17","text":"Hugo"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"133","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"133","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"133","y":"9","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12946","typeID":"__group__","zOrder":"231","measuredW":"147","measuredH":"41","w":"147","h":"41","x":"166","y":"2938","properties":{"controlName":"103-mobile-applications:ionic"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"147","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"40","measuredW":"38","measuredH":"25","x":"54","y":"8","properties":{"size":"17","text":"Ionic"}}]}}},{"ID":"12947","typeID":"__group__","zOrder":"232","measuredW":"152","measuredH":"50","w":"152","h":"50","x":"802","y":"2793","properties":{"controlName":"119-graphql"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"146","h":"50","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"71","measuredH":"25","x":"37","y":"12","properties":{"size":"17","text":"GraphQL"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"128","y":"13","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"128","y":"13","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12948","typeID":"__group__","zOrder":"233","measuredW":"175","measuredH":"41","w":"175","h":"41","x":"551","y":"2840","properties":{"controlName":"101-graphql:relay-modern"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"168","h":"41","measuredW":"200","measuredH":"140","x":"7","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"115","measuredW":"107","measuredH":"25","x":"40","y":"8","properties":{"size":"17","text":"Relay Modern"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"0","y":"9","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12949","typeID":"__group__","zOrder":"234","measuredW":"238","measuredH":"60","w":"238","h":"60","x":"812","y":"2243","properties":{"controlName":"113-web-components"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"230","h":"50","measuredW":"200","measuredH":"140","x":"0","y":"10","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"137","measuredH":"25","x":"44","y":"23","properties":{"size":"17","text":"Web Components"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"214","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"214","y":"0","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12950","typeID":"__group__","zOrder":"235","measuredW":"199","measuredH":"40","w":"199","h":"40","x":"1127","y":"2211","properties":{"controlName":"100-web-components:html-templates"},"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":"132","measuredW":"131","measuredH":"25","x":"30","y":"7","properties":{"size":"17","text":"HTML Templates"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"175","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"175","y":"8","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12951","typeID":"__group__","zOrder":"236","measuredW":"199","measuredH":"40","w":"199","h":"40","x":"1127","y":"2257","properties":{"controlName":"101-web-components:custom-elements"},"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":"139","measuredW":"136","measuredH":"25","x":"30","y":"7","properties":{"size":"17","text":"Custom Elements"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"175","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"175","y":"8","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12952","typeID":"__group__","zOrder":"237","measuredW":"199","measuredH":"40","w":"199","h":"40","x":"1127","y":"2302","properties":{"controlName":"102-web-components:shadow-dom"},"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":"105","measuredW":"105","measuredH":"25","x":"38","y":"7","properties":{"size":"17","text":"Shadow DOM"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"175","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"175","y":"8","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12953","typeID":"__group__","zOrder":"238","measuredW":"156","measuredH":"43","w":"156","h":"43","x":"169","y":"1403","properties":{"controlName":"101-css-preprocessors:postcss"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"146","h":"43","measuredW":"200","measuredH":"140","x":"10","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"74","measuredW":"66","measuredH":"25","x":"49","y":"9","properties":{"size":"17","text":"PostCSS"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"10","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"10","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12954","typeID":"__group__","zOrder":"239","measuredW":"156","measuredH":"41","w":"156","h":"41","x":"169","y":"1356","properties":{"controlName":"100-css-preprocessors:sass"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"146","h":"41","measuredW":"200","measuredH":"140","x":"10","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"46","measuredW":"37","measuredH":"25","x":"60","y":"8","properties":{"size":"17","text":"Sass"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"9","properties":{"color":"10066329","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12955","typeID":"__group__","zOrder":"240","measuredW":"212","measuredH":"40","w":"212","h":"40","x":"829","y":"1874","properties":{"controlName":"102-modern-css:styled-jsx"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"201","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","w":"90","measuredW":"80","measuredH":"25","x":"56","y":"7","properties":{"size":"17","text":"Styled JSX"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"188","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"188","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"188","y":"8","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12956","typeID":"__group__","zOrder":"241","measuredW":"159","measuredH":"40","w":"159","h":"40","x":"1103","y":"1622","properties":{"controlName":"101-build-tools:module-bundlers:esbuild"},"children":{"controls":{"control":[{"ID":"1","typeID":"Label","zOrder":"0","w":"72","measuredW":"72","measuredH":"25","x":"52","y":"7","properties":{"size":"17","text":"Webpack"}},{"ID":"2","typeID":"TextArea","zOrder":"1","w":"149","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"3","typeID":"Label","zOrder":"2","measuredW":"55","measuredH":"25","x":"50","y":"7","properties":{"size":"17","text":"esbuild"}},{"ID":"4","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"135","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"5","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"135","y":"8","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12957","typeID":"__group__","zOrder":"242","measuredW":"159","measuredH":"40","w":"159","h":"40","x":"1103","y":"1577","properties":{"controlName":"104-build-tools:module-bundlers:vite"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","w":"46","measuredW":"49","measuredH":"25","x":"65","y":"7","properties":{"size":"17","text":"Parcel"}},{"ID":"1","typeID":"TextArea","zOrder":"1","w":"151","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"2","typeID":"Label","zOrder":"2","measuredW":"30","measuredH":"25","x":"53","y":"7","properties":{"size":"17","text":"Vite"}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"135","y":"7","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"135","y":"7","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"5","typeID":"Icon","zOrder":"5","measuredW":"24","measuredH":"24","x":"135","y":"7","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"10027263"}}]}}},{"ID":"12958","typeID":"__group__","zOrder":"243","measuredW":"157","measuredH":"41","w":"157","h":"41","x":"1152","y":"2685","properties":{"controlName":"107-static-site-generators:eleventy"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"147","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457","align":"center","size":"17"}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"133","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"133","y":"9","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"10027263"}},{"ID":"3","typeID":"Label","zOrder":"3","measuredW":"66","measuredH":"25","x":"41","y":"8","properties":{"text":"Eleventy","size":"17"}}]}}},{"ID":"12959","typeID":"__group__","zOrder":"244","measuredW":"158","measuredH":"49","w":"158","h":"49","x":"173","y":"1241","properties":{"controlName":"102-package-managers:pnpm"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"151","h":"49","measuredW":"200","measuredH":"140","x":"7","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"44","measuredH":"25","x":"61","y":"12","properties":{"size":"17","text":"pnpm"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"13","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"13","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"3700253"}}]}}},{"ID":"12960","typeID":"__group__","zOrder":"245","measuredW":"152","measuredH":"40","w":"152","h":"40","x":"171","y":"1627","properties":{"controlName":"103-pick-a-framework:svelte"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"145","h":"40","measuredW":"200","measuredH":"140","x":"7","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"25","x":"58","y":"7","properties":{"size":"17","text":"Svelte"}},{"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":"12961","typeID":"__group__","zOrder":"246","measuredW":"152","measuredH":"40","w":"152","h":"40","x":"171","y":"1673","properties":{"controlName":"104-pick-a-framework:solid-js"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"145","h":"40","measuredW":"200","measuredH":"140","x":"7","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"25","x":"58","y":"7","properties":{"size":"17","text":"Solid JS"}},{"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":"12962","typeID":"__group__","zOrder":"247","measuredW":"204","measuredH":"39","w":"204","h":"39","x":"1102","y":"2031","properties":{"controlName":"104-testing-your-apps:playwright"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"197","h":"39","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"78","measuredH":"25","x":"60","y":"7","properties":{"size":"17","text":"Playwright"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"180","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"180","y":"8","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12963","typeID":"__group__","zOrder":"248","measuredW":"116","measuredH":"41","w":"116","h":"41","x":"1207","y":"2415","properties":{"controlName":"101-server-side-rendering:react-js:remix"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"106","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"49","measuredH":"25","x":"28","y":"8","properties":{"size":"17","text":"Remix"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"92","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"92","y":"9","properties":{"color":"10027263","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12964","typeID":"__group__","zOrder":"249","measuredW":"159","measuredH":"41","w":"159","h":"41","x":"1151","y":"3054","properties":{"controlName":"103-static-site-generators:remix"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"148","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"49","measuredH":"25","x":"49","y":"8","properties":{"size":"17","text":"Remix"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"135","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"135","y":"9","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"3700253"}}]}}},{"ID":"12965","typeID":"__group__","zOrder":"250","measuredW":"196","measuredH":"41","w":"196","h":"41","x":"775","y":"3086","properties":{"controlName":"102-desktop-applications:flutter"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"188","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"50","measuredH":"25","x":"69","y":"8","properties":{"size":"17","text":"Flutter"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"172","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"172","y":"8","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"40463"}}]}}},{"ID":"12966","typeID":"__group__","zOrder":"251","measuredW":"157","measuredH":"41","w":"157","h":"41","x":"1153","y":"2730","properties":{"controlName":"106-static-site-generators:astro"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"147","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"39","measuredH":"25","x":"54","y":"8","properties":{"size":"17","text":"Astro"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"133","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"133","y":"9","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"10027263"}}]}}},{"ID":"12967","typeID":"__group__","zOrder":"252","measuredW":"128","measuredH":"40","w":"128","h":"40","x":"1047","y":"2611","properties":{"controlName":"103-server-side-rendering:svelte"},"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","measuredW":"48","measuredH":"25","x":"36","y":"7","properties":{"size":"17","text":"Svelte"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"104","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"104","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"104","y":"8","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12968","typeID":"__group__","zOrder":"253","measuredW":"122","measuredH":"41","w":"122","h":"41","x":"1203","y":"2610","properties":{"controlName":"100-server-side-rendering:svelte:svelte-kit"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"111","h":"41","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"73","measuredH":"25","x":"17","y":"8","properties":{"size":"17","text":"Svelte Kit"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"98","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"98","y":"9","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"98","y":"9","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12969","typeID":"__group__","zOrder":"254","measuredW":"411","measuredH":"87","w":"411","h":"87","x":"156","y":"2225","properties":{"controlName":"116-auth-strategies"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"401","h":"87","measuredW":"200","measuredH":"140","x":"10","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"227","measuredH":"28","x":"97","y":"16","properties":{"size":"20","text":"Authentication Strategies"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"34","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"0","y":"34","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"10027263"}},{"ID":"4","typeID":"Label","zOrder":"4","measuredW":"353","measuredH":"25","x":"34","y":"46","properties":{"size":"17","text":"JWT, OAuth, SSO, Basic Auth, Session Auth etc"}}]}}},{"ID":"12970","typeID":"__group__","zOrder":"255","measuredW":"333","measuredH":"228","w":"333","h":"228","x":"176","y":"1824","properties":{"controlName":"114-css-frameworks:js-first"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"333","h":"228","measuredW":"200","measuredH":"140","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"263","measuredH":"24","x":"19","y":"163","properties":{"size":"16","text":"JS based and better to use with your"}},{"ID":"2","typeID":"Label","zOrder":"2","measuredW":"247","measuredH":"24","x":"19","y":"189","properties":{"size":"16","text":"framework based JavaScript apps."}}]}}},{"ID":"12971","typeID":"__group__","zOrder":"256","measuredW":"145","measuredH":"40","w":"145","h":"40","x":"352","y":"1840","properties":{"controlName":"100-css-frameworks:js-first:tailwind-css"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"136","h":"40","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"25","x":"37","y":"7","properties":{"size":"17","text":"Tailwind"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"121","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"121","y":"8","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"121","y":"8","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"10027263"}}]}}},{"ID":"12972","typeID":"__group__","zOrder":"257","measuredW":"150","measuredH":"37","w":"150","h":"37","x":"352","y":"1887","properties":{"controlName":"102-css-frameworks:js-first:material-ui"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"137","h":"37","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"86","measuredH":"25","x":"26","y":"6","properties":{"size":"17","text":"Material UI"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"126","y":"7","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"126","y":"7","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"126","y":"7","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12973","typeID":"__group__","zOrder":"258","measuredW":"157","measuredH":"39","w":"157","h":"39","x":"188","y":"1841","properties":{"controlName":"104-css-frameworks:js-first:mantine"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"149","h":"39","measuredW":"200","measuredH":"140","x":"8","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"63","measuredH":"25","x":"51","y":"7","properties":{"size":"17","text":"Mantine"}},{"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":"12974","typeID":"__group__","zOrder":"259","measuredW":"149","measuredH":"37","w":"149","h":"37","x":"352","y":"1932","properties":{"controlName":"103-css-frameworks:js-first:radix-ui"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"139","h":"37","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"66","measuredH":"25","x":"34","y":"6","properties":{"size":"17","text":"Radix UI"}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"125","y":"7","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"3","typeID":"Icon","zOrder":"3","measuredW":"24","measuredH":"24","x":"125","y":"7","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"4","typeID":"Icon","zOrder":"4","measuredW":"24","measuredH":"24","x":"125","y":"7","properties":{"color":"3700253","icon":{"ID":"check-circle","size":"small"}}}]}}},{"ID":"12975","typeID":"__group__","zOrder":"260","measuredW":"161","measuredH":"39","w":"161","h":"39","x":"184","y":"1886","properties":{"controlName":"101-css-frameworks:js-first:chakra-ui"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"152","h":"39","measuredW":"200","measuredH":"140","x":"9","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"78","measuredH":"25","x":"44","y":"8","properties":{"size":"17","text":"Chakra UI"}},{"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":"12976","typeID":"__group__","zOrder":"261","measuredW":"161","measuredH":"39","w":"161","h":"39","x":"185","y":"1931","properties":{"controlName":"105-css-frameworks:js-first:daisy-ui"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"152","h":"39","measuredW":"200","measuredH":"140","x":"9","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"60","measuredH":"25","x":"55","y":"8","properties":{"size":"17","text":"DaisyUI"}},{"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":"12977","typeID":"TextArea","zOrder":"262","w":"438","h":"118","measuredW":"200","measuredH":"140","x":"371","y":"3383"},{"ID":"12978","typeID":"Label","zOrder":"263","measuredW":"366","measuredH":"25","x":"407","y":"3402","properties":{"size":"17","text":"Continue Learning with following relevant tracks"}},{"ID":"12979","typeID":"__group__","zOrder":"264","measuredW":"198","measuredH":"44","w":"198","h":"44","x":"594","y":"3439","properties":{"controlName":"ext_link:roadmap.sh/nodejs"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"198","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"137","measuredH":"25","x":"30","y":"9","properties":{"size":"17","text":"Node.js Roadmap"}}]}}},{"ID":"12980","typeID":"__group__","zOrder":"265","measuredW":"198","measuredH":"44","w":"198","h":"44","x":"386","y":"3439","properties":{"controlName":"ext_link:roadmap.sh/typescript"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"198","h":"44","measuredW":"200","measuredH":"140","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"160","measuredH":"25","x":"21","y":"9","properties":{"size":"17","text":"TypeScript Roadmap"}}]}}},{"ID":"12981","typeID":"Arrow","zOrder":"266","w":"1","h":"67","measuredW":"150","measuredH":"100","x":"1028","y":"3540","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"16777215","p0":{"x":1,"y":67.09090909090901},"p1":{"x":0.4072427393330943,"y":0.00953746862674794},"p2":{"x":1,"y":0}}},{"ID":"12985","typeID":"__group__","zOrder":"267","measuredW":"262","measuredH":"47","w":"262","h":"47","x":"415","y":"2720","properties":{"controlName":"ext_link:roadmap.sh/best-practices/frontend-performance"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"262","h":"47","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"4273622","borderColor":"4273622"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"216","measuredH":"25","x":"23","y":"11","properties":{"size":"17","text":"Performance Best Practices","color":"16777215"}}]}}}]},"attributes":{"name":"New Wireframe 1 copy","order":1000022.7455786733,"parentID":null,"notes":""},"branchID":"Master","resourceID":"8024860B-B61F-451D-B579-28AA621BB239","mockupH":"3436","mockupW":"1172","measuredW":"1326","measuredH":"3607","version":"1.0"},"groupOffset":{"x":0,"y":0},"dependencies":[],"projectID":"file:///Users/kamranahmed/Desktop/devops%20roadmap%5C.bmpr"} \ No newline at end of file diff --git a/scripts/compress-jsons.cjs b/scripts/compress-jsons.cjs deleted file mode 100644 index 8a13c95d2..000000000 --- a/scripts/compress-jsons.cjs +++ /dev/null @@ -1,19 +0,0 @@ -const fs = require('node:fs'); -const path = require('node:path'); - -const jsonsDir = path.join(process.cwd(), 'public/jsons'); -const childJsonDirs = fs.readdirSync(jsonsDir); - -childJsonDirs.forEach((childJsonDir) => { - const fullChildJsonDirPath = path.join(jsonsDir, childJsonDir); - const jsonFiles = fs.readdirSync(fullChildJsonDirPath); - - jsonFiles.forEach((jsonFileName) => { - console.log(`Compressing ${jsonFileName}...`); - - const jsonFilePath = path.join(fullChildJsonDirPath, jsonFileName); - const json = require(jsonFilePath); - - fs.writeFileSync(jsonFilePath, JSON.stringify(json)); - }); -}); diff --git a/src/components/FrameRenderer/FrameRenderer.astro b/src/components/FrameRenderer/FrameRenderer.astro index 153b5efb9..b96c8383f 100644 --- a/src/components/FrameRenderer/FrameRenderer.astro +++ b/src/components/FrameRenderer/FrameRenderer.astro @@ -5,14 +5,13 @@ import './FrameRenderer.css'; export interface Props { resourceType: 'roadmap' | 'best-practice'; resourceId: string; - jsonUrl: string; dimensions?: { width: number; height: number; }; } -const { resourceId, resourceType, jsonUrl, dimensions = null } = Astro.props; +const { resourceId, resourceType, dimensions = null } = Astro.props; ---

diff --git a/src/components/FrameRenderer/renderer.ts b/src/components/FrameRenderer/renderer.ts index 9f6c8ee39..9cf5effb9 100644 --- a/src/components/FrameRenderer/renderer.ts +++ b/src/components/FrameRenderer/renderer.ts @@ -51,7 +51,6 @@ export class Renderer { this.resourceType = dataset.resourceType!; this.resourceId = dataset.resourceId!; - this.jsonUrl = dataset.jsonUrl!; return true; } @@ -130,13 +129,19 @@ export class Renderer { this.trackVisit(); if (roadmapType) { - this.switchRoadmap(`/jsons/roadmaps/${roadmapType}.json`); + this.switchRoadmap(`/${roadmapType}.json`); } else { - this.jsonToSvg(this.jsonUrl); + this.jsonToSvg( + this.resourceType === 'roadmap' + ? `/${this.resourceId}.json` + : `/best-practices/${this.resourceId}.json` + ); } } switchRoadmap(newJsonUrl: string) { + this.containerEl?.setAttribute('style', ''); + const newJsonFileSlug = newJsonUrl.split('/').pop()?.replace('.json', ''); // Update the URL and attach the new roadmap type @@ -145,25 +150,15 @@ export class Renderer { const type = this.resourceType[0]; // r for roadmap, b for best-practices url.searchParams.delete(type); - url.searchParams.set(type, newJsonFileSlug!); + + if (newJsonFileSlug !== this.resourceId) { + url.searchParams.set(type, newJsonFileSlug!); + } window.history.pushState(null, '', url.toString()); } - const pageType = this.resourceType.replace(/\b\w/g, (l) => l.toUpperCase()); - - window.fireEvent({ - // RoadmapClick, BestPracticesClick, etc - category: `${pageType.replace('-', '')}Click`, - // roadmap/frontend/switch-version - action: `${this.resourceId}/switch-version`, - // roadmap/frontend/switch-version - label: `${newJsonFileSlug}`, - }); - - this.jsonToSvg(newJsonUrl)?.then(() => { - this.containerEl?.setAttribute('style', ''); - }); + this.jsonToSvg(newJsonUrl)?.then(() => {}); } handleSvgClick(e: any) { diff --git a/public/jsons/best-practices/api-security.json b/src/data/best-practices/api-security/api-security.json similarity index 100% rename from public/jsons/best-practices/api-security.json rename to src/data/best-practices/api-security/api-security.json diff --git a/public/jsons/best-practices/aws.json b/src/data/best-practices/aws/aws.json similarity index 100% rename from public/jsons/best-practices/aws.json rename to src/data/best-practices/aws/aws.json diff --git a/public/jsons/best-practices/code-review.json b/src/data/best-practices/code-review/code-review.json similarity index 100% rename from public/jsons/best-practices/code-review.json rename to src/data/best-practices/code-review/code-review.json diff --git a/public/jsons/best-practices/frontend-performance.json b/src/data/best-practices/frontend-performance/frontend-performance.json similarity index 100% rename from public/jsons/best-practices/frontend-performance.json rename to src/data/best-practices/frontend-performance/frontend-performance.json diff --git a/public/jsons/roadmaps/android.json b/src/data/roadmaps/android/android.json similarity index 100% rename from public/jsons/roadmaps/android.json rename to src/data/roadmaps/android/android.json diff --git a/public/jsons/roadmaps/angular.json b/src/data/roadmaps/angular/angular.json similarity index 100% rename from public/jsons/roadmaps/angular.json rename to src/data/roadmaps/angular/angular.json diff --git a/public/jsons/roadmaps/aspnet-core.json b/src/data/roadmaps/aspnet-core/aspnet-core.json similarity index 100% rename from public/jsons/roadmaps/aspnet-core.json rename to src/data/roadmaps/aspnet-core/aspnet-core.json diff --git a/public/jsons/roadmaps/backend.json b/src/data/roadmaps/backend/backend.json similarity index 100% rename from public/jsons/roadmaps/backend.json rename to src/data/roadmaps/backend/backend.json diff --git a/public/jsons/roadmaps/blockchain.json b/src/data/roadmaps/blockchain/blockchain.json similarity index 100% rename from public/jsons/roadmaps/blockchain.json rename to src/data/roadmaps/blockchain/blockchain.json diff --git a/public/jsons/roadmaps/code-review.json b/src/data/roadmaps/code-review/code-review.json similarity index 100% rename from public/jsons/roadmaps/code-review.json rename to src/data/roadmaps/code-review/code-review.json diff --git a/public/jsons/roadmaps/computer-science.json b/src/data/roadmaps/computer-science/computer-science.json similarity index 100% rename from public/jsons/roadmaps/computer-science.json rename to src/data/roadmaps/computer-science/computer-science.json diff --git a/public/jsons/roadmaps/cpp.json b/src/data/roadmaps/cpp/cpp.json similarity index 100% rename from public/jsons/roadmaps/cpp.json rename to src/data/roadmaps/cpp/cpp.json diff --git a/public/jsons/roadmaps/cyber-security.json b/src/data/roadmaps/cyber-security/cyber-security.json similarity index 100% rename from public/jsons/roadmaps/cyber-security.json rename to src/data/roadmaps/cyber-security/cyber-security.json diff --git a/public/jsons/roadmaps/design-system.json b/src/data/roadmaps/design-system/design-system.json similarity index 100% rename from public/jsons/roadmaps/design-system.json rename to src/data/roadmaps/design-system/design-system.json diff --git a/public/jsons/roadmaps/devops.json b/src/data/roadmaps/devops/devops.json similarity index 100% rename from public/jsons/roadmaps/devops.json rename to src/data/roadmaps/devops/devops.json diff --git a/public/jsons/roadmaps/docker.json b/src/data/roadmaps/docker/docker.json similarity index 100% rename from public/jsons/roadmaps/docker.json rename to src/data/roadmaps/docker/docker.json diff --git a/public/jsons/roadmaps/flutter.json b/src/data/roadmaps/flutter/flutter.json similarity index 100% rename from public/jsons/roadmaps/flutter.json rename to src/data/roadmaps/flutter/flutter.json diff --git a/src/data/roadmaps/frontend/frontend-beginner.json b/src/data/roadmaps/frontend/frontend-beginner.json new file mode 100644 index 000000000..0cd4d5d63 --- /dev/null +++ b/src/data/roadmaps/frontend/frontend-beginner.json @@ -0,0 +1,1921 @@ +{ + "mockup": { + "controls": { + "control": [ + { + "ID": "3958", + "typeID": "Arrow", + "zOrder": "0", + "w": "1", + "h": "146", + "measuredW": "150", + "measuredH": "100", + "x": "793", + "y": "1128", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "40463", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5000000000000006, + "y": -1.5906276266511649e-18 + }, + "p2": { + "x": 0, + "y": 145.92702085489077 + } + } + }, + { + "ID": "3959", + "typeID": "Arrow", + "zOrder": "1", + "w": "1", + "h": "71", + "measuredW": "150", + "measuredH": "100", + "x": "789", + "y": "1520", + "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": "3960", + "typeID": "Arrow", + "zOrder": "2", + "w": "87", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "459", + "y": "1171", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "13369344", + "p0": { + "x": 87, + "y": -0.3333333333334849 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": -0.3333333333333144, + "y": -0.3333333333334849 + } + } + }, + { + "ID": "3961", + "typeID": "Arrow", + "zOrder": "3", + "w": "88", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "704", + "y": "1170", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "40463", + "p0": { + "x": 87.60000000000002, + "y": -0.3030303030302548 + }, + "p1": { + "x": 0.49999999999999994, + "y": 0 + }, + "p2": { + "x": -0.33333333333337123, + "y": -0.3030303030302548 + } + } + }, + { + "ID": "3962", + "typeID": "Arrow", + "zOrder": "4", + "w": "88", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "705", + "y": "998", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "40463", + "p0": { + "x": 87.60000000000002, + "y": -0.3030303030302548 + }, + "p1": { + "x": 0.49999999999999994, + "y": 0 + }, + "p2": { + "x": -0.33333333333337123, + "y": -0.3030303030302548 + } + } + }, + { + "ID": "3963", + "typeID": "Arrow", + "zOrder": "5", + "w": "1", + "h": "73", + "measuredW": "150", + "measuredH": "100", + "x": "676", + "y": "1003", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": -0.39999999999997726, + "y": -0.3030303030302548 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": -0.39999999999997726, + "y": 72.66666666666674 + }, + "stroke": "dotted", + "color": "40463" + } + }, + { + "ID": "3964", + "typeID": "Arrow", + "zOrder": "6", + "w": "98", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "1036", + "y": "1089", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 97.60000000000002, + "y": -0.3030303030302548 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": -0.4545454545454959, + "y": -0.30303030303031164 + }, + "stroke": "dotted" + } + }, + { + "ID": "3965", + "typeID": "Arrow", + "zOrder": "7", + "w": "98", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "794", + "y": "1089", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 97.60000000000002, + "y": -0.3030303030302548 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": -0.4545454545454959, + "y": -0.30303030303031164 + } + } + }, + { + "ID": "3966", + "typeID": "Arrow", + "zOrder": "8", + "w": "1", + "h": "73", + "measuredW": "150", + "measuredH": "100", + "x": "676", + "y": "841", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": -0.39999999999997726, + "y": -0.3030303030302548 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": -0.39999999999997726, + "y": 72.66666666666674 + }, + "stroke": "dotted", + "color": "40463" + } + }, + { + "ID": "3967", + "typeID": "Arrow", + "zOrder": "9", + "w": "131", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "662", + "y": "724", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 131, + "y": -0.21212121212124657 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 0.3030303030302548, + "y": -0.21212121212124657 + }, + "color": "40463" + } + }, + { + "ID": "3968", + "typeID": "Arrow", + "zOrder": "10", + "w": "147", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "646", + "y": "594", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 147, + "y": 0 + }, + "p1": { + "x": 0.5010198135198135, + "y": -0.0010307153164296314 + }, + "p2": { + "x": 0, + "y": 0 + }, + "color": "40463" + } + }, + { + "ID": "3969", + "typeID": "Arrow", + "zOrder": "11", + "w": "98", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "793", + "y": "834", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 97.60000000000002, + "y": -0.3030303030302548 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": -0.4545454545454959, + "y": -0.30303030303031164 + }, + "color": "10027263" + } + }, + { + "ID": "3970", + "typeID": "Arrow", + "zOrder": "12", + "w": "87", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "705", + "y": "660", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 87, + "y": 0 + }, + "p1": { + "x": 0.5010198135198135, + "y": -0.0010307153164296314 + }, + "p2": { + "x": -0.2533333333333303, + "y": 0 + }, + "color": "40463" + } + }, + { + "ID": "3971", + "typeID": "__group__", + "zOrder": "13", + "measuredW": "144", + "measuredH": "40", + "w": "144", + "h": "40", + "x": "726", + "y": "413", + "properties": { + "controlName": "ext_link:roadmap.sh/frontend" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Label", + "zOrder": "0", + "measuredW": "144", + "measuredH": "40", + "x": "0", + "y": "0", + "properties": { + "size": "32", + "text": "Front-end" + } + } + ] + } + } + }, + { + "ID": "3972", + "typeID": "__group__", + "zOrder": "14", + "measuredW": "124", + "measuredH": "49", + "w": "124", + "h": "49", + "x": "617", + "y": "634", + "properties": { + "controlName": "102-css" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "124", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "33", + "measuredH": "25", + "x": "45", + "y": "12", + "properties": { + "size": "17", + "text": "CSS" + } + } + ] + } + } + }, + { + "ID": "3973", + "typeID": "Canvas", + "zOrder": "15", + "w": "324", + "h": "195", + "measuredW": "100", + "measuredH": "70", + "x": "993", + "y": "291" + }, + { + "ID": "3974", + "typeID": "Label", + "zOrder": "16", + "measuredW": "283", + "measuredH": "26", + "x": "1011", + "y": "310", + "properties": { + "size": "18", + "text": "For resources and other roadmaps" + } + }, + { + "ID": "3975", + "typeID": "__group__", + "zOrder": "17", + "measuredW": "172", + "measuredH": "28", + "w": "172", + "h": "28", + "x": "1011", + "y": "343", + "properties": { + "controlName": "ext_link:roadmap.sh" + }, + "children": { + "controls": { + "control": [ + { + "ID": "2", + "typeID": "Label", + "zOrder": "0", + "measuredW": "172", + "measuredH": "28", + "x": "0", + "y": "0", + "properties": { + "size": "20", + "text": "https://roadmap.sh", + "color": "10027263" + } + } + ] + } + } + }, + { + "ID": "3976", + "typeID": "__group__", + "zOrder": "18", + "measuredW": "282", + "measuredH": "47", + "w": "282", + "h": "47", + "x": "1011", + "y": "418", + "properties": { + "controlName": "json:frontend.json" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "282", + "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": "39", + "y": "11", + "properties": { + "color": "16777215", + "size": "18", + "text": "Visit the Detailed Version" + } + } + ] + } + } + }, + { + "ID": "3977", + "typeID": "Label", + "zOrder": "19", + "measuredW": "259", + "measuredH": "26", + "x": "1011", + "y": "383", + "properties": { + "color": "4985136", + "size": "18", + "text": "Beginner who wants to step up?" + } + }, + { + "ID": "3978", + "typeID": "__group__", + "zOrder": "20", + "measuredW": "127", + "measuredH": "50", + "w": "127", + "h": "50", + "x": "615", + "y": "698", + "properties": { + "controlName": "103-javascript" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "127", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "81", + "measuredH": "25", + "x": "23", + "y": "13", + "properties": { + "size": "17", + "text": "JavaScript" + } + } + ] + } + } + }, + { + "ID": "3979", + "typeID": "__group__", + "zOrder": "21", + "measuredW": "95", + "measuredH": "49", + "w": "95", + "h": "49", + "x": "840", + "y": "809", + "properties": { + "controlName": "100-version-control-systems:basic-usage-of-git" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "95", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "22", + "measuredH": "25", + "x": "37", + "y": "12", + "properties": { + "size": "17", + "text": "Git" + } + } + ] + } + } + }, + { + "ID": "3980", + "typeID": "Canvas", + "zOrder": "22", + "w": "380", + "h": "150", + "measuredW": "100", + "measuredH": "70", + "x": "232", + "y": "320" + }, + { + "ID": "3981", + "typeID": "Label", + "zOrder": "23", + "measuredW": "187", + "measuredH": "32", + "x": "260", + "y": "345", + "properties": { + "size": "24", + "text": "Beginner Version" + } + }, + { + "ID": "3982", + "typeID": "__group__", + "zOrder": "24", + "measuredW": "213", + "measuredH": "53", + "w": "213", + "h": "53", + "x": "529", + "y": "970", + "properties": { + "controlName": "111-pick-a-framework" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "213", + "h": "53", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "168", + "measuredH": "25", + "x": "23", + "y": "14", + "properties": { + "size": "17", + "text": "Frontend Frameworks" + } + } + ] + } + } + }, + { + "ID": "3983", + "typeID": "__group__", + "zOrder": "25", + "measuredW": "98", + "measuredH": "49", + "w": "98", + "h": "49", + "x": "634", + "y": "1056", + "properties": { + "controlName": "100-pick-a-framework:react-js" + }, + "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": "47", + "measuredH": "25", + "x": "25", + "y": "12", + "properties": { + "text": "React", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3984", + "typeID": "__group__", + "zOrder": "26", + "measuredW": "212", + "measuredH": "50", + "w": "212", + "h": "50", + "x": "849", + "y": "1063", + "properties": { + "controlName": "114-css-frameworks" + }, + "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": "131", + "measuredH": "25", + "x": "40", + "y": "13", + "properties": { + "size": "17", + "text": "CSS Frameworks" + } + } + ] + } + } + }, + { + "ID": "3985", + "typeID": "__group__", + "zOrder": "27", + "measuredW": "99", + "measuredH": "49", + "w": "99", + "h": "49", + "x": "393", + "y": "1146", + "properties": { + "controlName": "100-testing-your-apps:jest" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "99", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "39", + "measuredW": "33", + "measuredH": "25", + "x": "30", + "y": "12", + "properties": { + "size": "17", + "text": "Jest" + } + } + ] + } + } + }, + { + "ID": "3986", + "typeID": "__group__", + "zOrder": "28", + "measuredW": "214", + "measuredH": "49", + "w": "214", + "h": "49", + "x": "527", + "y": "1146", + "properties": { + "controlName": "115-testing-your-apps" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "214", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "144", + "measuredH": "26", + "x": "35", + "y": "11", + "properties": { + "size": "18", + "text": "Testing your Apps" + } + } + ] + } + } + }, + { + "ID": "3987", + "typeID": "__group__", + "zOrder": "29", + "measuredW": "100", + "measuredH": "49", + "w": "100", + "h": "49", + "x": "1089", + "y": "1065", + "properties": { + "controlName": "100-css-frameworks:js-first:tailwind-css" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "100", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "61", + "measuredH": "25", + "x": "19", + "y": "12", + "properties": { + "size": "17", + "text": "Tailwind" + } + } + ] + } + } + }, + { + "ID": "3988", + "typeID": "Label", + "zOrder": "30", + "measuredW": "319", + "measuredH": "28", + "x": "260", + "y": "386", + "properties": { + "color": "4985136", + "size": "20", + "text": "This is the trimmed down version of" + } + }, + { + "ID": "3989", + "typeID": "Label", + "zOrder": "31", + "measuredW": "327", + "measuredH": "28", + "x": "260", + "y": "417", + "properties": { + "color": "4985136", + "size": "20", + "text": "the frontend roadmap for beginners." + } + }, + { + "ID": "3990", + "typeID": "Arrow", + "zOrder": "32", + "w": "1", + "h": "59", + "measuredW": "150", + "measuredH": "100", + "x": "793", + "y": "340", + "properties": { + "p0": { + "x": 0, + "y": -0.30303030303031164 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 0, + "y": 58.78787878787875 + }, + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "40463" + } + }, + { + "ID": "3991", + "typeID": "Arrow", + "zOrder": "33", + "w": "1", + "h": "333", + "measuredW": "150", + "measuredH": "100", + "x": "793", + "y": "462", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 0, + "y": -0.06060606060606233 + }, + "p1": { + "x": 0.5000000000000008, + "y": -1.5906276266511653e-18 + }, + "p2": { + "x": 0, + "y": 332.66666666666663 + }, + "color": "40463" + } + }, + { + "ID": "3992", + "typeID": "__group__", + "zOrder": "34", + "measuredW": "125", + "measuredH": "49", + "w": "125", + "h": "49", + "x": "616", + "y": "569", + "properties": { + "controlName": "101-html" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "125", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "48", + "measuredH": "25", + "x": "39", + "y": "12", + "properties": { + "size": "17", + "text": "HTML" + } + } + ] + } + } + }, + { + "ID": "3993", + "typeID": "Label", + "zOrder": "35", + "measuredW": "378", + "measuredH": "26", + "x": "847", + "y": "587", + "properties": { + "color": "4985136", + "size": "18", + "text": "You should be able to find an internee or junior" + } + }, + { + "ID": "3994", + "typeID": "Label", + "zOrder": "36", + "measuredW": "333", + "measuredH": "26", + "x": "847", + "y": "619", + "properties": { + "color": "4985136", + "size": "18", + "text": "Frontend developer position at this point." + } + }, + { + "ID": "3995", + "typeID": "Label", + "zOrder": "37", + "measuredW": "428", + "measuredH": "26", + "x": "847", + "y": "662", + "properties": { + "size": "18", + "text": "Start applying for jobs and keep following to increase", + "color": "40463" + } + }, + { + "ID": "3996", + "typeID": "Label", + "zOrder": "38", + "measuredW": "276", + "measuredH": "26", + "x": "847", + "y": "695", + "properties": { + "size": "18", + "color": "40463", + "text": "your chances of finding a position." + } + }, + { + "ID": "3997", + "typeID": "Label", + "zOrder": "39", + "measuredW": "348", + "measuredH": "26", + "x": "216", + "y": "612", + "properties": { + "color": "4985136", + "size": "18", + "text": "When you are following this roadmap, make" + } + }, + { + "ID": "3998", + "typeID": "Label", + "zOrder": "40", + "measuredW": "338", + "measuredH": "26", + "x": "226", + "y": "645", + "properties": { + "color": "4985136", + "size": "18", + "text": "sure to build as many projects as possible" + } + }, + { + "ID": "3999", + "typeID": "Label", + "zOrder": "41", + "measuredW": "340", + "measuredH": "26", + "x": "224", + "y": "726", + "properties": { + "size": "18", + "color": "13576743", + "text": "Click the roadmap nodes for project ideas" + } + }, + { + "ID": "4000", + "typeID": "Label", + "zOrder": "42", + "measuredW": "145", + "measuredH": "32", + "x": "419", + "y": "568", + "properties": { + "color": "4985136", + "size": "24", + "text": "Important Tip" + } + }, + { + "ID": "4001", + "typeID": "Label", + "zOrder": "43", + "measuredW": "278", + "measuredH": "26", + "x": "970", + "y": "769", + "properties": { + "color": "4985136", + "size": "18", + "text": "Create your GitHub profile. Publish" + } + }, + { + "ID": "4002", + "typeID": "Label", + "zOrder": "44", + "measuredW": "300", + "measuredH": "26", + "x": "970", + "y": "799", + "properties": { + "color": "4985136", + "size": "18", + "text": "the projects that you have developed" + } + }, + { + "ID": "4003", + "typeID": "Label", + "zOrder": "45", + "measuredW": "229", + "measuredH": "26", + "x": "970", + "y": "829", + "properties": { + "color": "4985136", + "size": "18", + "text": "so far to your GitHub profile." + } + }, + { + "ID": "4004", + "typeID": "Label", + "zOrder": "46", + "measuredW": "249", + "measuredH": "26", + "x": "970", + "y": "869", + "properties": { + "size": "18", + "text": "Use git for your future projects.", + "color": "10027263" + } + }, + { + "ID": "4005", + "typeID": "Arrow", + "zOrder": "47", + "w": "84", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "706", + "y": "933", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "40463", + "p0": { + "x": 83.60000000000002, + "y": -0.3030303030302548 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 0, + "y": -0.3030303030302548 + } + } + }, + { + "ID": "4006", + "typeID": "__group__", + "zOrder": "48", + "measuredW": "211", + "measuredH": "53", + "w": "211", + "h": "53", + "x": "530", + "y": "906", + "properties": { + "controlName": "107-package-managers" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "211", + "h": "53", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "149", + "measuredH": "25", + "x": "31", + "y": "14", + "properties": { + "text": "Package Managers", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "4007", + "typeID": "__group__", + "zOrder": "49", + "measuredW": "103", + "measuredH": "49", + "w": "103", + "h": "49", + "x": "625", + "y": "817", + "properties": { + "controlName": "100-package-managers:npm" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "103", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "36", + "measuredW": "34", + "measuredH": "25", + "x": "34", + "y": "12", + "properties": { + "size": "17", + "text": "npm" + } + } + ] + } + } + }, + { + "ID": "4008", + "typeID": "Arrow", + "zOrder": "50", + "w": "1", + "h": "57", + "measuredW": "150", + "measuredH": "100", + "x": "793", + "y": "804", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 0, + "y": -0.06060606060606233 + }, + "p1": { + "x": 0.5000000000000006, + "y": -1.590627626651165e-18 + }, + "p2": { + "x": 0, + "y": 56.66666666666663 + }, + "color": "10027263" + } + }, + { + "ID": "4009", + "typeID": "Arrow", + "zOrder": "51", + "w": "1", + "h": "184", + "measuredW": "150", + "measuredH": "100", + "x": "793", + "y": "874", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "40463", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5000000000000007, + "y": -1.5906276266511654e-18 + }, + "p2": { + "x": 0, + "y": 184 + } + } + }, + { + "ID": "4010", + "typeID": "Arrow", + "zOrder": "52", + "w": "1", + "h": "44", + "measuredW": "150", + "measuredH": "100", + "x": "793", + "y": "1070", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0, + "y": 0.33333333333325754 + }, + "p1": { + "x": 0.5000000000000006, + "y": 0 + }, + "p2": { + "x": 0, + "y": 44 + } + } + }, + { + "ID": "4011", + "typeID": "Label", + "zOrder": "53", + "measuredW": "291", + "measuredH": "26", + "x": "194", + "y": "906", + "properties": { + "color": "4985136", + "size": "18", + "text": "npm should be a quick one. Just get" + } + }, + { + "ID": "4012", + "typeID": "Label", + "zOrder": "54", + "measuredW": "272", + "measuredH": "26", + "x": "213", + "y": "937", + "properties": { + "color": "4985136", + "size": "18", + "text": "the basic idea and jump to React." + } + }, + { + "ID": "4013", + "typeID": "Label", + "zOrder": "55", + "measuredW": "266", + "measuredH": "26", + "x": "219", + "y": "983", + "properties": { + "size": "18", + "color": "40463", + "text": "Create some projects with React" + } + }, + { + "ID": "4014", + "typeID": "Label", + "zOrder": "56", + "measuredW": "179", + "measuredH": "26", + "x": "306", + "y": "1013", + "properties": { + "size": "18", + "color": "40463", + "text": "involving API calls etc." + } + }, + { + "ID": "4015", + "typeID": "Label", + "zOrder": "57", + "measuredW": "242", + "measuredH": "26", + "x": "322", + "y": "675", + "properties": { + "color": "4985136", + "size": "18", + "text": "for each node of the roadmap" + } + }, + { + "ID": "4016", + "typeID": "Label", + "zOrder": "58", + "measuredW": "427", + "measuredH": "26", + "x": "851", + "y": "989", + "properties": { + "color": "4985136", + "size": "18", + "text": "There are several CSS frameworks. You can pick any." + } + }, + { + "ID": "4017", + "typeID": "Label", + "zOrder": "59", + "measuredW": "390", + "measuredH": "26", + "x": "851", + "y": "1019", + "properties": { + "color": "4985136", + "size": "18", + "text": "Tailwind would be my personal recommendation." + } + }, + { + "ID": "4018", + "typeID": "Label", + "zOrder": "60", + "measuredW": "323", + "measuredH": "26", + "x": "851", + "y": "1157", + "properties": { + "color": "4985136", + "size": "18", + "text": "May not be required for a junior position" + } + }, + { + "ID": "4019", + "typeID": "Arrow", + "zOrder": "61", + "w": "2", + "h": "89", + "measuredW": "150", + "measuredH": "100", + "x": "788", + "y": "1673", + "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": "4020", + "typeID": "TextArea", + "zOrder": "62", + "w": "499", + "h": "118", + "measuredW": "200", + "measuredH": "140", + "x": "539", + "y": "1586" + }, + { + "ID": "4021", + "typeID": "Label", + "zOrder": "63", + "measuredW": "431", + "measuredH": "25", + "x": "573", + "y": "1605", + "properties": { + "size": "17", + "text": "Look at the detailed version for what else you don’t know" + } + }, + { + "ID": "4022", + "typeID": "__group__", + "zOrder": "64", + "measuredW": "430", + "measuredH": "44", + "w": "430", + "h": "44", + "x": "574", + "y": "1640", + "properties": { + "controlName": "json:jsons/roadmaps/frontend.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": "149", + "measuredH": "25", + "x": "140", + "y": "9", + "properties": { + "size": "17", + "text": "Frontend Roadmap" + } + } + ] + } + } + }, + { + "ID": "4023", + "typeID": "Arrow", + "zOrder": "65", + "w": "2", + "h": "89", + "measuredW": "150", + "measuredH": "100", + "x": "831", + "y": "1740", + "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": "16777215" + } + }, + { + "ID": "4024", + "typeID": "Arrow", + "zOrder": "66", + "w": "2", + "h": "89", + "measuredW": "150", + "measuredH": "100", + "x": "179", + "y": "1265", + "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": "16777215" + } + }, + { + "ID": "4025", + "typeID": "Arrow", + "zOrder": "67", + "w": "2", + "h": "89", + "measuredW": "150", + "measuredH": "100", + "x": "1336", + "y": "1321", + "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": "16777215" + } + }, + { + "ID": "4026", + "typeID": "TextArea", + "zOrder": "68", + "w": "613", + "h": "246", + "measuredW": "200", + "measuredH": "140", + "x": "486", + "y": "1273" + }, + { + "ID": "4027", + "typeID": "Label", + "zOrder": "69", + "measuredW": "532", + "measuredH": "26", + "x": "518", + "y": "1339", + "properties": { + "color": "4985136", + "size": "18", + "text": "At this point, you should have enough knowledge to find a junior to" + } + }, + { + "ID": "4028", + "typeID": "Label", + "zOrder": "70", + "measuredW": "529", + "measuredH": "26", + "x": "518", + "y": "1369", + "properties": { + "color": "4985136", + "size": "18", + "text": "mid-level (maybe even senior) frontend developer position at any" + } + }, + { + "ID": "4029", + "typeID": "Label", + "zOrder": "71", + "measuredW": "441", + "measuredH": "26", + "x": "518", + "y": "1399", + "properties": { + "color": "4985136", + "size": "18", + "text": "company (depending on the depth of your knowledge)." + } + }, + { + "ID": "4030", + "typeID": "Label", + "zOrder": "72", + "measuredW": "116", + "measuredH": "32", + "x": "518", + "y": "1295", + "properties": { + "color": "4985136", + "size": "24", + "text": "Job Ready" + } + }, + { + "ID": "4031", + "typeID": "Label", + "zOrder": "73", + "measuredW": "536", + "measuredH": "26", + "x": "518", + "y": "1441", + "properties": { + "size": "18", + "color": "10027263", + "text": "Deepen your pool of knowledge and keep building projects till you" + } + }, + { + "ID": "4032", + "typeID": "Label", + "zOrder": "74", + "measuredW": "360", + "measuredH": "26", + "x": "518", + "y": "1470", + "properties": { + "size": "18", + "color": "10027263", + "text": "find a job. Your job will teach you a lot as well." + } + } + ] + }, + "attributes": { + "name": "New Wireframe 9 copy 7", + "order": 1000156.2209166192, + "parentID": null, + "notes": null + }, + "branchID": "Master", + "resourceID": "057DB19F-D6AC-44FC-8C5C-52D4D800A91B", + "mockupH": "1538", + "mockupW": "1159", + "measuredW": "1338", + "measuredH": "1829", + "version": "1.0" + }, + "groupOffset": { + "x": 0, + "y": 0 + }, + "dependencies": [], + "projectID": "file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr" +} diff --git a/src/data/roadmaps/frontend/frontend.json b/src/data/roadmaps/frontend/frontend.json new file mode 100644 index 000000000..bd718b0ad --- /dev/null +++ b/src/data/roadmaps/frontend/frontend.json @@ -0,0 +1,14265 @@ +{ + "mockup": { + "controls": { + "control": [ + { + "ID": "3690", + "typeID": "Arrow", + "zOrder": "0", + "w": "309", + "h": "4", + "measuredW": "150", + "measuredH": "100", + "x": "563", + "y": "2299", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 309, + "y": 0 + }, + "p1": { + "x": 0.47704880470480404, + "y": 0.005193614908729892 + }, + "p2": { + "x": 0.25353038260061567, + "y": 3.4362035980902874 + } + } + }, + { + "ID": "3691", + "typeID": "Arrow", + "zOrder": "1", + "w": "179", + "h": "123", + "measuredW": "150", + "measuredH": "100", + "x": "557", + "y": "2156", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": -0.2145043524983521, + "y": 123.4387467621832 + }, + "p1": { + "x": 0.5230101676333169, + "y": -0.19478326314466354 + }, + "p2": { + "x": 179, + "y": 0 + } + } + }, + { + "ID": "3692", + "typeID": "Arrow", + "zOrder": "2", + "w": "65", + "h": "2", + "measuredW": "150", + "measuredH": "100", + "x": "1176", + "y": "2651", + "properties": { + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.4807692307692308, + "y": -0.01923076923076923 + }, + "p2": { + "x": 64, + "y": 1 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3693", + "typeID": "Arrow", + "zOrder": "3", + "w": "101", + "h": "39", + "measuredW": "150", + "measuredH": "100", + "x": "975", + "y": "2501", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 101.53298940730701, + "y": -0.4603981095092422 + }, + "p1": { + "x": 0.5036496350364975, + "y": 0.06360792492179564 + }, + "p2": { + "x": 0.4884249128083411, + "y": 38.51393390979774 + } + } + }, + { + "ID": "3694", + "typeID": "Arrow", + "zOrder": "4", + "w": "122", + "h": "32", + "measuredW": "150", + "measuredH": "100", + "x": "685", + "y": "3098", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.2570801773204039, + "y": 0.27390737805444587 + }, + "p1": { + "x": 0.490691474468782, + "y": 0.06808089415982024 + }, + "p2": { + "x": 121.64515133802809, + "y": 32.10715730089032 + } + } + }, + { + "ID": "3695", + "typeID": "Arrow", + "zOrder": "5", + "w": "180", + "h": "369", + "measuredW": "150", + "measuredH": "100", + "x": "1000", + "y": "2730", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 180.33312546195043, + "y": 369.1629038835017 + }, + "p1": { + "x": 0.5311058790594242, + "y": 0.05504224965971112 + }, + "p2": { + "x": 0.024041521385697706, + "y": 0.016603653832135024 + } + } + }, + { + "ID": "3696", + "typeID": "Arrow", + "zOrder": "6", + "w": "91", + "h": "44", + "measuredW": "150", + "measuredH": "100", + "x": "1153", + "y": "2448", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 91.2836149319719, + "y": -0.42601596895428884 + }, + "p1": { + "x": 0.4807260155574767, + "y": 0.1446845289541901 + }, + "p2": { + "x": 0.03815966742740784, + "y": 43.87863921953385 + } + } + }, + { + "ID": "3697", + "typeID": "Arrow", + "zOrder": "7", + "w": "1", + "h": "464", + "measuredW": "150", + "measuredH": "100", + "x": "584", + "y": "2979", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5232912494558118, + "y": 0.0013060513713539397 + }, + "p2": { + "x": 0, + "y": 464.4848484848485 + } + } + }, + { + "ID": "3698", + "typeID": "Arrow", + "zOrder": "8", + "w": "159", + "h": "4", + "measuredW": "150", + "measuredH": "100", + "x": "685", + "y": "3080", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.44614540796908386, + "y": 3.8064134624410144 + }, + "p1": { + "x": 0.4319942611190816, + "y": -0.006169296987087544 + }, + "p2": { + "x": 159.7751756755747, + "y": 0 + } + } + }, + { + "ID": "3699", + "typeID": "Arrow", + "zOrder": "9", + "w": "142", + "h": "44", + "measuredW": "150", + "measuredH": "100", + "x": "668", + "y": "3031", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.2570801773204039, + "y": 43.273907378054446 + }, + "p1": { + "x": 0.4540886815248379, + "y": -0.08069525981073665 + }, + "p2": { + "x": 142, + "y": 0 + } + } + }, + { + "ID": "3700", + "typeID": "Arrow", + "zOrder": "10", + "w": "2", + "h": "89", + "measuredW": "150", + "measuredH": "100", + "x": "584", + "y": "3490", + "properties": { + "color": "2848996", + "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" + } + }, + { + "ID": "3701", + "typeID": "__group__", + "zOrder": "11", + "measuredW": "248", + "measuredH": "59", + "w": "248", + "h": "59", + "x": "454", + "y": "3051", + "properties": { + "controlName": "122-desktop-applications" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "241", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "9", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "162", + "measuredH": "25", + "x": "47", + "y": "22", + "properties": { + "size": "17", + "text": "Desktop Applications" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3702", + "typeID": "__group__", + "zOrder": "12", + "measuredW": "196", + "measuredH": "41", + "w": "196", + "h": "41", + "x": "795", + "y": "3014", + "properties": { + "controlName": "100-desktop-applications:electron" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "188", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "69", + "measuredW": "65", + "measuredH": "25", + "x": "63", + "y": "8", + "properties": { + "size": "17", + "text": "Electron" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "172", + "y": "7", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "172", + "y": "7", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3703", + "typeID": "__group__", + "zOrder": "13", + "measuredW": "221", + "measuredH": "50", + "w": "221", + "h": "50", + "x": "464", + "y": "3247", + "properties": { + "controlName": "123-bonus-content" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "210", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "11", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "115", + "measuredH": "25", + "x": "58", + "y": "12", + "properties": { + "size": "17", + "text": "Bonus Content" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "13", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "13", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3704", + "typeID": "__group__", + "zOrder": "14", + "measuredW": "196", + "measuredH": "41", + "w": "196", + "h": "41", + "x": "795", + "y": "3060", + "properties": { + "controlName": "101-desktop-applications:tauri" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "188", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "38", + "measuredH": "25", + "x": "75", + "y": "8", + "properties": { + "size": "17", + "text": "Tauri" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "172", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "172", + "y": "8", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "40463" + } + } + ] + } + } + }, + { + "ID": "3705", + "typeID": "Arrow", + "zOrder": "15", + "w": "237", + "h": "128", + "measuredW": "150", + "measuredH": "100", + "x": "675", + "y": "2848", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 236.93170111364998, + "y": 0.019905173764982464 + }, + "p1": { + "x": 0.4776994561390996, + "y": 0.17651148133814792 + }, + "p2": { + "x": 0.11074525562162307, + "y": 126.11937517609203 + } + } + }, + { + "ID": "3706", + "typeID": "Arrow", + "zOrder": "16", + "w": "1", + "h": "105", + "measuredW": "150", + "measuredH": "100", + "x": "930", + "y": "2731", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 1, + "y": 105.13396175095886 + }, + "p1": { + "x": 0.47704880470480404, + "y": 0.005193614908729857 + }, + "p2": { + "x": 1, + "y": 0 + } + } + }, + { + "ID": "3707", + "typeID": "Arrow", + "zOrder": "17", + "w": "120", + "h": "182", + "measuredW": "150", + "measuredH": "100", + "x": "1060", + "y": "2725", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 120, + "y": 182 + }, + "p1": { + "x": 0.5641506862188896, + "y": 0.10909777122517159 + }, + "p2": { + "x": 0.40915526260198476, + "y": 0.23807505235299686 + } + } + }, + { + "ID": "3708", + "typeID": "Arrow", + "zOrder": "18", + "w": "141", + "h": "261", + "measuredW": "150", + "measuredH": "100", + "x": "1030", + "y": "2731", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 141, + "y": 261 + }, + "p1": { + "x": 0.5842350949114499, + "y": 0.06027644608497023 + }, + "p2": { + "x": -0.3468130306484909, + "y": 0.38926871100329663 + } + } + }, + { + "ID": "3709", + "typeID": "Arrow", + "zOrder": "19", + "w": "164", + "h": "305", + "measuredW": "150", + "measuredH": "100", + "x": "1013", + "y": "2738", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 163.5, + "y": 305 + }, + "p1": { + "x": 0.5311058790594241, + "y": 0.05504224965971115 + }, + "p2": { + "x": -0.2625955919362468, + "y": -0.45953763034685835 + } + } + }, + { + "ID": "3710", + "typeID": "Arrow", + "zOrder": "20", + "w": "112", + "h": "38", + "measuredW": "150", + "measuredH": "100", + "x": "726", + "y": "2849", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 112.50398196586139, + "y": 0.4821067591024075 + }, + "p1": { + "x": 0.5064432989690714, + "y": -0.10824742268041054 + }, + "p2": { + "x": 0.2446976954972797, + "y": 37.3892687110033 + } + } + }, + { + "ID": "3711", + "typeID": "Arrow", + "zOrder": "21", + "w": "184", + "h": "318", + "measuredW": "150", + "measuredH": "100", + "x": "753", + "y": "2408", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 183.53647574825027, + "y": 318.53383041542565 + }, + "p1": { + "x": 0.4830556042799506, + "y": 0.1764076477810915 + }, + "p2": { + "x": 0.5384644034102166, + "y": 0.20955858028401053 + } + } + }, + { + "ID": "3712", + "typeID": "Arrow", + "zOrder": "22", + "w": "102", + "h": "42", + "measuredW": "150", + "measuredH": "100", + "x": "967", + "y": "2560", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 102.31552051484277, + "y": 41.58416638498966 + }, + "p1": { + "x": 0.4148642429820512, + "y": -0.09226875287620818 + }, + "p2": { + "x": -0.17253775814867822, + "y": -0.27715319130265925 + } + } + }, + { + "ID": "3713", + "typeID": "Arrow", + "zOrder": "23", + "w": "108", + "h": "88", + "measuredW": "150", + "measuredH": "100", + "x": "965", + "y": "2564", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 108.64600185032123, + "y": 88.10644863223888 + }, + "p1": { + "x": 0.41486424298205093, + "y": -0.09226875287620795 + }, + "p2": { + "x": 0.38396846335854207, + "y": 0.05332814417579357 + } + } + }, + { + "ID": "3714", + "typeID": "Arrow", + "zOrder": "24", + "w": "1", + "h": "105", + "measuredW": "150", + "measuredH": "100", + "x": "938", + "y": "2300", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 1, + "y": 105.13396175095886 + }, + "p1": { + "x": 0.47704880470480404, + "y": 0.005193614908729857 + }, + "p2": { + "x": 1, + "y": 0 + } + } + }, + { + "ID": "3715", + "typeID": "Arrow", + "zOrder": "25", + "w": "2", + "h": "235", + "measuredW": "150", + "measuredH": "100", + "x": "422", + "y": "1795", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.260934347128682, + "y": -0.43825342894501773 + }, + "p1": { + "x": 0.43339050633562626, + "y": 0.007133769851020942 + }, + "p2": { + "x": -0.260934347128682, + "y": 234.2072671834119 + } + } + }, + { + "ID": "3716", + "typeID": "Arrow", + "zOrder": "26", + "w": "413", + "h": "47", + "measuredW": "150", + "measuredH": "100", + "x": "453", + "y": "1733", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 0.32780458177427363, + "y": 46.53523054117568 + }, + "p1": { + "x": 0.45894348755426007, + "y": 0.060942254353755484 + }, + "p2": { + "x": 413.65560916354855, + "y": 8.213447334918555 + } + } + }, + { + "ID": "3717", + "typeID": "Arrow", + "zOrder": "27", + "w": "1", + "h": "102", + "measuredW": "150", + "measuredH": "100", + "x": "954", + "y": "1732", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.260934347128682, + "y": -0.43825342894501773 + }, + "p1": { + "x": 0.4333905063356263, + "y": 0.007133769851020943 + }, + "p2": { + "x": -0.260934347128682, + "y": 101.80609466350643 + } + } + }, + { + "ID": "3718", + "typeID": "Arrow", + "zOrder": "28", + "w": "130", + "h": "172", + "measuredW": "150", + "measuredH": "100", + "x": "1010", + "y": "1630", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.3622961870130439, + "y": 0.35400305967436907 + }, + "p1": { + "x": 0.45588235294117685, + "y": 0.07352941176470515 + }, + "p2": { + "x": 130.38263206538568, + "y": 172.802027487832 + } + } + }, + { + "ID": "3719", + "typeID": "Arrow", + "zOrder": "29", + "w": "103", + "h": "125", + "measuredW": "150", + "measuredH": "100", + "x": "1032", + "y": "1630", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.26045801916006894, + "y": 0.35400305967436907 + }, + "p1": { + "x": 0.45588235294117674, + "y": 0.0735294117647052 + }, + "p2": { + "x": 102.90809160734898, + "y": 124.8997984800103 + } + } + }, + { + "ID": "3720", + "typeID": "Arrow", + "zOrder": "30", + "w": "88", + "h": "71", + "measuredW": "150", + "measuredH": "100", + "x": "1050", + "y": "1637", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.052714507779455744, + "y": 0.19717863222035703 + }, + "p1": { + "x": 0.45588235294117674, + "y": 0.0735294117647052 + }, + "p2": { + "x": 87.64536183636733, + "y": 71.36620458669813 + } + } + }, + { + "ID": "3721", + "typeID": "Arrow", + "zOrder": "31", + "w": "77", + "h": "33", + "measuredW": "150", + "measuredH": "100", + "x": "1069", + "y": "1631", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.21360611090813109, + "y": 0.7226381741836576 + }, + "p1": { + "x": 0.34627916069334047, + "y": 0.08067248794474031 + }, + "p2": { + "x": 76.8571725234226, + "y": 33.04442138044078 + } + } + }, + { + "ID": "3722", + "typeID": "Arrow", + "zOrder": "32", + "w": "83", + "h": "4", + "measuredW": "150", + "measuredH": "100", + "x": "1064", + "y": "1613", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.260934347128682, + "y": -0.43825342894501773 + }, + "p1": { + "x": 0.4310686842693701, + "y": -0.01854562577101437 + }, + "p2": { + "x": 82.75126717989497, + "y": 3.553612219705883 + } + } + }, + { + "ID": "3723", + "typeID": "Arrow", + "zOrder": "33", + "w": "250", + "h": "78", + "measuredW": "150", + "measuredH": "100", + "x": "329", + "y": "1639", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.2179908385617182, + "y": 77.94665038826247 + }, + "p1": { + "x": 0.46280569852413056, + "y": 0.04229310438161035 + }, + "p2": { + "x": 250.24223511661944, + "y": -0.06555113876129326 + } + } + }, + { + "ID": "3724", + "typeID": "Arrow", + "zOrder": "34", + "w": "252", + "h": "42", + "measuredW": "150", + "measuredH": "100", + "x": "330", + "y": "1633", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.1506442759475135, + "y": 41.51896183847771 + }, + "p1": { + "x": 0.4628056985241305, + "y": 0.0422931043816104 + }, + "p2": { + "x": 252.39905954407345, + "y": -0.4891725128713915 + } + } + }, + { + "ID": "3725", + "typeID": "Arrow", + "zOrder": "35", + "w": "238", + "h": "77", + "measuredW": "150", + "measuredH": "100", + "x": "333", + "y": "1525", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.11208549503413678, + "y": 0.337734356976398 + }, + "p1": { + "x": 0.46318687896564104, + "y": -0.04633065964324165 + }, + "p2": { + "x": 238.03042442956428, + "y": 76.98130076949064 + } + } + }, + { + "ID": "3726", + "typeID": "Arrow", + "zOrder": "36", + "w": "244", + "h": "41", + "measuredW": "150", + "measuredH": "100", + "x": "323", + "y": "1569", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.3074687034015824, + "y": 0.1340580212702207 + }, + "p1": { + "x": 0.4718266633930761, + "y": -0.03283820279891953 + }, + "p2": { + "x": 243.92451908603675, + "y": 41.19311145654592 + } + } + }, + { + "ID": "3727", + "typeID": "Arrow", + "zOrder": "37", + "w": "253", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "319", + "y": "1621", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.20156335987400098, + "y": 1.4049221436009702 + }, + "p1": { + "x": 0.46937327878105334, + "y": 0.004541857492184635 + }, + "p2": { + "x": 253.39905954407345, + "y": 1.5108274871286085 + } + } + }, + { + "ID": "3728", + "typeID": "Arrow", + "zOrder": "38", + "w": "135", + "h": "53", + "measuredW": "150", + "measuredH": "100", + "x": "739", + "y": "1574", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.3725435141941489, + "y": 0.23996336479785896 + }, + "p1": { + "x": 0.4960254372019082, + "y": 0.07419183889772205 + }, + "p2": { + "x": 135.8674198506036, + "y": 53.61673283065602 + } + } + }, + { + "ID": "3729", + "typeID": "Arrow", + "zOrder": "39", + "w": "119", + "h": "59", + "measuredW": "150", + "measuredH": "100", + "x": "749", + "y": "1498", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.047010684241513445, + "y": 58.44770687617847 + }, + "p1": { + "x": 0.5673179018899986, + "y": -0.10798471012953849 + }, + "p2": { + "x": 119.02424427805772, + "y": -0.40360304771661504 + } + } + }, + { + "ID": "3730", + "typeID": "Arrow", + "zOrder": "40", + "w": "89", + "h": "4", + "measuredW": "150", + "measuredH": "100", + "x": "1053", + "y": "1509", + "properties": { + "color": "10027263", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 89.03433282924925, + "y": 0 + }, + "p1": { + "x": 0.5653893258184628, + "y": -0.0013183529417352127 + }, + "p2": { + "x": 0.07305038615209014, + "y": 3.863193898939471 + } + } + }, + { + "ID": "3731", + "typeID": "Arrow", + "zOrder": "41", + "w": "100", + "h": "41", + "measuredW": "150", + "measuredH": "100", + "x": "1041", + "y": "1462", + "properties": { + "color": "10027263", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 99.66569771474019, + "y": 0.2236946620996605 + }, + "p1": { + "x": 0.4596243377749227, + "y": 0.08508588858564752 + }, + "p2": { + "x": -0.24466564443059724, + "y": 41.28274809737536 + } + } + }, + { + "ID": "3732", + "typeID": "Arrow", + "zOrder": "42", + "w": "133", + "h": "3", + "measuredW": "150", + "measuredH": "100", + "x": "750", + "y": "1565", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.3216244302676614, + "y": 2.5026931357795092 + }, + "p1": { + "x": 0.4743412204498641, + "y": -0.008947430290275333 + }, + "p2": { + "x": 133, + "y": 0 + } + } + }, + { + "ID": "3733", + "typeID": "__group__", + "zOrder": "43", + "measuredW": "225", + "measuredH": "50", + "w": "225", + "h": "50", + "x": "851", + "y": "1481", + "properties": { + "controlName": "102-build-tools:linters-formatters" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "225", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "176", + "measuredH": "25", + "x": "25", + "y": "13", + "properties": { + "size": "17", + "text": "Linters and Formatters" + } + } + ] + } + } + }, + { + "ID": "3734", + "typeID": "__group__", + "zOrder": "44", + "measuredW": "155", + "measuredH": "40", + "w": "155", + "h": "40", + "x": "1124", + "y": "1448", + "properties": { + "controlName": "100-build-tools:linters-formatters:prettier" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "145", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "66", + "measuredW": "58", + "measuredH": "25", + "x": "44", + "y": "7", + "properties": { + "size": "17", + "text": "Prettier" + } + }, + { + "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": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10066329" + } + } + ] + } + } + }, + { + "ID": "3735", + "typeID": "__group__", + "zOrder": "45", + "measuredW": "155", + "measuredH": "40", + "w": "155", + "h": "40", + "x": "1124", + "y": "1493", + "properties": { + "controlName": "101-build-tools:linters-formatters:eslint" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "145", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "53", + "measuredW": "51", + "measuredH": "25", + "x": "46", + "y": "7", + "properties": { + "size": "17", + "text": "ESLint" + } + }, + { + "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": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10066329" + } + } + ] + } + } + }, + { + "ID": "3736", + "typeID": "Arrow", + "zOrder": "46", + "w": "94", + "h": "177", + "measuredW": "150", + "measuredH": "100", + "x": "544", + "y": "1394", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": -0.342277860619447, + "y": -0.4198717504148135 + }, + "p1": { + "x": 0.5100925147182503, + "y": -0.13330529857022685 + }, + "p2": { + "x": 94.09354504051441, + "y": 176.13405802127022 + } + } + }, + { + "ID": "3737", + "typeID": "Arrow", + "zOrder": "47", + "w": "144", + "h": "47", + "measuredW": "150", + "measuredH": "100", + "x": "333", + "y": "1403", + "properties": { + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 143.59460152843042, + "y": -0.36895266648821234 + }, + "p1": { + "x": 0.5621049174944583, + "y": -0.05820540185534891 + }, + "p2": { + "x": -0.11208549503413678, + "y": 46.16464122682419 + } + } + }, + { + "ID": "3738", + "typeID": "Arrow", + "zOrder": "48", + "w": "131", + "h": "101", + "measuredW": "150", + "measuredH": "100", + "x": "340", + "y": "1174", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 131.85733129941207, + "y": 100.92842748572161 + }, + "p1": { + "x": 0.5179188602929944, + "y": 0.05890610549143938 + }, + "p2": { + "x": 0.46836030653014404, + "y": -0.3505709879580081 + } + } + }, + { + "ID": "3739", + "typeID": "Arrow", + "zOrder": "49", + "w": "140", + "h": "56", + "measuredW": "150", + "measuredH": "100", + "x": "334", + "y": "1228", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 139.22596641392124, + "y": 56.50887328728595 + }, + "p1": { + "x": 0.5179188602929942, + "y": 0.0589061054914393 + }, + "p2": { + "x": -0.3748152660157871, + "y": 0.3948335924094408 + } + } + }, + { + "ID": "3740", + "typeID": "Arrow", + "zOrder": "50", + "w": "167", + "h": "7", + "measuredW": "150", + "measuredH": "100", + "x": "321", + "y": "1287", + "properties": { + "color": "2848996", + "curvature": "-1", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.44343003361676714, + "y": 0.014243775690876877 + }, + "p2": { + "x": 167.28095267352228, + "y": 7.089319088850289 + } + } + }, + { + "ID": "3741", + "typeID": "Arrow", + "zOrder": "51", + "w": "130", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "351", + "y": "1342", + "properties": { + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 129.700506871958, + "y": 0 + }, + "p1": { + "x": 0.47348089180528574, + "y": 0.0008969445600114837 + }, + "p2": { + "x": 0, + "y": 0 + } + } + }, + { + "ID": "3742", + "typeID": "Arrow", + "zOrder": "52", + "w": "105", + "h": "43", + "measuredW": "150", + "measuredH": "100", + "x": "1052", + "y": "2249", + "properties": { + "color": "10027263", + "curvature": "-1", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 42 + }, + "p1": { + "x": 0.3246422893481717, + "y": 0.04197138314785374 + }, + "p2": { + "x": 104, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3743", + "typeID": "Arrow", + "zOrder": "53", + "w": "128", + "h": "9", + "measuredW": "150", + "measuredH": "100", + "x": "1040", + "y": "2295", + "properties": { + "color": "10027263", + "curvature": "-1", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 8 + }, + "p1": { + "x": 0.3321152059461133, + "y": 0.04465778878909879 + }, + "p2": { + "x": 127, + "y": 4 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3744", + "typeID": "Arrow", + "zOrder": "54", + "w": "129", + "h": "34", + "measuredW": "150", + "measuredH": "100", + "x": "1041", + "y": "2310", + "properties": { + "color": "10027263", + "curvature": "0", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.3458601686475002, + "y": -0.005245335635083992 + }, + "p2": { + "x": 128, + "y": 33 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3745", + "typeID": "Arrow", + "zOrder": "55", + "w": "209", + "h": "108", + "measuredW": "150", + "measuredH": "100", + "x": "663", + "y": "1624", + "properties": { + "color": "2848996", + "curvature": "-1", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 209.13014962158525, + "y": 107.63300153335422 + }, + "p1": { + "x": 0.5705193330544435, + "y": 0.04891531703818817 + }, + "p2": { + "x": -0.2710228983202114, + "y": -0.4891725128713915 + } + } + }, + { + "ID": "3746", + "typeID": "Arrow", + "zOrder": "56", + "w": "90", + "h": "2", + "measuredW": "150", + "measuredH": "100", + "x": "1053", + "y": "1561", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.4213496222886306, + "y": 0.18497710519682187 + }, + "p1": { + "x": 0.4310686842693701, + "y": -0.01854562577101436 + }, + "p2": { + "x": 90.75126717989497, + "y": 1.553612219705883 + } + } + }, + { + "ID": "3747", + "typeID": "Arrow", + "zOrder": "57", + "w": "160", + "h": "3", + "measuredW": "150", + "measuredH": "100", + "x": "323", + "y": "1393", + "properties": { + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 160.43777710097635, + "y": 0.050601531947449985 + }, + "p1": { + "x": 0.4806472503297293, + "y": -0.001432629622812211 + }, + "p2": { + "x": 0.3074687034015824, + "y": 3 + } + } + }, + { + "ID": "3748", + "typeID": "Arrow", + "zOrder": "58", + "w": "1", + "h": "123", + "measuredW": "150", + "measuredH": "100", + "x": "917", + "y": "1152", + "properties": { + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.4327183610207736, + "y": 0.0030579658389972178 + }, + "p2": { + "x": 0, + "y": 122.50887328728595 + } + } + }, + { + "ID": "3749", + "typeID": "Arrow", + "zOrder": "59", + "w": "211", + "h": "128", + "measuredW": "150", + "measuredH": "100", + "x": "552", + "y": "1155", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 211, + "y": 0 + }, + "p1": { + "x": 0.5569070155556886, + "y": -0.16942743759521814 + }, + "p2": { + "x": -0.130467173564341, + "y": 127.72068397434123 + } + } + }, + { + "ID": "3750", + "typeID": "__group__", + "zOrder": "60", + "measuredW": "158", + "measuredH": "49", + "w": "158", + "h": "49", + "x": "194", + "y": "1207", + "properties": { + "controlName": "101-package-managers:yarn" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "151", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "33", + "measuredH": "25", + "x": "66", + "y": "12", + "properties": { + "text": "yarn", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "13", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "13", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + }, + { + "ID": "3751", + "typeID": "Arrow", + "zOrder": "61", + "w": "109", + "h": "161", + "measuredW": "150", + "measuredH": "100", + "x": "788", + "y": "971", + "properties": { + "color": "2848996", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5674918262494162, + "y": 0.22092480149462868 + }, + "p2": { + "x": 102, + "y": 160 + }, + "rightArrow": "false" + } + }, + { + "ID": "3752", + "typeID": "Arrow", + "zOrder": "62", + "w": "1", + "h": "77", + "measuredW": "150", + "measuredH": "100", + "x": "1154", + "y": "974", + "properties": { + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 76 + }, + "p1": { + "x": 0.487275195113675, + "y": -0.01187648456057007 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3753", + "typeID": "Arrow", + "zOrder": "63", + "w": "85", + "h": "3", + "measuredW": "150", + "measuredH": "100", + "x": "885", + "y": "958", + "properties": { + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 83, + "y": 1 + }, + "p1": { + "x": 0.4872751951136748, + "y": -0.01187648456057007 + }, + "p2": { + "x": 0, + "y": 1 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3754", + "typeID": "Arrow", + "zOrder": "64", + "w": "2", + "h": "74", + "measuredW": "150", + "measuredH": "100", + "x": "662", + "y": "964", + "properties": { + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 1, + "y": 73 + }, + "p1": { + "x": 0.4872751951136749, + "y": -0.01187648456057007 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3755", + "typeID": "Arrow", + "zOrder": "65", + "w": "120", + "h": "3", + "measuredW": "150", + "measuredH": "100", + "x": "812", + "y": "746", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "p0": { + "x": 119, + "y": 2 + }, + "p1": { + "x": 0.5436210493779461, + "y": 0.006954640290549417 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3756", + "typeID": "Arrow", + "zOrder": "66", + "w": "108", + "h": "5", + "measuredW": "150", + "measuredH": "100", + "x": "823", + "y": "693", + "properties": { + "color": "2848996", + "leftArrow": "false", + "p0": { + "x": 107, + "y": 2 + }, + "p1": { + "x": 0.589278350515464, + "y": 0.035876288659793816 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3757", + "typeID": "Arrow", + "zOrder": "67", + "w": "100", + "h": "45", + "measuredW": "150", + "measuredH": "100", + "x": "823", + "y": "647", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 99, + "y": 0 + }, + "p1": { + "x": 0.5773195876288659, + "y": -0.06466729147141519 + }, + "p2": { + "x": 0, + "y": 44 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3758", + "typeID": "Arrow", + "zOrder": "68", + "w": "40", + "h": "139", + "measuredW": "150", + "measuredH": "100", + "x": "696", + "y": "530", + "properties": { + "color": "2848996", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5674918262494162, + "y": 0.22092480149462868 + }, + "p2": { + "x": 15, + "y": 138 + }, + "rightArrow": "false" + } + }, + { + "ID": "3759", + "typeID": "Arrow", + "zOrder": "69", + "w": "151", + "h": "29", + "measuredW": "150", + "measuredH": "100", + "x": "777", + "y": "522", + "properties": { + "color": "2848996", + "leftArrow": "false", + "p0": { + "x": 150, + "y": 28 + }, + "p1": { + "x": 0.4823054457996908, + "y": 0.02336368321594228 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3760", + "typeID": "Arrow", + "zOrder": "70", + "w": "153", + "h": "13", + "measuredW": "150", + "measuredH": "100", + "x": "779", + "y": "505", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 152, + "y": 0 + }, + "p1": { + "x": 0.4798692360633173, + "y": -0.004989676531314521 + }, + "p2": { + "x": 0, + "y": 12 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3761", + "typeID": "Arrow", + "zOrder": "71", + "h": "60", + "measuredW": "150", + "measuredH": "100", + "x": "777", + "y": "456", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 149, + "y": 0 + }, + "p1": { + "x": 0.4552212800557556, + "y": -0.05494250203275647 + }, + "p2": { + "x": 0, + "y": 59 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3762", + "typeID": "Arrow", + "zOrder": "72", + "w": "134", + "h": "36", + "measuredW": "150", + "measuredH": "100", + "x": "487", + "y": "523", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 132, + "y": 0 + }, + "p1": { + "x": 0.4652789342214826, + "y": -0.001332223147377271 + }, + "p2": { + "x": 0, + "y": 34 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3763", + "typeID": "Arrow", + "zOrder": "73", + "w": "131", + "h": "9", + "measuredW": "150", + "measuredH": "100", + "x": "487", + "y": "510", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "p0": { + "x": 129, + "y": 7 + }, + "p1": { + "x": 0.4652789342214826, + "y": -0.001332223147377271 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3764", + "typeID": "Arrow", + "zOrder": "74", + "w": "143", + "h": "53", + "measuredW": "150", + "measuredH": "100", + "x": "477", + "y": "463", + "properties": { + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 141, + "y": 51 + }, + "p1": { + "x": 0.45522128005575574, + "y": -0.054942502032756434 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3765", + "typeID": "Arrow", + "zOrder": "75", + "w": "45", + "h": "139", + "measuredW": "150", + "measuredH": "100", + "x": "674", + "y": "367", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 44, + "y": 0 + }, + "p1": { + "x": 0.540933899332929, + "y": -0.1946634323832626 + }, + "p2": { + "x": 16, + "y": 138 + }, + "rightArrow": "false" + } + }, + { + "ID": "3766", + "typeID": "HRule", + "zOrder": "76", + "measuredW": "100", + "measuredH": "10", + "x": "1176", + "y": "794", + "properties": { + "color": "10027263", + "stroke": "dotted" + } + }, + { + "ID": "3767", + "typeID": "Arrow", + "zOrder": "77", + "w": "71", + "h": "134", + "measuredW": "150", + "measuredH": "100", + "x": "686", + "y": "805", + "properties": { + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 9, + "y": 0 + }, + "p1": { + "x": 0.5549276224469561, + "y": -0.26264128494943484 + }, + "p2": { + "x": 70, + "y": 133 + }, + "rightArrow": "false" + } + }, + { + "ID": "3768", + "typeID": "Arrow", + "zOrder": "78", + "w": "130", + "h": "213", + "measuredW": "150", + "measuredH": "100", + "x": "468", + "y": "816", + "properties": { + "color": "2848996", + "curvature": "-1", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 129, + "y": 0 + }, + "p1": { + "x": 0.5007550539904198, + "y": 0.04527076398473655 + }, + "p2": { + "x": 0, + "y": 212 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3769", + "typeID": "Arrow", + "zOrder": "79", + "w": "110", + "h": "157", + "measuredW": "150", + "measuredH": "100", + "x": "482", + "y": "809", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 109, + "y": 0 + }, + "p1": { + "x": 0.46686783637115814, + "y": 0.0018494634122600195 + }, + "p2": { + "x": 0, + "y": 156 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3770", + "typeID": "Arrow", + "zOrder": "80", + "w": "119", + "h": "120", + "measuredW": "150", + "measuredH": "100", + "x": "474", + "y": "802", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 118, + "y": 0 + }, + "p1": { + "x": 0.46376334167874567, + "y": -0.006127289497957557 + }, + "p2": { + "x": 0, + "y": 119 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3771", + "typeID": "Arrow", + "zOrder": "81", + "w": "128", + "h": "82", + "measuredW": "150", + "measuredH": "100", + "x": "469", + "y": "791", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 127, + "y": 0 + }, + "p1": { + "x": 0.4682571775171856, + "y": 0.0018196522442377747 + }, + "p2": { + "x": 0, + "y": 81 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3772", + "typeID": "Arrow", + "zOrder": "82", + "w": "123", + "h": "34", + "measuredW": "150", + "measuredH": "100", + "x": "469", + "y": "793", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 122, + "y": 0 + }, + "p1": { + "x": 0.4501850789844116, + "y": 0.009280016683176094 + }, + "p2": { + "x": 0, + "y": 33 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3773", + "typeID": "Arrow", + "zOrder": "83", + "w": "106", + "h": "99", + "measuredW": "150", + "measuredH": "100", + "x": "824", + "y": "753", + "properties": { + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 105, + "y": 98 + }, + "p1": { + "x": 0.48727519511367495, + "y": -0.011876484560570073 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3774", + "typeID": "Arrow", + "zOrder": "84", + "w": "109", + "h": "54", + "measuredW": "150", + "measuredH": "100", + "x": "821", + "y": "747", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "p0": { + "x": 108, + "y": 53 + }, + "p1": { + "x": 0.44795435569162256, + "y": -0.008627887559142778 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3775", + "typeID": "Arrow", + "zOrder": "85", + "w": "111", + "h": "59", + "measuredW": "150", + "measuredH": "100", + "x": "472", + "y": "619", + "properties": { + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 110, + "y": 58 + }, + "p1": { + "x": 0.45522128005575574, + "y": -0.054942502032756434 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3776", + "typeID": "Arrow", + "zOrder": "86", + "w": "112", + "h": "58", + "measuredW": "150", + "measuredH": "100", + "x": "470", + "y": "701", + "properties": { + "color": "2848996", + "curvature": "-1", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 111, + "y": 0 + }, + "p1": { + "x": 0.47938350680544434, + "y": 0.06064851881505207 + }, + "p2": { + "x": 0, + "y": 57 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3777", + "typeID": "Arrow", + "zOrder": "87", + "w": "112", + "h": "23", + "measuredW": "150", + "measuredH": "100", + "x": "474", + "y": "691", + "properties": { + "color": "2848996", + "curvature": "-1", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 111, + "y": 0 + }, + "p1": { + "x": 0.4453729012104649, + "y": 0.01983600156188987 + }, + "p2": { + "x": 0, + "y": 22 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3778", + "typeID": "Arrow", + "zOrder": "88", + "w": "120", + "h": "20", + "measuredW": "150", + "measuredH": "100", + "x": "471", + "y": "668", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "p0": { + "x": 119, + "y": 19 + }, + "p1": { + "x": 0.4652789342214826, + "y": -0.001332223147377271 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3779", + "typeID": "Arrow", + "zOrder": "89", + "w": "19", + "h": "80", + "measuredW": "150", + "measuredH": "100", + "x": "761", + "y": "226", + "properties": { + "color": "2848996", + "curvature": "-1", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 17, + "y": 0 + }, + "p1": { + "x": 0.4835868694955965, + "y": 0.10168134507606086 + }, + "p2": { + "x": 0, + "y": 79 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3780", + "typeID": "__group__", + "zOrder": "90", + "measuredW": "250", + "measuredH": "55", + "w": "250", + "h": "55", + "x": "583", + "y": "659", + "properties": { + "controlName": "101-html" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "250", + "h": "55", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "48", + "measuredH": "25", + "x": "101", + "y": "16", + "properties": { + "size": "17", + "text": "HTML" + } + } + ] + } + } + }, + { + "ID": "3781", + "typeID": "__group__", + "zOrder": "91", + "measuredW": "144", + "measuredH": "40", + "w": "144", + "h": "40", + "x": "664", + "y": "313", + "properties": { + "controlName": "ext_link:roadmap.sh/frontend" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Label", + "zOrder": "0", + "measuredW": "144", + "measuredH": "40", + "x": "0", + "y": "0", + "properties": { + "size": "32", + "text": "Front-end" + } + } + ] + } + } + }, + { + "ID": "3782", + "typeID": "__group__", + "zOrder": "92", + "measuredW": "304", + "measuredH": "47", + "w": "304", + "h": "47", + "x": "192", + "y": "592", + "properties": { + "controlName": "100-html:learn-the-basics" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "296", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "7", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "134", + "measuredW": "128", + "measuredH": "25", + "x": "90", + "y": "15", + "properties": { + "size": "17", + "text": "Learn the basics" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3783", + "typeID": "__group__", + "zOrder": "93", + "measuredW": "304", + "measuredH": "45", + "w": "304", + "h": "45", + "x": "192", + "y": "641", + "properties": { + "controlName": "101-html:writing-semantic-html" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "296", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "189", + "measuredW": "183", + "measuredH": "25", + "x": "63", + "y": "13", + "properties": { + "size": "17", + "text": "Writing Semantic HTML" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3784", + "typeID": "__group__", + "zOrder": "94", + "measuredW": "304", + "measuredH": "45", + "w": "304", + "h": "45", + "x": "192", + "y": "687", + "properties": { + "controlName": "102-html:forms-and-validations" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "296", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "172", + "measuredW": "169", + "measuredH": "25", + "x": "71", + "y": "13", + "properties": { + "size": "17", + "text": "Forms and Validations" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3785", + "typeID": "__group__", + "zOrder": "95", + "measuredW": "304", + "measuredH": "49", + "w": "304", + "h": "49", + "x": "192", + "y": "730", + "properties": { + "controlName": "103-html:conventions-and-best-practices" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "296", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "9", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "248", + "measuredW": "246", + "measuredH": "25", + "x": "33", + "y": "17", + "properties": { + "size": "17", + "text": "Conventions and Best Practices" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3786", + "typeID": "__group__", + "zOrder": "96", + "measuredW": "250", + "measuredH": "50", + "w": "250", + "h": "50", + "x": "583", + "y": "721", + "properties": { + "controlName": "102-css" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "250", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "33", + "measuredH": "25", + "x": "108", + "y": "14", + "properties": { + "size": "17", + "text": "CSS" + } + } + ] + } + } + }, + { + "ID": "3787", + "typeID": "__group__", + "zOrder": "97", + "measuredW": "123", + "measuredH": "193", + "w": "123", + "h": "193", + "x": "1223", + "y": "692", + "properties": { + "controlName": "101-css:making-layouts" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "116", + "h": "185", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "8", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "47", + "measuredH": "25", + "x": "35", + "y": "21", + "properties": { + "size": "17", + "text": "Floats" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "84", + "measuredH": "25", + "x": "16", + "y": "48", + "properties": { + "size": "17", + "text": "Positioning" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "3", + "measuredW": "56", + "measuredH": "25", + "x": "30", + "y": "75", + "properties": { + "size": "17", + "text": "Display" + } + }, + { + "ID": "4", + "typeID": "Label", + "zOrder": "4", + "measuredW": "82", + "measuredH": "25", + "x": "19", + "y": "102", + "properties": { + "size": "17", + "text": "Box Model" + } + }, + { + "ID": "5", + "typeID": "Label", + "zOrder": "5", + "measuredW": "70", + "measuredH": "25", + "x": "22", + "y": "129", + "properties": { + "size": "17", + "text": "CSS Grid" + } + }, + { + "ID": "6", + "typeID": "Label", + "zOrder": "6", + "measuredW": "65", + "measuredH": "25", + "x": "26", + "y": "156", + "properties": { + "size": "17", + "text": "Flex Box" + } + }, + { + "ID": "7", + "typeID": "Icon", + "zOrder": "7", + "measuredW": "24", + "measuredH": "24", + "x": "99", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "8", + "typeID": "Icon", + "zOrder": "8", + "measuredW": "24", + "measuredH": "24", + "x": "99", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3788", + "typeID": "__group__", + "zOrder": "98", + "measuredW": "289", + "measuredH": "47", + "w": "289", + "h": "47", + "x": "915", + "y": "719", + "properties": { + "controlName": "100-css:learn-the-basics" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "280", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "140", + "measuredW": "128", + "measuredH": "25", + "x": "70", + "y": "13", + "properties": { + "size": "17", + "text": "Learn the basics" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "265", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "265", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3789", + "typeID": "__group__", + "zOrder": "99", + "measuredW": "290", + "measuredH": "51", + "w": "290", + "h": "51", + "x": "914", + "y": "768", + "properties": { + "controlName": "101-css:making-layouts" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "281", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "130", + "measuredW": "120", + "measuredH": "25", + "x": "76", + "y": "15", + "properties": { + "size": "17", + "text": "Making Layouts" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "266", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "266", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3790", + "typeID": "Canvas", + "zOrder": "100", + "w": "324", + "h": "195", + "measuredW": "100", + "measuredH": "70", + "x": "993", + "y": "191" + }, + { + "ID": "3791", + "typeID": "Label", + "zOrder": "101", + "measuredW": "283", + "measuredH": "26", + "x": "1011", + "y": "210", + "properties": { + "size": "18", + "text": "For resources and other roadmaps" + } + }, + { + "ID": "3792", + "typeID": "__group__", + "zOrder": "102", + "measuredW": "172", + "measuredH": "28", + "w": "172", + "h": "28", + "x": "1011", + "y": "243", + "properties": { + "controlName": "ext_link:roadmap.sh" + }, + "children": { + "controls": { + "control": [ + { + "ID": "2", + "typeID": "Label", + "zOrder": "0", + "measuredW": "172", + "measuredH": "28", + "x": "0", + "y": "0", + "properties": { + "size": "20", + "text": "https://roadmap.sh", + "color": "10027263" + } + } + ] + } + } + }, + { + "ID": "3793", + "typeID": "__group__", + "zOrder": "103", + "measuredW": "282", + "measuredH": "47", + "w": "282", + "h": "47", + "x": "1011", + "y": "318", + "properties": { + "controlName": "json:frontend-beginner.json" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "282", + "h": "47", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "borderColor": "4273622", + "color": "4273622" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "210", + "measuredH": "26", + "x": "36", + "y": "11", + "properties": { + "color": "16777215", + "size": "18", + "text": "Visit the Beginner Version" + } + } + ] + } + } + }, + { + "ID": "3794", + "typeID": "Label", + "zOrder": "104", + "measuredW": "227", + "measuredH": "26", + "x": "1011", + "y": "283", + "properties": { + "color": "4985136", + "size": "18", + "text": "Are you just getting started?" + } + }, + { + "ID": "3795", + "typeID": "__group__", + "zOrder": "105", + "measuredW": "288", + "measuredH": "45", + "w": "288", + "h": "45", + "x": "914", + "y": "823", + "properties": { + "controlName": "102-css:responsive-design-and-media-queries" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "280", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "2", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "248", + "measuredW": "246", + "measuredH": "22", + "x": "18", + "y": "12", + "properties": { + "size": "14", + "text": "Responsive design and Media Queries" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "264", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "264", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3796", + "typeID": "__group__", + "zOrder": "106", + "measuredW": "250", + "measuredH": "50", + "w": "250", + "h": "50", + "x": "583", + "y": "778", + "properties": { + "controlName": "103-javascript" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "250", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "81", + "measuredH": "25", + "x": "82", + "y": "13", + "properties": { + "size": "17", + "text": "JavaScript" + } + } + ] + } + } + }, + { + "ID": "3797", + "typeID": "__group__", + "zOrder": "107", + "measuredW": "304", + "measuredH": "48", + "w": "304", + "h": "48", + "x": "192", + "y": "793", + "properties": { + "controlName": "100-javascript:syntax-and-basic-constructs" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "296", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "8", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "228", + "measuredW": "219", + "measuredH": "25", + "x": "43", + "y": "16", + "properties": { + "size": "17", + "text": "Syntax and Basic Constructs" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3798", + "typeID": "__group__", + "zOrder": "108", + "measuredW": "305", + "measuredH": "45", + "w": "305", + "h": "45", + "x": "192", + "y": "842", + "properties": { + "controlName": "101-javascript:learn-dom-manipulation" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "297", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "197", + "measuredW": "193", + "measuredH": "25", + "x": "59", + "y": "13", + "properties": { + "size": "17", + "text": "Learn DOM Manipulation" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3799", + "typeID": "__group__", + "zOrder": "109", + "measuredW": "305", + "measuredH": "117", + "w": "305", + "h": "117", + "x": "191", + "y": "987", + "properties": { + "controlName": "104-javascript:concepts" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "296", + "h": "113", + "measuredW": "200", + "measuredH": "140", + "x": "9", + "y": "4", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "247", + "measuredW": "246", + "measuredH": "25", + "x": "34", + "y": "49", + "properties": { + "size": "17", + "text": "Hoisting, Event Bubbling, Scope," + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "w": "245", + "measuredW": "231", + "measuredH": "25", + "x": "36", + "y": "78", + "properties": { + "size": "17", + "text": "Prototype, Shadow DOM, strict" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "3", + "w": "202", + "measuredW": "195", + "measuredH": "25", + "x": "57", + "y": "19", + "properties": { + "size": "17", + "text": "Understand the concepts" + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "5", + "typeID": "Icon", + "zOrder": "5", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3800", + "typeID": "__group__", + "zOrder": "110", + "measuredW": "304", + "measuredH": "45", + "w": "304", + "h": "45", + "x": "192", + "y": "889", + "properties": { + "controlName": "102-javascript:learn-fetch-api-ajax-xhr" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "296", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "234", + "measuredW": "224", + "measuredH": "25", + "x": "40", + "y": "13", + "properties": { + "size": "17", + "text": "Learn Fetch API / Ajax (XHR)" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3801", + "typeID": "__group__", + "zOrder": "111", + "measuredW": "305", + "measuredH": "47", + "w": "305", + "h": "47", + "x": "191", + "y": "935", + "properties": { + "controlName": "103-javascript:es6-and-modular-javascript" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "296", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "9", + "y": "7", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "234", + "measuredW": "228", + "measuredH": "25", + "x": "41", + "y": "15", + "properties": { + "size": "17", + "text": "ES6+ and modular JavaScript" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3802", + "typeID": "__group__", + "zOrder": "112", + "measuredW": "187", + "measuredH": "60", + "w": "187", + "h": "60", + "x": "604", + "y": "479", + "properties": { + "controlName": "100-internet" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "178", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "9", + "y": "10", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "62", + "measuredH": "25", + "x": "67", + "y": "23", + "properties": { + "text": "Internet", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3803", + "typeID": "__group__", + "zOrder": "113", + "measuredW": "306", + "measuredH": "53", + "w": "306", + "h": "53", + "x": "193", + "y": "431", + "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": "7", + "y": "9", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "223", + "measuredW": "219", + "measuredH": "25", + "x": "45", + "y": "19", + "properties": { + "size": "17", + "text": "How does the internet work?" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3804", + "typeID": "__group__", + "zOrder": "114", + "measuredW": "307", + "measuredH": "47", + "w": "307", + "h": "47", + "x": "192", + "y": "483", + "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": "8", + "y": "7", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "119", + "measuredW": "113", + "measuredH": "25", + "x": "98", + "y": "15", + "properties": { + "size": "17", + "text": "What is HTTP?" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3805", + "typeID": "__group__", + "zOrder": "115", + "measuredW": "307", + "measuredH": "48", + "w": "307", + "h": "48", + "x": "192", + "y": "528", + "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": "8", + "y": "8", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "230", + "measuredW": "225", + "measuredH": "25", + "x": "42", + "y": "16", + "properties": { + "size": "17", + "text": "Browsers and how they work?" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3806", + "typeID": "__group__", + "zOrder": "116", + "measuredW": "289", + "measuredH": "49", + "w": "289", + "h": "49", + "x": "915", + "y": "428", + "properties": { + "controlName": "103-internet:dns-and-how-it-works" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "280", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "9", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "179", + "measuredW": "175", + "measuredH": "25", + "x": "51", + "y": "17", + "properties": { + "size": "17", + "text": "DNS and how it works?" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "265", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "265", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3807", + "typeID": "__group__", + "zOrder": "117", + "measuredW": "289", + "measuredH": "45", + "w": "289", + "h": "45", + "x": "914", + "y": "478", + "properties": { + "controlName": "104-internet:what-is-domain-name" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "280", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "189", + "measuredW": "180", + "measuredH": "25", + "x": "51", + "y": "13", + "properties": { + "size": "17", + "text": "What is Domain Name?" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "265", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "265", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3808", + "typeID": "__group__", + "zOrder": "118", + "measuredW": "288", + "measuredH": "46", + "w": "288", + "h": "46", + "x": "915", + "y": "523", + "properties": { + "controlName": "105-internet:what-is-hosting" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "280", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "6", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "133", + "measuredW": "126", + "measuredH": "25", + "x": "74", + "y": "14", + "properties": { + "size": "17", + "text": "What is hosting?" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "264", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "264", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3809", + "typeID": "__group__", + "zOrder": "119", + "measuredW": "288", + "measuredH": "48", + "w": "288", + "h": "48", + "x": "915", + "y": "621", + "properties": { + "controlName": "104-html:accessibility" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "280", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "8", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "101", + "measuredW": "94", + "measuredH": "25", + "x": "89", + "y": "16", + "properties": { + "size": "17", + "text": "Accessibility" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "264", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "264", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3810", + "typeID": "__group__", + "zOrder": "120", + "measuredW": "289", + "measuredH": "46", + "w": "289", + "h": "46", + "x": "915", + "y": "670", + "properties": { + "controlName": "105-html:seo-basics" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "280", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "6", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "94", + "measuredW": "90", + "measuredH": "25", + "x": "93", + "y": "14", + "properties": { + "size": "17", + "text": "SEO Basics" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "265", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "265", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3811", + "typeID": "__group__", + "zOrder": "121", + "measuredW": "225", + "measuredH": "62", + "w": "225", + "h": "62", + "x": "553", + "y": "1012", + "properties": { + "controlName": "100-version-control-systems:basic-usage-of-git" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "216", + "h": "54", + "measuredW": "200", + "measuredH": "140", + "x": "9", + "y": "8", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "144", + "measuredH": "25", + "x": "45", + "y": "23", + "properties": { + "text": "Basic Usage of Git", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3812", + "typeID": "__group__", + "zOrder": "122", + "measuredW": "240", + "measuredH": "58", + "w": "240", + "h": "58", + "x": "1034", + "y": "1014", + "properties": { + "controlName": "100-repo-hosting-services:github" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "230", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "10", + "y": "9", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "54", + "measuredH": "25", + "x": "98", + "y": "22", + "properties": { + "text": "GitHub", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3813", + "typeID": "__group__", + "zOrder": "123", + "measuredW": "352", + "measuredH": "78", + "w": "352", + "h": "78", + "x": "925", + "y": "922", + "properties": { + "controlName": "105-repo-hosting-services" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "352", + "h": "78", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "172", + "measuredH": "25", + "x": "90", + "y": "15", + "properties": { + "text": "Repo hosting services", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "w": "279", + "measuredW": "275", + "measuredH": "23", + "x": "32", + "y": "41", + "properties": { + "size": "15", + "text": "Create account and Learn to use GitHub" + } + } + ] + } + } + }, + { + "ID": "3814", + "typeID": "__group__", + "zOrder": "124", + "measuredW": "336", + "measuredH": "77", + "w": "336", + "h": "77", + "x": "562", + "y": "922", + "properties": { + "controlName": "104-version-control-systems" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "336", + "h": "77", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "186", + "measuredH": "25", + "x": "75", + "y": "15", + "properties": { + "text": "Version Control Systems", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "w": "292", + "measuredW": "285", + "measuredH": "23", + "x": "19", + "y": "40", + "properties": { + "size": "15", + "text": "What are they and why you should use one" + } + } + ] + } + } + }, + { + "ID": "3815", + "typeID": "__group__", + "zOrder": "125", + "measuredW": "211", + "measuredH": "53", + "w": "211", + "h": "53", + "x": "455", + "y": "1259", + "properties": { + "controlName": "107-package-managers" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "211", + "h": "53", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "149", + "measuredH": "25", + "x": "31", + "y": "14", + "properties": { + "text": "Package Managers", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3816", + "typeID": "__group__", + "zOrder": "126", + "measuredW": "158", + "measuredH": "49", + "w": "158", + "h": "49", + "x": "194", + "y": "1154", + "properties": { + "controlName": "100-package-managers:npm" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "151", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "36", + "measuredW": "34", + "measuredH": "25", + "x": "65", + "y": "12", + "properties": { + "size": "17", + "text": "npm" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "11", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "11", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3817", + "typeID": "__group__", + "zOrder": "127", + "measuredW": "238", + "measuredH": "54", + "w": "238", + "h": "54", + "x": "1036", + "y": "1130", + "properties": { + "controlName": "102-repo-hosting-services:bitbucket" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "230", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "5", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "73", + "measuredH": "25", + "x": "86", + "y": "17", + "properties": { + "color": "3355443", + "text": "Bitbucket", + "size": "17" + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "5", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3818", + "typeID": "__group__", + "zOrder": "128", + "measuredW": "238", + "measuredH": "55", + "w": "238", + "h": "55", + "x": "1036", + "y": "1073", + "properties": { + "controlName": "101-repo-hosting-services:gitlab" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "230", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "6", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "51", + "measuredH": "25", + "x": "97", + "y": "18", + "properties": { + "color": "3355443", + "size": "17", + "text": "GitLab" + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "5", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3819", + "typeID": "__group__", + "zOrder": "129", + "measuredW": "381", + "measuredH": "62", + "w": "381", + "h": "62", + "x": "604", + "y": "1105", + "properties": { + "controlName": "106-web-security-knowledge" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "372", + "h": "54", + "measuredW": "200", + "measuredH": "140", + "x": "9", + "y": "8", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "189", + "measuredH": "25", + "x": "100", + "y": "23", + "properties": { + "text": "Web Security Knowledge", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3820", + "typeID": "__group__", + "zOrder": "130", + "measuredW": "408", + "measuredH": "162", + "w": "408", + "h": "162", + "x": "192", + "y": "191", + "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": "3821", + "typeID": "TextArea", + "zOrder": "131", + "w": "456", + "h": "161", + "measuredW": "200", + "measuredH": "140", + "x": "816", + "y": "1204" + }, + { + "ID": "3822", + "typeID": "__group__", + "zOrder": "132", + "measuredW": "163", + "measuredH": "48", + "w": "163", + "h": "48", + "x": "831", + "y": "1303", + "properties": { + "controlName": "102-web-security-knowledge:cors" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "163", + "h": "48", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "48", + "measuredH": "25", + "x": "58", + "y": "12", + "properties": { + "text": "CORS", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3823", + "typeID": "__group__", + "zOrder": "133", + "measuredW": "166", + "measuredH": "49", + "w": "166", + "h": "49", + "x": "830", + "y": "1248", + "properties": { + "controlName": "100-web-security-knowledge:https" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "166", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "54", + "measuredH": "25", + "x": "56", + "y": "12", + "properties": { + "text": "HTTPS", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3824", + "typeID": "__group__", + "zOrder": "134", + "measuredW": "257", + "measuredH": "49", + "w": "257", + "h": "49", + "x": "1001", + "y": "1248", + "properties": { + "controlName": "101-web-security-knowledge:content-security-policy" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "257", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "175", + "measuredH": "25", + "x": "41", + "y": "12", + "properties": { + "text": "Content Security Policy", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3825", + "typeID": "__group__", + "zOrder": "135", + "measuredW": "257", + "measuredH": "49", + "w": "257", + "h": "49", + "x": "1001", + "y": "1302", + "properties": { + "controlName": "103-web-security-knowledge:owasp-security-risks" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "257", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "169", + "measuredH": "25", + "x": "44", + "y": "12", + "properties": { + "text": "OWASP Security Risks", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3826", + "typeID": "Label", + "zOrder": "136", + "w": "372", + "measuredW": "344", + "measuredH": "25", + "x": "832", + "y": "1217", + "properties": { + "size": "17", + "text": "Get at least a basic knowledge of all of these" + } + }, + { + "ID": "3827", + "typeID": "__group__", + "zOrder": "137", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "1258", + "y": "1195", + "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": "3828", + "typeID": "Arrow", + "zOrder": "138", + "w": "117", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "717", + "y": "2834", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 116.89058672187377, + "y": 0.1041226124775676 + }, + "p1": { + "x": 0.4835193355826629, + "y": 0.007267064624967576 + }, + "p2": { + "x": 0.017907207522057433, + "y": 0.1041226124775676 + } + } + }, + { + "ID": "3829", + "typeID": "Arrow", + "zOrder": "139", + "w": "158", + "h": "72", + "measuredW": "150", + "measuredH": "100", + "x": "326", + "y": "2888", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.4319942611190819, + "y": -0.006169296987087513 + }, + "p2": { + "x": 157, + "y": 71 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3830", + "typeID": "Arrow", + "zOrder": "140", + "w": "133", + "h": "223", + "measuredW": "150", + "measuredH": "100", + "x": "1047", + "y": "2728", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 133, + "y": 223 + }, + "p1": { + "x": 0.6210189562745637, + "y": 0.08206190581675968 + }, + "p2": { + "x": -0.43103046936073497, + "y": 0.31367188167814675 + } + } + }, + { + "ID": "3831", + "typeID": "Arrow", + "zOrder": "141", + "w": "112", + "h": "137", + "measuredW": "150", + "measuredH": "100", + "x": "1073", + "y": "2731", + "properties": { + "color": "2848996", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 112, + "y": 137 + }, + "p1": { + "x": 0.6177380381901717, + "y": 0.1158418847787249 + }, + "p2": { + "x": -0.28845742009775677, + "y": 0.38926871100329663 + } + } + }, + { + "ID": "3832", + "typeID": "__group__", + "zOrder": "142", + "measuredW": "216", + "measuredH": "50", + "w": "216", + "h": "50", + "x": "454", + "y": "1374", + "properties": { + "controlName": "109-css-preprocessors" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "216", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "150", + "measuredH": "25", + "x": "33", + "y": "12", + "properties": { + "text": "CSS Preprocessors", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3833", + "typeID": "Arrow", + "zOrder": "143", + "w": "107", + "h": "93", + "measuredW": "150", + "measuredH": "100", + "x": "1079", + "y": "2727", + "properties": { + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 107, + "y": 93 + }, + "p1": { + "x": 0.6105142874821432, + "y": 0.11615602631888519 + }, + "p2": { + "x": -0.13726376144768437, + "y": -0.2241265329844282 + } + } + }, + { + "ID": "3834", + "typeID": "Arrow", + "zOrder": "144", + "w": "100", + "h": "48", + "measuredW": "150", + "measuredH": "100", + "x": "1082", + "y": "2722", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 100, + "y": 48 + }, + "p1": { + "x": 0.5421630610591022, + "y": 0.059862777204942215 + }, + "p2": { + "x": -0.061666932122761864, + "y": 0.16247822302784698 + } + } + }, + { + "ID": "3835", + "typeID": "Arrow", + "zOrder": "145", + "w": "115", + "h": "6", + "measuredW": "150", + "measuredH": "100", + "x": "1068", + "y": "2719", + "properties": { + "color": "2848996", + "curvature": "-1", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 115, + "y": 6 + }, + "p1": { + "x": 0.5359734790789354, + "y": 0.012722874294418285 + }, + "p2": { + "x": 0.4352964490888098, + "y": -0.2504109310075364 + } + } + }, + { + "ID": "3836", + "typeID": "__group__", + "zOrder": "146", + "measuredW": "213", + "measuredH": "50", + "w": "213", + "h": "50", + "x": "455", + "y": "1318", + "properties": { + "controlName": "108-css-architecture" + }, + "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": "131", + "measuredH": "25", + "x": "41", + "y": "12", + "properties": { + "text": "CSS Architecture", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3837", + "typeID": "__group__", + "zOrder": "147", + "measuredW": "158", + "measuredH": "40", + "w": "158", + "h": "40", + "x": "193", + "y": "1323", + "properties": { + "controlName": "100-css-architecture:bem" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "151", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "45", + "measuredW": "38", + "measuredH": "25", + "x": "60", + "y": "8", + "properties": { + "size": "17", + "text": "BEM" + } + }, + { + "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": "3838", + "typeID": "Arrow", + "zOrder": "148", + "w": "180", + "h": "45", + "measuredW": "150", + "measuredH": "100", + "x": "320", + "y": "2982", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 44 + }, + "p1": { + "x": 0.4319942611190816, + "y": -0.0061692969870875015 + }, + "p2": { + "x": 179, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3839", + "typeID": "Arrow", + "zOrder": "149", + "w": "106", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "977", + "y": "2551", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 106, + "y": 1 + }, + "p1": { + "x": 0.4835193355826628, + "y": 0.007267064624967598 + }, + "p2": { + "x": -0.0680813086987655, + "y": 0.06188413774043511 + } + } + }, + { + "ID": "3840", + "typeID": "__group__", + "zOrder": "150", + "measuredW": "211", + "measuredH": "50", + "w": "211", + "h": "50", + "x": "556", + "y": "1540", + "properties": { + "controlName": "110-build-tools" + }, + "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": "83", + "measuredH": "25", + "x": "64", + "y": "13", + "properties": { + "size": "17", + "text": "Build Tools" + } + } + ] + } + } + }, + { + "ID": "3841", + "typeID": "Arrow", + "zOrder": "151", + "w": "1", + "h": "86", + "measuredW": "150", + "measuredH": "100", + "x": "594", + "y": "2411", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.4770488047048041, + "y": 0.005193614908729856 + }, + "p2": { + "x": 0, + "y": 85 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3842", + "typeID": "Arrow", + "zOrder": "152", + "w": "177", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "398", + "y": "2401", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "p0": { + "x": 176, + "y": 0 + }, + "p1": { + "x": 0.477048804704804, + "y": 0.005193614908729856 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3843", + "typeID": "__group__", + "zOrder": "153", + "measuredW": "225", + "measuredH": "50", + "w": "225", + "h": "50", + "x": "851", + "y": "1537", + "properties": { + "controlName": "100-build-tools:task-runners" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "225", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "105", + "measuredH": "25", + "x": "60", + "y": "14", + "properties": { + "size": "17", + "text": "Task Runners" + } + } + ] + } + } + }, + { + "ID": "3844", + "typeID": "Arrow", + "zOrder": "154", + "w": "116", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "769", + "y": "2400", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "p0": { + "x": 115, + "y": 0 + }, + "p1": { + "x": 0.477048804704804, + "y": 0.005193614908729856 + }, + "p2": { + "x": 0, + "y": 0 + }, + "rightArrow": "false" + } + }, + { + "ID": "3845", + "typeID": "__group__", + "zOrder": "155", + "measuredW": "156", + "measuredH": "45", + "w": "156", + "h": "45", + "x": "1124", + "y": "1541", + "properties": { + "controlName": "100-build-tools:task-runners:npm-scripts" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "145", + "h": "45", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "89", + "measuredH": "25", + "x": "24", + "y": "10", + "properties": { + "size": "17", + "text": "npm scripts" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "132", + "y": "11", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "132", + "y": "11", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3846", + "typeID": "Arrow", + "zOrder": "156", + "w": "239", + "h": "239", + "measuredW": "150", + "measuredH": "100", + "x": "504", + "y": "1801", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "p0": { + "x": 0.4151212280816594, + "y": -0.22081521141240046 + }, + "p1": { + "x": 0.5082158938451313, + "y": 0.2259685964231505 + }, + "p2": { + "x": 239, + "y": 239 + } + } + }, + { + "ID": "3847", + "typeID": "Arrow", + "zOrder": "157", + "w": "191", + "h": "5", + "measuredW": "150", + "measuredH": "100", + "x": "953", + "y": "2079", + "properties": { + "color": "10027263", + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 190.5, + "y": -0.5 + }, + "p1": { + "x": 0.4934109968191019, + "y": -0.001156690213574586 + }, + "p2": { + "x": 0, + "y": 4 + } + } + }, + { + "ID": "3848", + "typeID": "__group__", + "zOrder": "158", + "measuredW": "158", + "measuredH": "40", + "w": "158", + "h": "40", + "x": "1124", + "y": "1687", + "properties": { + "controlName": "100-build-tools:module-bundlers:webpack" + }, + "children": { + "controls": { + "control": [ + { + "ID": "1", + "typeID": "Label", + "zOrder": "0", + "w": "72", + "measuredW": "72", + "measuredH": "25", + "x": "52", + "y": "7", + "properties": { + "size": "17", + "text": "Webpack" + } + }, + { + "ID": "2", + "typeID": "TextArea", + "zOrder": "1", + "w": "148", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "2", + "measuredW": "72", + "measuredH": "25", + "x": "42", + "y": "7", + "properties": { + "text": "Webpack", + "size": "17" + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "134", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "5", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "134", + "y": "8", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + }, + { + "ID": "3849", + "typeID": "__group__", + "zOrder": "159", + "measuredW": "158", + "measuredH": "40", + "w": "158", + "h": "40", + "x": "1124", + "y": "1732", + "properties": { + "controlName": "102-build-tools:module-bundlers:rollup" + }, + "children": { + "controls": { + "control": [ + { + "ID": "1", + "typeID": "Label", + "zOrder": "0", + "w": "46", + "measuredW": "49", + "measuredH": "25", + "x": "65", + "y": "7", + "properties": { + "size": "17", + "text": "Rollup" + } + }, + { + "ID": "2", + "typeID": "TextArea", + "zOrder": "1", + "w": "147", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "2", + "w": "63", + "measuredW": "49", + "measuredH": "25", + "x": "55", + "y": "7", + "properties": { + "size": "17", + "text": "Rollup" + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "134", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "5", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "134", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "6", + "typeID": "Icon", + "zOrder": "5", + "measuredW": "24", + "measuredH": "24", + "x": "134", + "y": "8", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3850", + "typeID": "__group__", + "zOrder": "160", + "measuredW": "158", + "measuredH": "40", + "w": "158", + "h": "40", + "x": "1124", + "y": "1778", + "properties": { + "controlName": "103-build-tools:module-bundlers:parcel" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Label", + "zOrder": "0", + "w": "46", + "measuredW": "49", + "measuredH": "25", + "x": "65", + "y": "7", + "properties": { + "size": "17", + "text": "Parcel" + } + }, + { + "ID": "1", + "typeID": "TextArea", + "zOrder": "1", + "w": "146", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "w": "63", + "measuredW": "49", + "measuredH": "25", + "x": "55", + "y": "7", + "properties": { + "size": "17", + "text": "Parcel" + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "134", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "134", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "5", + "typeID": "Icon", + "zOrder": "5", + "measuredW": "24", + "measuredH": "24", + "x": "134", + "y": "8", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3851", + "typeID": "__group__", + "zOrder": "161", + "measuredW": "225", + "measuredH": "50", + "w": "225", + "h": "50", + "x": "852", + "y": "1594", + "properties": { + "controlName": "101-build-tools:module-bundlers" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "225", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "131", + "measuredH": "25", + "x": "47", + "y": "13", + "properties": { + "size": "17", + "text": "Module Bundlers" + } + } + ] + } + } + }, + { + "ID": "3852", + "typeID": "Arrow", + "zOrder": "162", + "w": "119", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "1030", + "y": "2402", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 118.97944745965356, + "y": 0 + }, + "p1": { + "x": 0.4835193355826631, + "y": 0.007267064624967473 + }, + "p2": { + "x": 0.34217904266415644, + "y": 0 + } + } + }, + { + "ID": "3853", + "typeID": "__group__", + "zOrder": "163", + "measuredW": "213", + "measuredH": "53", + "w": "213", + "h": "53", + "x": "554", + "y": "1595", + "properties": { + "controlName": "111-pick-a-framework" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "213", + "h": "53", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "142", + "measuredW": "136", + "measuredH": "25", + "x": "36", + "y": "14", + "properties": { + "size": "17", + "text": "Pick a Framework" + } + } + ] + } + } + }, + { + "ID": "3854", + "typeID": "__group__", + "zOrder": "164", + "measuredW": "152", + "measuredH": "40", + "w": "152", + "h": "40", + "x": "194", + "y": "1509", + "properties": { + "controlName": "100-pick-a-framework:react-js" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "145", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "68", + "measuredW": "47", + "measuredH": "25", + "x": "55", + "y": "7", + "properties": { + "size": "17", + "text": "React" + } + }, + { + "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": "3855", + "typeID": "__group__", + "zOrder": "165", + "measuredW": "153", + "measuredH": "40", + "w": "153", + "h": "40", + "x": "192", + "y": "1555", + "properties": { + "controlName": "101-pick-a-framework:angular" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "145", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "64", + "measuredW": "59", + "measuredH": "25", + "x": "49", + "y": "7", + "properties": { + "size": "17", + "text": "Angular" + } + }, + { + "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": "3856", + "typeID": "__group__", + "zOrder": "166", + "measuredW": "152", + "measuredH": "40", + "w": "152", + "h": "40", + "x": "191", + "y": "1601", + "properties": { + "controlName": "102-pick-a-framework:vue-js" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "145", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "45", + "measuredH": "25", + "x": "58", + "y": "7", + "properties": { + "text": "Vue.js", + "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": "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": "3857", + "typeID": "Arrow", + "zOrder": "167", + "w": "97", + "h": "2", + "measuredW": "150", + "measuredH": "100", + "x": "1169", + "y": "2503", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 96.5324984379306, + "y": 0 + }, + "p1": { + "x": 0.4835193355826628, + "y": 0.007267064624967576 + }, + "p2": { + "x": -0.0834087691514469, + "y": 1.8700832259696654 + } + } + }, + { + "ID": "3858", + "typeID": "__group__", + "zOrder": "168", + "measuredW": "203", + "measuredH": "50", + "w": "203", + "h": "50", + "x": "848", + "y": "1712", + "properties": { + "controlName": "112-modern-css" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "203", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "98", + "measuredH": "25", + "x": "53", + "y": "13", + "properties": { + "size": "17", + "text": "Modern CSS" + } + } + ] + } + } + }, + { + "ID": "3859", + "typeID": "Arrow", + "zOrder": "169", + "w": "65", + "h": "4", + "measuredW": "150", + "measuredH": "100", + "x": "1175", + "y": "2550", + "properties": { + "color": "2848996", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 3 + }, + "p1": { + "x": 0.4807692307692308, + "y": -0.01923076923076923 + }, + "p2": { + "x": 64, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3860", + "typeID": "Arrow", + "zOrder": "170", + "w": "65", + "h": "2", + "measuredW": "150", + "measuredH": "100", + "x": "1176", + "y": "2600", + "properties": { + "color": "2848996", + "curvature": "-1", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.4807692307692308, + "y": -0.01923076923076923 + }, + "p2": { + "x": 64, + "y": 1 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3861", + "typeID": "__group__", + "zOrder": "171", + "measuredW": "211", + "measuredH": "40", + "w": "211", + "h": "40", + "x": "849", + "y": "1804", + "properties": { + "controlName": "100-modern-css:styled-components" + }, + "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": "151", + "measuredW": "150", + "measuredH": "25", + "x": "25", + "y": "7", + "properties": { + "size": "17", + "text": "Styled Components" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "187", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "187", + "y": "8", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3862", + "typeID": "__group__", + "zOrder": "172", + "measuredW": "212", + "measuredH": "40", + "w": "212", + "h": "40", + "x": "849", + "y": "1849", + "properties": { + "controlName": "101-modern-css:css-modules" + }, + "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": "103", + "measuredW": "103", + "measuredH": "25", + "x": "49", + "y": "7", + "properties": { + "size": "17", + "text": "CSS Modules" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "188", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "188", + "y": "8", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3863", + "typeID": "Arrow", + "zOrder": "173", + "w": "179", + "h": "2", + "measuredW": "150", + "measuredH": "100", + "x": "320", + "y": "2975", + "properties": { + "color": "2848996", + "curvature": "0", + "direction": "bottom", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 1 + }, + "p1": { + "x": 0.431994261119082, + "y": -0.006169296987087527 + }, + "p2": { + "x": 178, + "y": 0 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3864", + "typeID": "Arrow", + "zOrder": "174", + "w": "161", + "h": "34", + "measuredW": "150", + "measuredH": "100", + "x": "326", + "y": "2932", + "properties": { + "color": "2848996", + "curvature": "0", + "leftArrow": "false", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.4319942611190819, + "y": -0.006169296987087513 + }, + "p2": { + "x": 160, + "y": 33 + }, + "rightArrow": "false", + "stroke": "dotted" + } + }, + { + "ID": "3865", + "typeID": "__group__", + "zOrder": "175", + "measuredW": "210", + "measuredH": "40", + "w": "210", + "h": "40", + "x": "849", + "y": "1939", + "properties": { + "controlName": "103-modern-css:emotion" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "201", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "64", + "measuredH": "25", + "x": "69", + "y": "7", + "properties": { + "text": "Emotion", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "186", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "186", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "186", + "y": "8", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3866", + "typeID": "__group__", + "zOrder": "176", + "measuredW": "175", + "measuredH": "41", + "w": "175", + "h": "41", + "x": "570", + "y": "2813", + "properties": { + "controlName": "100-graphql:apollo" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "167", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "49", + "measuredW": "48", + "measuredH": "25", + "x": "58", + "y": "8", + "properties": { + "size": "17", + "text": "Apollo" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "9", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3867", + "typeID": "__group__", + "zOrder": "177", + "measuredW": "285", + "measuredH": "59", + "w": "285", + "h": "59", + "x": "823", + "y": "2686", + "properties": { + "controlName": "120-static-site-generators" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "281", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "9", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "169", + "measuredH": "25", + "x": "56", + "y": "22", + "properties": { + "size": "17", + "text": "Static Site Generators" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "261", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "261", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3868", + "typeID": "__group__", + "zOrder": "178", + "measuredW": "156", + "measuredH": "41", + "w": "156", + "h": "41", + "x": "1173", + "y": "2841", + "properties": { + "controlName": "101-static-site-generators:gatsbyjs" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "147", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "78", + "measuredW": "73", + "measuredH": "25", + "x": "35", + "y": "8", + "properties": { + "size": "17", + "text": "GatsbyJS" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "132", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "132", + "y": "9", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + }, + { + "ID": "3869", + "typeID": "__group__", + "zOrder": "179", + "measuredW": "157", + "measuredH": "41", + "w": "157", + "h": "41", + "x": "1173", + "y": "2795", + "properties": { + "controlName": "100-static-site-generators:next-js" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "147", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "58", + "measuredW": "52", + "measuredH": "25", + "x": "45", + "y": "8", + "properties": { + "size": "17", + "text": "Next.js" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "133", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "133", + "y": "9", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + }, + { + "ID": "3870", + "typeID": "__group__", + "zOrder": "180", + "measuredW": "156", + "measuredH": "41", + "w": "156", + "h": "41", + "x": "1171", + "y": "3028", + "properties": { + "controlName": "102-static-site-generators:nuxt-js" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "147", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "56", + "measuredW": "52", + "measuredH": "25", + "x": "46", + "y": "8", + "properties": { + "size": "17", + "text": "Nuxt.js" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "132", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "132", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "132", + "y": "9", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3871", + "typeID": "__group__", + "zOrder": "181", + "measuredW": "156", + "measuredH": "41", + "w": "156", + "h": "41", + "x": "1171", + "y": "2888", + "properties": { + "controlName": "103-static-site-generators:vuepress" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "147", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "76", + "measuredW": "72", + "measuredH": "25", + "x": "40", + "y": "8", + "properties": { + "size": "17", + "text": "Vuepress" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "132", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "132", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "132", + "y": "9", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3872", + "typeID": "__group__", + "zOrder": "182", + "measuredW": "157", + "measuredH": "41", + "w": "157", + "h": "41", + "x": "1171", + "y": "2934", + "properties": { + "controlName": "104-static-site-generators:jekyll" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "147", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "49", + "measuredW": "43", + "measuredH": "25", + "x": "52", + "y": "8", + "properties": { + "size": "17", + "text": "Jekyll" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "133", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "133", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "133", + "y": "9", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3873", + "typeID": "__group__", + "zOrder": "183", + "measuredW": "212", + "measuredH": "50", + "w": "212", + "h": "50", + "x": "317", + "y": "1764", + "properties": { + "controlName": "114-css-frameworks" + }, + "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": "131", + "measuredH": "25", + "x": "40", + "y": "13", + "properties": { + "size": "17", + "text": "CSS Frameworks" + } + } + ] + } + } + }, + { + "ID": "3874", + "typeID": "__group__", + "zOrder": "184", + "measuredW": "335", + "measuredH": "137", + "w": "335", + "h": "137", + "x": "195", + "y": "2081", + "properties": { + "controlName": "114-css-frameworks:css-first" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "335", + "h": "137", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "14540253" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "1", + "measuredW": "150", + "measuredH": "24", + "x": "154", + "y": "17", + "properties": { + "size": "16", + "text": "CSS first frameworks" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "2", + "measuredW": "145", + "measuredH": "24", + "x": "154", + "y": "44", + "properties": { + "size": "16", + "text": "that don't come with" + } + }, + { + "ID": "4", + "typeID": "Label", + "zOrder": "3", + "measuredW": "99", + "measuredH": "24", + "x": "154", + "y": "71", + "properties": { + "size": "16", + "text": "JS framework" + } + }, + { + "ID": "5", + "typeID": "Label", + "zOrder": "4", + "measuredW": "166", + "measuredH": "24", + "x": "153", + "y": "98", + "properties": { + "size": "16", + "text": "components by default." + } + } + ] + } + } + }, + { + "ID": "3875", + "typeID": "__group__", + "zOrder": "185", + "measuredW": "127", + "measuredH": "52", + "w": "127", + "h": "52", + "x": "211", + "y": "2096", + "properties": { + "controlName": "100-css-frameworks:css-first:bootstrap" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "127", + "h": "52", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "14540253" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "81", + "measuredW": "75", + "measuredH": "25", + "x": "27", + "y": "13", + "properties": { + "size": "17", + "text": "Bootstrap" + } + } + ] + } + } + }, + { + "ID": "3876", + "typeID": "__group__", + "zOrder": "186", + "measuredW": "127", + "measuredH": "49", + "w": "127", + "h": "49", + "x": "211", + "y": "2153", + "properties": { + "controlName": "101-css-frameworks:css-first:bulma" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "127", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "14540253" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "50", + "measuredW": "49", + "measuredH": "25", + "x": "39", + "y": "12", + "properties": { + "size": "17", + "text": "Bulma" + } + } + ] + } + } + }, + { + "ID": "3877", + "typeID": "__group__", + "zOrder": "187", + "measuredW": "232", + "measuredH": "276", + "w": "232", + "h": "276", + "x": "1108", + "y": "1902", + "properties": { + "controlName": "115-testing-your-apps" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "232", + "h": "276", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "185", + "measuredW": "185", + "measuredH": "24", + "x": "18", + "y": "208", + "properties": { + "text": "You can fill all your testing", + "size": "16" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "w": "155", + "measuredW": "155", + "measuredH": "24", + "x": "18", + "y": "230", + "properties": { + "text": "needs with just these.", + "size": "16" + } + } + ] + } + } + }, + { + "ID": "3878", + "typeID": "__group__", + "zOrder": "188", + "measuredW": "207", + "measuredH": "40", + "w": "207", + "h": "40", + "x": "1124", + "y": "1962", + "properties": { + "controlName": "101-testing-your-apps:react-testing-library" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "195", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "152", + "measuredH": "25", + "x": "22", + "y": "7", + "properties": { + "text": "react-testing-library", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "183", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "183", + "y": "8", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3879", + "typeID": "__group__", + "zOrder": "189", + "measuredW": "205", + "measuredH": "40", + "w": "205", + "h": "40", + "x": "1125", + "y": "1918", + "properties": { + "controlName": "100-testing-your-apps:jest" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "194", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "39", + "measuredW": "33", + "measuredH": "25", + "x": "77", + "y": "8", + "properties": { + "size": "17", + "text": "Jest" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "181", + "y": "7", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "181", + "y": "7", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3880", + "typeID": "__group__", + "zOrder": "190", + "measuredW": "205", + "measuredH": "39", + "w": "205", + "h": "39", + "x": "1124", + "y": "2007", + "properties": { + "controlName": "102-testing-your-apps:cypress" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "195", + "h": "39", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "63", + "measuredH": "25", + "x": "63", + "y": "7", + "properties": { + "text": "Cypress", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "181", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "181", + "y": "8", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3881", + "typeID": "__group__", + "zOrder": "191", + "measuredW": "405", + "measuredH": "158", + "w": "405", + "h": "158", + "x": "649", + "y": "2020", + "properties": { + "controlName": "115-testing-your-apps" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "405", + "h": "158", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "144", + "measuredH": "26", + "x": "125", + "y": "19", + "properties": { + "size": "18", + "text": "Testing your Apps" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "w": "349", + "measuredW": "328", + "measuredH": "25", + "x": "22", + "y": "86", + "properties": { + "size": "17", + "text": "and {color:blue}Functional{color} tests and learn how to write" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "3", + "w": "302", + "measuredW": "286", + "measuredH": "25", + "x": "21", + "y": "115", + "properties": { + "size": "17", + "text": "them with the tools listed on the right." + } + }, + { + "ID": "4", + "typeID": "Label", + "zOrder": "4", + "w": "362", + "measuredW": "361", + "measuredH": "25", + "x": "21", + "y": "56", + "properties": { + "size": "17", + "text": "Learn the difference between {color:blue}Unit{color}, {color:blue}Integration{color}, " + } + } + ] + } + } + }, + { + "ID": "3882", + "typeID": "__group__", + "zOrder": "192", + "measuredW": "234", + "measuredH": "60", + "w": "234", + "h": "60", + "x": "824", + "y": "2368", + "properties": { + "controlName": "116-type-checkers" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "226", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "10", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "115", + "measuredH": "25", + "x": "53", + "y": "23", + "properties": { + "size": "17", + "text": "Type Checkers" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "210", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "210", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3883", + "typeID": "__group__", + "zOrder": "193", + "measuredW": "206", + "measuredH": "48", + "w": "206", + "h": "48", + "x": "1135", + "y": "2374", + "properties": { + "controlName": "100-type-checkers:typescript" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "199", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "7", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "91", + "measuredW": "81", + "measuredH": "25", + "x": "54", + "y": "15", + "properties": { + "size": "17", + "text": "TypeScript" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "182", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "182", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "156", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "5", + "typeID": "Icon", + "zOrder": "5", + "measuredW": "24", + "measuredH": "24", + "x": "156", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3884", + "typeID": "__group__", + "zOrder": "194", + "measuredW": "247", + "measuredH": "61", + "w": "247", + "h": "61", + "x": "536", + "y": "2365", + "properties": { + "controlName": "117-progressive-web-apps" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "241", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "6", + "y": "11", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "172", + "measuredH": "25", + "x": "41", + "y": "24", + "properties": { + "size": "17", + "text": "Progressive Web Apps" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3885", + "typeID": "Canvas", + "zOrder": "195", + "w": "228", + "h": "428", + "measuredW": "100", + "measuredH": "70", + "x": "183", + "y": "2379" + }, + { + "ID": "3886", + "typeID": "__group__", + "zOrder": "196", + "measuredW": "192", + "measuredH": "32", + "w": "192", + "h": "32", + "x": "201", + "y": "2507", + "properties": { + "controlName": "103-progressive-web-apps:service-workers" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "192", + "measuredW": "147", + "measuredH": "32", + "x": "0", + "y": "0", + "properties": { + "align": "center", + "color": "16776960", + "text": "Service Workers", + "size": "18" + } + } + ] + } + } + }, + { + "ID": "3887", + "typeID": "__group__", + "zOrder": "197", + "measuredW": "192", + "measuredH": "32", + "w": "192", + "h": "32", + "x": "201", + "y": "2395", + "properties": { + "controlName": "100-progressive-web-apps:storage" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "192", + "measuredW": "78", + "measuredH": "32", + "x": "0", + "y": "0", + "properties": { + "align": "center", + "color": "16776960", + "text": "Storage", + "size": "18" + } + } + ] + } + } + }, + { + "ID": "3888", + "typeID": "__group__", + "zOrder": "198", + "measuredW": "192", + "measuredH": "32", + "w": "192", + "h": "32", + "x": "201", + "y": "2545", + "properties": { + "controlName": "104-progressive-web-apps:location" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "192", + "measuredW": "84", + "measuredH": "32", + "x": "0", + "y": "0", + "properties": { + "align": "center", + "color": "16770457", + "text": "Location", + "size": "18" + } + } + ] + } + } + }, + { + "ID": "3889", + "typeID": "__group__", + "zOrder": "199", + "measuredW": "192", + "measuredH": "32", + "w": "192", + "h": "32", + "x": "201", + "y": "2582", + "properties": { + "controlName": "105-progressive-web-apps:notifications" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "192", + "measuredW": "115", + "measuredH": "32", + "x": "0", + "y": "0", + "properties": { + "align": "center", + "color": "16770457", + "text": "Notifications", + "size": "18" + } + } + ] + } + } + }, + { + "ID": "3890", + "typeID": "__group__", + "zOrder": "200", + "measuredW": "192", + "measuredH": "32", + "w": "192", + "h": "32", + "x": "201", + "y": "2620", + "properties": { + "controlName": "106-progressive-web-apps:device-orientation" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "192", + "measuredW": "167", + "measuredH": "32", + "x": "0", + "y": "0", + "properties": { + "align": "center", + "color": "16770457", + "text": "Device Orientation", + "size": "18" + } + } + ] + } + } + }, + { + "ID": "3891", + "typeID": "__group__", + "zOrder": "201", + "measuredW": "192", + "measuredH": "32", + "w": "192", + "h": "32", + "x": "201", + "y": "2657", + "properties": { + "controlName": "107-progressive-web-apps:payments" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "192", + "measuredW": "94", + "measuredH": "32", + "x": "0", + "y": "0", + "properties": { + "align": "center", + "color": "16770457", + "text": "Payments", + "size": "18" + } + } + ] + } + } + }, + { + "ID": "3892", + "typeID": "__group__", + "zOrder": "202", + "measuredW": "192", + "measuredH": "32", + "w": "192", + "h": "32", + "x": "201", + "y": "2695", + "properties": { + "controlName": "108-progressive-web-apps:credentials" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "192", + "measuredW": "108", + "measuredH": "32", + "x": "0", + "y": "0", + "properties": { + "align": "center", + "color": "16770457", + "text": "Credentials", + "size": "18" + } + } + ] + } + } + }, + { + "ID": "3893", + "typeID": "__group__", + "zOrder": "203", + "measuredW": "192", + "measuredH": "32", + "w": "192", + "h": "32", + "x": "201", + "y": "2432", + "properties": { + "controlName": "101-progressive-web-apps:web-sockets" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "192", + "measuredW": "120", + "measuredH": "32", + "x": "0", + "y": "0", + "properties": { + "align": "center", + "color": "16776960", + "text": "Web Sockets", + "size": "18" + } + } + ] + } + } + }, + { + "ID": "3894", + "typeID": "Label", + "zOrder": "204", + "w": "156", + "measuredW": "151", + "measuredH": "25", + "x": "219", + "y": "2740", + "properties": { + "size": "17", + "text": "Learn different Web" + } + }, + { + "ID": "3895", + "typeID": "Label", + "zOrder": "205", + "w": "148", + "measuredW": "143", + "measuredH": "25", + "x": "223", + "y": "2766", + "properties": { + "size": "17", + "text": "APIs used in PWAs" + } + }, + { + "ID": "3896", + "typeID": "Icon", + "zOrder": "206", + "measuredW": "24", + "measuredH": "24", + "x": "174", + "y": "2368", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3897", + "typeID": "Icon", + "zOrder": "207", + "measuredW": "24", + "measuredH": "24", + "x": "174", + "y": "2368", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "3898", + "typeID": "__group__", + "zOrder": "208", + "measuredW": "192", + "measuredH": "32", + "w": "192", + "h": "32", + "x": "201", + "y": "2470", + "properties": { + "controlName": "102-progressive-web-apps:server-sent-events" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "192", + "measuredW": "170", + "measuredH": "32", + "x": "0", + "y": "0", + "properties": { + "align": "center", + "color": "16776960", + "text": "Server Sent Events", + "size": "18" + } + } + ] + } + } + }, + { + "ID": "3899", + "typeID": "Canvas", + "zOrder": "209", + "w": "262", + "h": "281", + "measuredW": "100", + "measuredH": "70", + "x": "435", + "y": "2454" + }, + { + "ID": "3900", + "typeID": "__group__", + "zOrder": "210", + "measuredW": "225", + "measuredH": "32", + "w": "225", + "h": "32", + "x": "455", + "y": "2473", + "properties": { + "controlName": "109-progressive-web-apps:prpl-pattern" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "225", + "measuredW": "124", + "measuredH": "32", + "x": "0", + "y": "0", + "properties": { + "align": "center", + "color": "16776960", + "size": "18", + "text": "PRPL Pattern" + } + } + ] + } + } + }, + { + "ID": "3901", + "typeID": "__group__", + "zOrder": "211", + "measuredW": "225", + "measuredH": "32", + "w": "225", + "h": "32", + "x": "455", + "y": "2511", + "properties": { + "controlName": "110-progressive-web-apps:rail-model" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "225", + "measuredW": "110", + "measuredH": "32", + "x": "0", + "y": "0", + "properties": { + "align": "center", + "color": "16776960", + "size": "18", + "text": "RAIL Model" + } + } + ] + } + } + }, + { + "ID": "3902", + "typeID": "__group__", + "zOrder": "212", + "measuredW": "225", + "measuredH": "32", + "w": "225", + "h": "32", + "x": "455", + "y": "2549", + "properties": { + "controlName": "111-progressive-web-apps:performance-metrics" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "225", + "measuredW": "185", + "measuredH": "32", + "x": "0", + "y": "0", + "properties": { + "align": "center", + "color": "16776960", + "size": "18", + "text": "Performance Metrics" + } + } + ] + } + } + }, + { + "ID": "3903", + "typeID": "__group__", + "zOrder": "213", + "measuredW": "225", + "measuredH": "32", + "w": "225", + "h": "32", + "x": "455", + "y": "2586", + "properties": { + "controlName": "112-progressive-web-apps:lighthouse" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "225", + "measuredW": "156", + "measuredH": "32", + "x": "0", + "y": "0", + "properties": { + "align": "center", + "color": "16776960", + "size": "18", + "text": "Using Lighthouse" + } + } + ] + } + } + }, + { + "ID": "3904", + "typeID": "__group__", + "zOrder": "214", + "measuredW": "225", + "measuredH": "32", + "w": "225", + "h": "32", + "x": "455", + "y": "2624", + "properties": { + "controlName": "113-progressive-web-apps:browser-devtools" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextInput", + "zOrder": "0", + "w": "225", + "measuredW": "141", + "measuredH": "32", + "x": "0", + "y": "0", + "properties": { + "align": "center", + "color": "16776960", + "size": "18", + "text": "Using DevTools" + } + } + ] + } + } + }, + { + "ID": "3905", + "typeID": "Label", + "zOrder": "215", + "w": "185", + "measuredW": "176", + "measuredH": "25", + "x": "475", + "y": "2669", + "properties": { + "size": "17", + "text": "Calculating, Measuring" + } + }, + { + "ID": "3906", + "typeID": "Label", + "zOrder": "216", + "w": "224", + "measuredW": "212", + "measuredH": "25", + "x": "455", + "y": "2696", + "properties": { + "size": "17", + "text": "and improving performance" + } + }, + { + "ID": "3907", + "typeID": "Icon", + "zOrder": "217", + "measuredW": "24", + "measuredH": "24", + "x": "428", + "y": "2445", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3908", + "typeID": "Icon", + "zOrder": "218", + "measuredW": "24", + "measuredH": "24", + "x": "428", + "y": "2445", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "3909", + "typeID": "__group__", + "zOrder": "219", + "measuredW": "285", + "measuredH": "59", + "w": "285", + "h": "59", + "x": "712", + "y": "2519", + "properties": { + "controlName": "118-server-side-rendering" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "278", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "9", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "225", + "measuredH": "25", + "x": "29", + "y": "22", + "properties": { + "size": "17", + "text": "Server Side Rendering (SSR)" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3910", + "typeID": "__group__", + "zOrder": "220", + "measuredW": "125", + "measuredH": "41", + "w": "125", + "h": "41", + "x": "1065", + "y": "2483", + "properties": { + "controlName": "100-server-side-rendering:react-js" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "116", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "47", + "measuredH": "25", + "x": "34", + "y": "8", + "properties": { + "text": "React", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "101", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "101", + "y": "9", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3911", + "typeID": "__group__", + "zOrder": "221", + "measuredW": "116", + "measuredH": "41", + "w": "116", + "h": "41", + "x": "1227", + "y": "2482", + "properties": { + "controlName": "100-server-side-rendering:react-js:next-js" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "106", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "52", + "measuredH": "25", + "x": "27", + "y": "8", + "properties": { + "size": "17", + "text": "Next.js" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "92", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "92", + "y": "9", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3912", + "typeID": "__group__", + "zOrder": "222", + "measuredW": "127", + "measuredH": "41", + "w": "127", + "h": "41", + "x": "1065", + "y": "2532", + "properties": { + "controlName": "101-server-side-rendering:angular" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "119", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "69", + "measuredW": "59", + "measuredH": "25", + "x": "35", + "y": "8", + "properties": { + "size": "17", + "text": "Angular" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "103", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "103", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "103", + "y": "9", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3913", + "typeID": "__group__", + "zOrder": "223", + "measuredW": "121", + "measuredH": "41", + "w": "121", + "h": "41", + "x": "1224", + "y": "2532", + "properties": { + "controlName": "100-server-side-rendering:angular:universal" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "111", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "73", + "measuredW": "72", + "measuredH": "25", + "x": "19", + "y": "8", + "properties": { + "size": "17", + "text": "Universal" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "97", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "97", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "97", + "y": "9", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3914", + "typeID": "__group__", + "zOrder": "224", + "measuredW": "127", + "measuredH": "41", + "w": "127", + "h": "41", + "x": "1067", + "y": "2581", + "properties": { + "controlName": "102-server-side-rendering:vue-js" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "118", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "48", + "measuredW": "45", + "measuredH": "25", + "x": "37", + "y": "8", + "properties": { + "text": "Vue.js", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "103", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "103", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "103", + "y": "9", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3915", + "typeID": "__group__", + "zOrder": "225", + "measuredW": "122", + "measuredH": "41", + "w": "122", + "h": "41", + "x": "1222", + "y": "2581", + "properties": { + "controlName": "100-server-side-rendering:vue-js:nuxt-js" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "111", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "55", + "measuredW": "52", + "measuredH": "25", + "x": "28", + "y": "8", + "properties": { + "size": "17", + "text": "Nuxt.js" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "98", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "98", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "98", + "y": "9", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3916", + "typeID": "__group__", + "zOrder": "226", + "measuredW": "220", + "measuredH": "59", + "w": "220", + "h": "59", + "x": "477", + "y": "2939", + "properties": { + "controlName": "121-mobile-applications" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "210", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "9", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "169", + "measuredW": "150", + "measuredH": "25", + "x": "27", + "y": "22", + "properties": { + "size": "17", + "text": "Mobile Applications" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "196", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "196", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3917", + "typeID": "__group__", + "zOrder": "227", + "measuredW": "156", + "measuredH": "41", + "w": "156", + "h": "41", + "x": "177", + "y": "2864", + "properties": { + "controlName": "100-mobile-applications:react-native" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "147", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "9", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "101", + "measuredW": "100", + "measuredH": "25", + "x": "32", + "y": "8", + "properties": { + "size": "17", + "text": "React Native" + } + }, + { + "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": "3918", + "typeID": "__group__", + "zOrder": "228", + "measuredW": "147", + "measuredH": "41", + "w": "147", + "h": "41", + "x": "186", + "y": "3004", + "properties": { + "controlName": "101-mobile-applications:nativescript" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "147", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "94", + "measuredH": "25", + "x": "27", + "y": "8", + "properties": { + "text": "NativeScript", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3919", + "typeID": "__group__", + "zOrder": "229", + "measuredW": "157", + "measuredH": "41", + "w": "157", + "h": "41", + "x": "176", + "y": "2911", + "properties": { + "controlName": "102-mobile-applications:flutter" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "147", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "10", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "53", + "measuredW": "50", + "measuredH": "25", + "x": "57", + "y": "8", + "properties": { + "size": "17", + "text": "Flutter" + } + }, + { + "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": "3920", + "typeID": "__group__", + "zOrder": "230", + "measuredW": "157", + "measuredH": "41", + "w": "157", + "h": "41", + "x": "1171", + "y": "2980", + "properties": { + "controlName": "105-static-site-generators:hugo" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "147", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "43", + "measuredW": "42", + "measuredH": "25", + "x": "52", + "y": "8", + "properties": { + "size": "17", + "text": "Hugo" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "133", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "133", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "133", + "y": "9", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3921", + "typeID": "__group__", + "zOrder": "231", + "measuredW": "147", + "measuredH": "41", + "w": "147", + "h": "41", + "x": "186", + "y": "2958", + "properties": { + "controlName": "103-mobile-applications:ionic" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "147", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "40", + "measuredW": "38", + "measuredH": "25", + "x": "54", + "y": "8", + "properties": { + "size": "17", + "text": "Ionic" + } + } + ] + } + } + }, + { + "ID": "3922", + "typeID": "__group__", + "zOrder": "232", + "measuredW": "152", + "measuredH": "50", + "w": "152", + "h": "50", + "x": "822", + "y": "2813", + "properties": { + "controlName": "119-graphql" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "146", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "71", + "measuredH": "25", + "x": "37", + "y": "12", + "properties": { + "size": "17", + "text": "GraphQL" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "128", + "y": "13", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "128", + "y": "13", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3923", + "typeID": "__group__", + "zOrder": "233", + "measuredW": "175", + "measuredH": "41", + "w": "175", + "h": "41", + "x": "571", + "y": "2860", + "properties": { + "controlName": "101-graphql:relay-modern" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "168", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "115", + "measuredW": "107", + "measuredH": "25", + "x": "40", + "y": "8", + "properties": { + "size": "17", + "text": "Relay Modern" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "9", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3924", + "typeID": "__group__", + "zOrder": "234", + "measuredW": "238", + "measuredH": "60", + "w": "238", + "h": "60", + "x": "832", + "y": "2263", + "properties": { + "controlName": "113-web-components" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "230", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "10", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "137", + "measuredH": "25", + "x": "44", + "y": "23", + "properties": { + "size": "17", + "text": "Web Components" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "214", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "214", + "y": "0", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3925", + "typeID": "__group__", + "zOrder": "235", + "measuredW": "199", + "measuredH": "40", + "w": "199", + "h": "40", + "x": "1147", + "y": "2231", + "properties": { + "controlName": "100-web-components:html-templates" + }, + "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": "132", + "measuredW": "131", + "measuredH": "25", + "x": "30", + "y": "7", + "properties": { + "size": "17", + "text": "HTML Templates" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "175", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "175", + "y": "8", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3926", + "typeID": "__group__", + "zOrder": "236", + "measuredW": "199", + "measuredH": "40", + "w": "199", + "h": "40", + "x": "1147", + "y": "2277", + "properties": { + "controlName": "101-web-components:custom-elements" + }, + "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": "139", + "measuredW": "136", + "measuredH": "25", + "x": "30", + "y": "7", + "properties": { + "size": "17", + "text": "Custom Elements" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "175", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "175", + "y": "8", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3927", + "typeID": "__group__", + "zOrder": "237", + "measuredW": "199", + "measuredH": "40", + "w": "199", + "h": "40", + "x": "1147", + "y": "2322", + "properties": { + "controlName": "102-web-components:shadow-dom" + }, + "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": "105", + "measuredW": "105", + "measuredH": "25", + "x": "38", + "y": "7", + "properties": { + "size": "17", + "text": "Shadow DOM" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "175", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "175", + "y": "8", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3928", + "typeID": "__group__", + "zOrder": "238", + "measuredW": "156", + "measuredH": "43", + "w": "156", + "h": "43", + "x": "189", + "y": "1423", + "properties": { + "controlName": "101-css-preprocessors:postcss" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "146", + "h": "43", + "measuredW": "200", + "measuredH": "140", + "x": "10", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "74", + "measuredW": "66", + "measuredH": "25", + "x": "49", + "y": "9", + "properties": { + "size": "17", + "text": "PostCSS" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "10", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "10", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3929", + "typeID": "__group__", + "zOrder": "239", + "measuredW": "156", + "measuredH": "41", + "w": "156", + "h": "41", + "x": "189", + "y": "1376", + "properties": { + "controlName": "100-css-preprocessors:sass" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "146", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "10", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "46", + "measuredW": "37", + "measuredH": "25", + "x": "60", + "y": "8", + "properties": { + "size": "17", + "text": "Sass" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "9", + "properties": { + "color": "10066329", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3930", + "typeID": "__group__", + "zOrder": "240", + "measuredW": "212", + "measuredH": "40", + "w": "212", + "h": "40", + "x": "849", + "y": "1894", + "properties": { + "controlName": "102-modern-css:styled-jsx" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "201", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "w": "90", + "measuredW": "80", + "measuredH": "25", + "x": "56", + "y": "7", + "properties": { + "size": "17", + "text": "Styled JSX" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "188", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "188", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "188", + "y": "8", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3931", + "typeID": "__group__", + "zOrder": "241", + "measuredW": "159", + "measuredH": "40", + "w": "159", + "h": "40", + "x": "1123", + "y": "1642", + "properties": { + "controlName": "101-build-tools:module-bundlers:esbuild" + }, + "children": { + "controls": { + "control": [ + { + "ID": "1", + "typeID": "Label", + "zOrder": "0", + "w": "72", + "measuredW": "72", + "measuredH": "25", + "x": "52", + "y": "7", + "properties": { + "size": "17", + "text": "Webpack" + } + }, + { + "ID": "2", + "typeID": "TextArea", + "zOrder": "1", + "w": "149", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "2", + "measuredW": "55", + "measuredH": "25", + "x": "50", + "y": "7", + "properties": { + "size": "17", + "text": "esbuild" + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "135", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "5", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "135", + "y": "8", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3932", + "typeID": "__group__", + "zOrder": "242", + "measuredW": "159", + "measuredH": "40", + "w": "159", + "h": "40", + "x": "1123", + "y": "1597", + "properties": { + "controlName": "104-build-tools:module-bundlers:vite" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Label", + "zOrder": "0", + "w": "46", + "measuredW": "49", + "measuredH": "25", + "x": "65", + "y": "7", + "properties": { + "size": "17", + "text": "Parcel" + } + }, + { + "ID": "1", + "typeID": "TextArea", + "zOrder": "1", + "w": "151", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "30", + "measuredH": "25", + "x": "53", + "y": "7", + "properties": { + "size": "17", + "text": "Vite" + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "135", + "y": "7", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "135", + "y": "7", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "5", + "typeID": "Icon", + "zOrder": "5", + "measuredW": "24", + "measuredH": "24", + "x": "135", + "y": "7", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10027263" + } + } + ] + } + } + }, + { + "ID": "3933", + "typeID": "__group__", + "zOrder": "243", + "measuredW": "157", + "measuredH": "41", + "w": "157", + "h": "41", + "x": "1172", + "y": "2705", + "properties": { + "controlName": "107-static-site-generators:eleventy" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "147", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457", + "align": "center", + "size": "17" + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "133", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "133", + "y": "9", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10027263" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "3", + "measuredW": "66", + "measuredH": "25", + "x": "41", + "y": "8", + "properties": { + "text": "Eleventy", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3934", + "typeID": "__group__", + "zOrder": "244", + "measuredW": "158", + "measuredH": "49", + "w": "158", + "h": "49", + "x": "193", + "y": "1261", + "properties": { + "controlName": "102-package-managers:pnpm" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "151", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "44", + "measuredH": "25", + "x": "61", + "y": "12", + "properties": { + "size": "17", + "text": "pnpm" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "13", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "13", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + }, + { + "ID": "3935", + "typeID": "__group__", + "zOrder": "245", + "measuredW": "152", + "measuredH": "40", + "w": "152", + "h": "40", + "x": "191", + "y": "1647", + "properties": { + "controlName": "103-pick-a-framework:svelte" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "145", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "48", + "measuredH": "25", + "x": "58", + "y": "7", + "properties": { + "size": "17", + "text": "Svelte" + } + }, + { + "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": "3936", + "typeID": "__group__", + "zOrder": "246", + "measuredW": "152", + "measuredH": "40", + "w": "152", + "h": "40", + "x": "191", + "y": "1693", + "properties": { + "controlName": "104-pick-a-framework:solid-js" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "145", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "7", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "61", + "measuredH": "25", + "x": "58", + "y": "7", + "properties": { + "size": "17", + "text": "Solid JS" + } + }, + { + "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": "3937", + "typeID": "__group__", + "zOrder": "247", + "measuredW": "204", + "measuredH": "39", + "w": "204", + "h": "39", + "x": "1122", + "y": "2051", + "properties": { + "controlName": "104-testing-your-apps:playwright" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "197", + "h": "39", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "78", + "measuredH": "25", + "x": "60", + "y": "7", + "properties": { + "size": "17", + "text": "Playwright" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "180", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "180", + "y": "8", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3938", + "typeID": "__group__", + "zOrder": "248", + "measuredW": "116", + "measuredH": "41", + "w": "116", + "h": "41", + "x": "1227", + "y": "2435", + "properties": { + "controlName": "101-server-side-rendering:react-js:remix" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "106", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "49", + "measuredH": "25", + "x": "28", + "y": "8", + "properties": { + "size": "17", + "text": "Remix" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "92", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "92", + "y": "9", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3939", + "typeID": "__group__", + "zOrder": "249", + "measuredW": "159", + "measuredH": "41", + "w": "159", + "h": "41", + "x": "1171", + "y": "3074", + "properties": { + "controlName": "103-static-site-generators:remix" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "148", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "49", + "measuredH": "25", + "x": "49", + "y": "8", + "properties": { + "size": "17", + "text": "Remix" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "135", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "135", + "y": "9", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + }, + { + "ID": "3940", + "typeID": "__group__", + "zOrder": "250", + "measuredW": "196", + "measuredH": "41", + "w": "196", + "h": "41", + "x": "795", + "y": "3106", + "properties": { + "controlName": "102-desktop-applications:flutter" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "188", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "50", + "measuredH": "25", + "x": "69", + "y": "8", + "properties": { + "size": "17", + "text": "Flutter" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "172", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "172", + "y": "8", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "40463" + } + } + ] + } + } + }, + { + "ID": "3941", + "typeID": "__group__", + "zOrder": "251", + "measuredW": "157", + "measuredH": "41", + "w": "157", + "h": "41", + "x": "1173", + "y": "2750", + "properties": { + "controlName": "106-static-site-generators:astro" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "147", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "39", + "measuredH": "25", + "x": "54", + "y": "8", + "properties": { + "size": "17", + "text": "Astro" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "133", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "133", + "y": "9", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10027263" + } + } + ] + } + } + }, + { + "ID": "3942", + "typeID": "__group__", + "zOrder": "252", + "measuredW": "128", + "measuredH": "40", + "w": "128", + "h": "40", + "x": "1067", + "y": "2631", + "properties": { + "controlName": "103-server-side-rendering:svelte" + }, + "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", + "measuredW": "48", + "measuredH": "25", + "x": "36", + "y": "7", + "properties": { + "size": "17", + "text": "Svelte" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "104", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "104", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "104", + "y": "8", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3943", + "typeID": "__group__", + "zOrder": "253", + "measuredW": "122", + "measuredH": "41", + "w": "122", + "h": "41", + "x": "1223", + "y": "2630", + "properties": { + "controlName": "100-server-side-rendering:svelte:svelte-kit" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "111", + "h": "41", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "73", + "measuredH": "25", + "x": "17", + "y": "8", + "properties": { + "size": "17", + "text": "Svelte Kit" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "98", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "98", + "y": "9", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "98", + "y": "9", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3944", + "typeID": "__group__", + "zOrder": "254", + "measuredW": "411", + "measuredH": "87", + "w": "411", + "h": "87", + "x": "176", + "y": "2245", + "properties": { + "controlName": "116-auth-strategies" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "401", + "h": "87", + "measuredW": "200", + "measuredH": "140", + "x": "10", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "227", + "measuredH": "28", + "x": "97", + "y": "16", + "properties": { + "size": "20", + "text": "Authentication Strategies" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "34", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "34", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10027263" + } + }, + { + "ID": "4", + "typeID": "Label", + "zOrder": "4", + "measuredW": "353", + "measuredH": "25", + "x": "34", + "y": "46", + "properties": { + "size": "17", + "text": "JWT, OAuth, SSO, Basic Auth, Session Auth etc" + } + } + ] + } + } + }, + { + "ID": "3945", + "typeID": "__group__", + "zOrder": "255", + "measuredW": "333", + "measuredH": "228", + "w": "333", + "h": "228", + "x": "196", + "y": "1844", + "properties": { + "controlName": "114-css-frameworks:js-first" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "333", + "h": "228", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "263", + "measuredH": "24", + "x": "19", + "y": "163", + "properties": { + "size": "16", + "text": "JS based and better to use with your" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "247", + "measuredH": "24", + "x": "19", + "y": "189", + "properties": { + "size": "16", + "text": "framework based JavaScript apps." + } + } + ] + } + } + }, + { + "ID": "3946", + "typeID": "__group__", + "zOrder": "256", + "measuredW": "145", + "measuredH": "40", + "w": "145", + "h": "40", + "x": "372", + "y": "1860", + "properties": { + "controlName": "100-css-frameworks:js-first:tailwind-css" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "136", + "h": "40", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "61", + "measuredH": "25", + "x": "37", + "y": "7", + "properties": { + "size": "17", + "text": "Tailwind" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "121", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "121", + "y": "8", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "121", + "y": "8", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10027263" + } + } + ] + } + } + }, + { + "ID": "3947", + "typeID": "__group__", + "zOrder": "257", + "measuredW": "150", + "measuredH": "37", + "w": "150", + "h": "37", + "x": "372", + "y": "1907", + "properties": { + "controlName": "102-css-frameworks:js-first:material-ui" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "137", + "h": "37", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "86", + "measuredH": "25", + "x": "26", + "y": "6", + "properties": { + "size": "17", + "text": "Material UI" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "126", + "y": "7", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "126", + "y": "7", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "126", + "y": "7", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3948", + "typeID": "__group__", + "zOrder": "258", + "measuredW": "157", + "measuredH": "39", + "w": "157", + "h": "39", + "x": "208", + "y": "1861", + "properties": { + "controlName": "104-css-frameworks:js-first:mantine" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "149", + "h": "39", + "measuredW": "200", + "measuredH": "140", + "x": "8", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "63", + "measuredH": "25", + "x": "51", + "y": "7", + "properties": { + "size": "17", + "text": "Mantine" + } + }, + { + "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": "3949", + "typeID": "__group__", + "zOrder": "259", + "measuredW": "149", + "measuredH": "37", + "w": "149", + "h": "37", + "x": "372", + "y": "1952", + "properties": { + "controlName": "103-css-frameworks:js-first:radix-ui" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "139", + "h": "37", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "66", + "measuredH": "25", + "x": "34", + "y": "6", + "properties": { + "size": "17", + "text": "Radix UI" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "125", + "y": "7", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "125", + "y": "7", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "4", + "typeID": "Icon", + "zOrder": "4", + "measuredW": "24", + "measuredH": "24", + "x": "125", + "y": "7", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3950", + "typeID": "__group__", + "zOrder": "260", + "measuredW": "161", + "measuredH": "39", + "w": "161", + "h": "39", + "x": "204", + "y": "1906", + "properties": { + "controlName": "101-css-frameworks:js-first:chakra-ui" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "152", + "h": "39", + "measuredW": "200", + "measuredH": "140", + "x": "9", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "78", + "measuredH": "25", + "x": "44", + "y": "8", + "properties": { + "size": "17", + "text": "Chakra UI" + } + }, + { + "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": "3951", + "typeID": "__group__", + "zOrder": "261", + "measuredW": "161", + "measuredH": "39", + "w": "161", + "h": "39", + "x": "205", + "y": "1951", + "properties": { + "controlName": "105-css-frameworks:js-first:daisy-ui" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "152", + "h": "39", + "measuredW": "200", + "measuredH": "140", + "x": "9", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "60", + "measuredH": "25", + "x": "55", + "y": "8", + "properties": { + "size": "17", + "text": "DaisyUI" + } + }, + { + "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": "3952", + "typeID": "TextArea", + "zOrder": "262", + "w": "438", + "h": "118", + "measuredW": "200", + "measuredH": "140", + "x": "391", + "y": "3403" + }, + { + "ID": "3953", + "typeID": "Label", + "zOrder": "263", + "measuredW": "366", + "measuredH": "25", + "x": "427", + "y": "3422", + "properties": { + "size": "17", + "text": "Continue Learning with following relevant tracks" + } + }, + { + "ID": "3954", + "typeID": "__group__", + "zOrder": "264", + "measuredW": "198", + "measuredH": "44", + "w": "198", + "h": "44", + "x": "614", + "y": "3459", + "properties": { + "controlName": "ext_link:roadmap.sh/nodejs" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "198", + "h": "44", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "137", + "measuredH": "25", + "x": "30", + "y": "9", + "properties": { + "size": "17", + "text": "Node.js Roadmap" + } + } + ] + } + } + }, + { + "ID": "3955", + "typeID": "__group__", + "zOrder": "265", + "measuredW": "198", + "measuredH": "44", + "w": "198", + "h": "44", + "x": "406", + "y": "3459", + "properties": { + "controlName": "ext_link:roadmap.sh/typescript" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "198", + "h": "44", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "160", + "measuredH": "25", + "x": "21", + "y": "9", + "properties": { + "size": "17", + "text": "TypeScript Roadmap" + } + } + ] + } + } + }, + { + "ID": "3956", + "typeID": "Arrow", + "zOrder": "266", + "w": "1", + "h": "67", + "measuredW": "150", + "measuredH": "100", + "x": "1048", + "y": "3560", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "16777215", + "p0": { + "x": 1, + "y": 67.09090909090901 + }, + "p1": { + "x": 0.4072427393330943, + "y": 0.00953746862674794 + }, + "p2": { + "x": 1, + "y": 0 + } + } + }, + { + "ID": "3957", + "typeID": "__group__", + "zOrder": "267", + "measuredW": "262", + "measuredH": "47", + "w": "262", + "h": "47", + "x": "435", + "y": "2740", + "properties": { + "controlName": "ext_link:roadmap.sh/best-practices/frontend-performance" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "262", + "h": "47", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "4273622", + "borderColor": "4273622" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "216", + "measuredH": "25", + "x": "23", + "y": "11", + "properties": { + "size": "17", + "text": "Performance Best Practices", + "color": "16777215" + } + } + ] + } + } + } + ] + }, + "attributes": { + "name": "New Wireframe 9 copy 7", + "order": 1000156.2209166192, + "parentID": null, + "notes": null + }, + "branchID": "Master", + "resourceID": "057DB19F-D6AC-44FC-8C5C-52D4D800A91B", + "mockupH": "3436", + "mockupW": "1172", + "measuredW": "1346", + "measuredH": "3627", + "version": "1.0" + }, + "groupOffset": { + "x": 0, + "y": 0 + }, + "dependencies": [], + "projectID": "file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr" +} diff --git a/public/jsons/roadmaps/full-stack.json b/src/data/roadmaps/full-stack/full-stack.json similarity index 100% rename from public/jsons/roadmaps/full-stack.json rename to src/data/roadmaps/full-stack/full-stack.json diff --git a/public/jsons/roadmaps/golang.json b/src/data/roadmaps/golang/golang.json similarity index 100% rename from public/jsons/roadmaps/golang.json rename to src/data/roadmaps/golang/golang.json diff --git a/public/jsons/roadmaps/graphql.json b/src/data/roadmaps/graphql/graphql.json similarity index 100% rename from public/jsons/roadmaps/graphql.json rename to src/data/roadmaps/graphql/graphql.json diff --git a/public/jsons/roadmaps/java.json b/src/data/roadmaps/java/java.json similarity index 100% rename from public/jsons/roadmaps/java.json rename to src/data/roadmaps/java/java.json diff --git a/public/jsons/roadmaps/javascript.json b/src/data/roadmaps/javascript/javascript.json similarity index 100% rename from public/jsons/roadmaps/javascript.json rename to src/data/roadmaps/javascript/javascript.json diff --git a/public/jsons/roadmaps/kubernetes.json b/src/data/roadmaps/kubernetes/kubernetes.json similarity index 100% rename from public/jsons/roadmaps/kubernetes.json rename to src/data/roadmaps/kubernetes/kubernetes.json diff --git a/public/jsons/roadmaps/mongodb.json b/src/data/roadmaps/mongodb/mongodb.json similarity index 100% rename from public/jsons/roadmaps/mongodb.json rename to src/data/roadmaps/mongodb/mongodb.json diff --git a/public/jsons/roadmaps/nodejs.json b/src/data/roadmaps/nodejs/nodejs.json similarity index 100% rename from public/jsons/roadmaps/nodejs.json rename to src/data/roadmaps/nodejs/nodejs.json diff --git a/public/jsons/roadmaps/postgresql-dba.json b/src/data/roadmaps/postgresql-dba/postgresql-dba.json similarity index 100% rename from public/jsons/roadmaps/postgresql-dba.json rename to src/data/roadmaps/postgresql-dba/postgresql-dba.json diff --git a/public/jsons/roadmaps/prompt-engineering.json b/src/data/roadmaps/prompt-engineering/prompt-engineering.json similarity index 100% rename from public/jsons/roadmaps/prompt-engineering.json rename to src/data/roadmaps/prompt-engineering/prompt-engineering.json diff --git a/public/jsons/roadmaps/python.json b/src/data/roadmaps/python/python.json similarity index 100% rename from public/jsons/roadmaps/python.json rename to src/data/roadmaps/python/python.json diff --git a/public/jsons/roadmaps/qa.json b/src/data/roadmaps/qa/qa.json similarity index 100% rename from public/jsons/roadmaps/qa.json rename to src/data/roadmaps/qa/qa.json diff --git a/public/jsons/roadmaps/react.json b/src/data/roadmaps/react/react.json similarity index 100% rename from public/jsons/roadmaps/react.json rename to src/data/roadmaps/react/react.json diff --git a/public/jsons/roadmaps/software-architect.json b/src/data/roadmaps/software-architect/software-architect.json similarity index 100% rename from public/jsons/roadmaps/software-architect.json rename to src/data/roadmaps/software-architect/software-architect.json diff --git a/public/jsons/roadmaps/software-design-architecture.json b/src/data/roadmaps/software-design-architecture/software-design-architecture.json similarity index 100% rename from public/jsons/roadmaps/software-design-architecture.json rename to src/data/roadmaps/software-design-architecture/software-design-architecture.json diff --git a/public/jsons/roadmaps/spring-boot.json b/src/data/roadmaps/spring-boot/spring-boot.json similarity index 100% rename from public/jsons/roadmaps/spring-boot.json rename to src/data/roadmaps/spring-boot/spring-boot.json diff --git a/public/jsons/roadmaps/system-design.json b/src/data/roadmaps/system-design/system-design.json similarity index 100% rename from public/jsons/roadmaps/system-design.json rename to src/data/roadmaps/system-design/system-design.json diff --git a/public/jsons/roadmaps/typescript.json b/src/data/roadmaps/typescript/typescript.json similarity index 100% rename from public/jsons/roadmaps/typescript.json rename to src/data/roadmaps/typescript/typescript.json diff --git a/public/jsons/roadmaps/ux-design.json b/src/data/roadmaps/ux-design/ux-design.json similarity index 100% rename from public/jsons/roadmaps/ux-design.json rename to src/data/roadmaps/ux-design/ux-design.json diff --git a/public/jsons/roadmaps/vue.json b/src/data/roadmaps/vue/vue.json similarity index 100% rename from public/jsons/roadmaps/vue.json rename to src/data/roadmaps/vue/vue.json diff --git a/src/lib/roadmap.ts b/src/lib/roadmap.ts index d15bba55e..4481b08ac 100644 --- a/src/lib/roadmap.ts +++ b/src/lib/roadmap.ts @@ -2,7 +2,6 @@ import type { PageSponsorType } from '../components/PageSponsor'; import type { MarkdownFileType } from './file'; export interface RoadmapFrontmatter { - jsonUrl: string; pdfUrl: string; order: number; briefTitle: string; diff --git a/src/pages/[roadmapId]/index.astro b/src/pages/[roadmapId]/index.astro index ef99ea899..ea5402671 100644 --- a/src/pages/[roadmapId]/index.astro +++ b/src/pages/[roadmapId]/index.astro @@ -54,8 +54,6 @@ if (roadmapData.schema) { if (roadmapFAQs.length) { jsonLdSchema.push(generateFAQSchema(roadmapFAQs)); } - -const contentContributionLink = `https://github.com/kamranahmedse/developer-roadmap/tree/master/src/data/roadmaps/${roadmapId}/content`; --- { - !roadmapData.isUpcoming && roadmapData.jsonUrl && ( + !roadmapData.isUpcoming && roadmapData.briefTitle !== 'Android' && (
@@ -108,7 +105,7 @@ const contentContributionLink = `https://github.com/kamranahmedse/developer-road } { - !roadmapData.isUpcoming && !roadmapData.jsonUrl && ( + !roadmapData.isUpcoming && roadmapData.briefTitle === 'Android' && (
diff --git a/src/pages/[roadmapId]/index.json.ts b/src/pages/[roadmapId]/index.json.ts new file mode 100644 index 000000000..58d077e3e --- /dev/null +++ b/src/pages/[roadmapId]/index.json.ts @@ -0,0 +1,27 @@ +import type { APIRoute } from 'astro'; + +export async function getStaticPaths() { + const roadmapJsons = await import.meta.glob('/src/data/roadmaps/**/*.json', { + eager: true, + }); + + return Object.keys(roadmapJsons).map((filePath) => { + const roadmapId = filePath.split('/').pop()?.replace('.json', ''); + const roadmapJson = roadmapJsons[filePath] as Record; + + return { + params: { + roadmapId, + }, + props: { + roadmapJson: roadmapJson, + }, + }; + }); +} + +export const get: APIRoute = async function ({ params, request, props }) { + return { + body: JSON.stringify(props.roadmapJson), + }; +}; diff --git a/src/pages/best-practices/[bestPracticeId]/index.json.ts b/src/pages/best-practices/[bestPracticeId]/index.json.ts new file mode 100644 index 000000000..96ab37aff --- /dev/null +++ b/src/pages/best-practices/[bestPracticeId]/index.json.ts @@ -0,0 +1,30 @@ +import type { APIRoute } from 'astro'; + +export async function getStaticPaths() { + const bestPracticeJsons = await import.meta.glob( + '/src/data/best-practices/**/*.json', + { + eager: true, + } + ); + + return Object.keys(bestPracticeJsons).map((filePath) => { + const bestPracticeId = filePath.split('/').pop()?.replace('.json', ''); + const bestPracticeJson = bestPracticeJsons[filePath] as Record; + + return { + params: { + bestPracticeId, + }, + props: { + bestPracticeJson: bestPracticeJson, + }, + }; + }); +} + +export const get: APIRoute = async function ({ params, request, props }) { + return { + body: JSON.stringify(props.bestPracticeJson), + }; +}; From b58c2a13561f8d139dcd13317d68ee790cd51351 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 20:38:54 +0100 Subject: [PATCH 05/23] Fix roadmap json --- src/pages/[roadmapId]/index.json.ts | 2 +- src/pages/best-practices/[bestPracticeId]/index.json.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/[roadmapId]/index.json.ts b/src/pages/[roadmapId]/index.json.ts index 58d077e3e..ff2620f54 100644 --- a/src/pages/[roadmapId]/index.json.ts +++ b/src/pages/[roadmapId]/index.json.ts @@ -14,7 +14,7 @@ export async function getStaticPaths() { roadmapId, }, props: { - roadmapJson: roadmapJson, + roadmapJson: roadmapJson?.default, }, }; }); diff --git a/src/pages/best-practices/[bestPracticeId]/index.json.ts b/src/pages/best-practices/[bestPracticeId]/index.json.ts index 96ab37aff..20cab9619 100644 --- a/src/pages/best-practices/[bestPracticeId]/index.json.ts +++ b/src/pages/best-practices/[bestPracticeId]/index.json.ts @@ -17,7 +17,7 @@ export async function getStaticPaths() { bestPracticeId, }, props: { - bestPracticeJson: bestPracticeJson, + bestPracticeJson: bestPracticeJson?.default, }, }; }); From 54a9e586bf3aae45f2a0b0d2b12b8d89cb6c184d Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 20:46:58 +0100 Subject: [PATCH 06/23] chore: add resource link to frontend >> progressive-web-apps:lighthouse --- .../frontend/content/117-progressive-web-apps/112-lighthouse.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/data/roadmaps/frontend/content/117-progressive-web-apps/112-lighthouse.md b/src/data/roadmaps/frontend/content/117-progressive-web-apps/112-lighthouse.md index af1f80099..d797988b3 100644 --- a/src/data/roadmaps/frontend/content/117-progressive-web-apps/112-lighthouse.md +++ b/src/data/roadmaps/frontend/content/117-progressive-web-apps/112-lighthouse.md @@ -9,3 +9,4 @@ Lighthouse provides a comprehensive and easy-to-use tool for identifying and fix Visit the following resources to learn more: - [Lighthouse - Google Developers](https://developers.google.com/web/tools/lighthouse) +- [Improving Load Performance - Chrome DevTools 101](https://www.youtube.com/watch?v=5flw5q5odie) \ No newline at end of file From 1d47b1fb7bb34a908b7af83a525ad92e6b275148 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 20:47:54 +0100 Subject: [PATCH 07/23] chore: add resource link to cpp >> introduction:what-is-cpp --- .../roadmaps/cpp/content/100-introduction/100-what-is-cpp.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/data/roadmaps/cpp/content/100-introduction/100-what-is-cpp.md b/src/data/roadmaps/cpp/content/100-introduction/100-what-is-cpp.md index c2d6694eb..2bb85a815 100644 --- a/src/data/roadmaps/cpp/content/100-introduction/100-what-is-cpp.md +++ b/src/data/roadmaps/cpp/content/100-introduction/100-what-is-cpp.md @@ -1,4 +1,5 @@ # What is C++? + C++ is a general-purpose programming language created by Bjarne Stroustrup as an extension of the C programming language. It was first introduced in 1985 and provides object-oriented features like classes and inheritance. C++ is widely used in various applications like game development, system programming, embedded systems, and high-performance computing. C++ is a statically-typed language, meaning that the type of a variable is determined during compilation, and has an extensive library called the C++ Standard Library, which provides a rich set of functions, algorithms, and data structures for various tasks. @@ -42,4 +43,6 @@ int main() { } ``` -In the above program, we define a simple function `add` and a class `Calculator` with a member function `multiply`. The `main` function demonstrates how to use these to perform basic arithmetic. \ No newline at end of file +In the above program, we define a simple function `add` and a class `Calculator` with a member function `multiply`. The `main` function demonstrates how to use these to perform basic arithmetic. + +- [C++ Tutorial for Beginners - Full Course](https://youtu.be/vlnpwxzdw4y) \ No newline at end of file From 6d91c118562c23be8eda5988632491ec825e4f09 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 21:00:49 +0100 Subject: [PATCH 08/23] chore: add resource link to ux-design >> human-decision-making:frameworks:stephen-wendell-create-action-funnel --- .../frameworks/101-stephen-wendell-create-action-funnel.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/data/roadmaps/ux-design/content/100-human-decision-making/frameworks/101-stephen-wendell-create-action-funnel.md b/src/data/roadmaps/ux-design/content/100-human-decision-making/frameworks/101-stephen-wendell-create-action-funnel.md index bea161fd0..e32a13be6 100644 --- a/src/data/roadmaps/ux-design/content/100-human-decision-making/frameworks/101-stephen-wendell-create-action-funnel.md +++ b/src/data/roadmaps/ux-design/content/100-human-decision-making/frameworks/101-stephen-wendell-create-action-funnel.md @@ -1,4 +1,4 @@ -# Stephen Wendell’s CREATE Action Funnel +# Stephen Wendell's CREATE Action Funnel Stephen Wendell's Create Action Funnel is a UX design framework focused on converting website visitors into active customers through a systematic and engaging process. The approach emphasizes on understanding user behavior, catering to their needs, and directing them towards specific actions. The Action Funnel consists of four major steps: @@ -11,3 +11,5 @@ Stephen Wendell's Create Action Funnel is a UX design framework focused on conve - **Refine and Test the Experience:** Use wireframes and prototypes to test and iteratively refine the user experience. Employ user testing, A/B testing, and analytics to gather insight on user behavior, preferences, and engagement. Continuously use feedback to make improvements, ensuring that the design effectively leads visitors down the action funnel. By implementing Stephen Wendell's `Create Action Funnel`, you can effectively guide users through an engaging journey that motivates them to become active customers, ultimately increasing conversion rates and overall satisfaction. + +- [Behavioral Science Crash Course: Steve Wendel's CREATE Action Funnel](https://www.prodify.group/blog/behavioral-science-crash-course-steve-wendels-create-action-funnel) \ No newline at end of file From e376942c8d550c0b1e3dc94e49984f98c2f5c963 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 21:02:21 +0100 Subject: [PATCH 09/23] chore: add resource under devops:infrastructure-as-code:gitops:argo-cd --- .../content/105-infrastructure-as-code/104-gitops/100-argo-cd.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/100-argo-cd.md b/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/100-argo-cd.md index 1f1e8fb74..e852f0cd8 100644 --- a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/100-argo-cd.md +++ b/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/100-argo-cd.md @@ -9,3 +9,4 @@ Argo CD is designed to be a simple and efficient way to manage cloud-native appl Visit the following resources to learn more: - [Argo CD - Argo Project](https://argoproj.github.io/docs/argo-cd/) +- [ArgoCD Tutorial for Beginners](https://www.youtube.com/watch?v=meu5_k9ssrs&list=ply7nrywoggjxtn4ybsmyffdpaxb-fr4zc&index=6) \ No newline at end of file From 813c0ebd9363eab6873995abca60320532e70403 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 21:11:38 +0100 Subject: [PATCH 10/23] chore: add resource under backend:relational-databases:mysql --- .../backend/content/106-relational-databases/101-mysql.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/data/roadmaps/backend/content/106-relational-databases/101-mysql.md b/src/data/roadmaps/backend/content/106-relational-databases/101-mysql.md index 836f4948f..5ba46880e 100644 --- a/src/data/roadmaps/backend/content/106-relational-databases/101-mysql.md +++ b/src/data/roadmaps/backend/content/106-relational-databases/101-mysql.md @@ -7,3 +7,4 @@ Visit the following resources to learn more: - [MySQL website](https://www.mysql.com/) - [W3Schools - MySQL tutorial ](https://www.w3schools.com/mySQl/default.asp) - [MySQL tutorial for beginners](https://www.youtube.com/watch?v=7S_tz1z_5bA) +- [MySQL for Developers](https://planetscale.com/courses/mysql-for-developers/introduction/course-introduction) \ No newline at end of file From c4d9651e9555f6b06e63b45114fb7b70a080d2de Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 21:12:13 +0100 Subject: [PATCH 11/23] chore: add resource under react:components --- src/data/roadmaps/react/content/102-components/index.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/data/roadmaps/react/content/102-components/index.md b/src/data/roadmaps/react/content/102-components/index.md index 8e445acbc..eed6c57ba 100644 --- a/src/data/roadmaps/react/content/102-components/index.md +++ b/src/data/roadmaps/react/content/102-components/index.md @@ -4,7 +4,6 @@ Components are the building blocks of React applications. They let us split the Visit the following resources to learn more: -- [Components and Props](https://reactjs.org/docs/components-and-props.html) -- [Components in Depth](https://reactjs.org/docs/react-component.html) +- [Creating and nesting components](https://react.dev/learn#components) - [Explore the different types of components in React](https://www.robinwieruch.de/react-component-types/) -- [What is the difference between components, elements, and instances?](https://www.robinwieruch.de/react-element-component/) +- [What is the difference between components, elements, and instances?](https://www.robinwieruch.de/react-element-component/) \ No newline at end of file From 2b8d1f470c1139acf856bb6f5dd7d0632b67bffe Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 21:13:15 +0100 Subject: [PATCH 12/23] chore: add resource under backend:version-control-systems:git --- .../backend/content/104-version-control-systems/101-git.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/data/roadmaps/backend/content/104-version-control-systems/101-git.md b/src/data/roadmaps/backend/content/104-version-control-systems/101-git.md index eb35be86b..891e866a6 100644 --- a/src/data/roadmaps/backend/content/104-version-control-systems/101-git.md +++ b/src/data/roadmaps/backend/content/104-version-control-systems/101-git.md @@ -7,3 +7,5 @@ Visit the following resources to learn more: - [Git & GitHub Crash Course For Beginners](https://www.youtube.com/watch?v=SWYqp7iY_Tc) - [Learn Git with Tutorials, News and Tips - Atlassian](https://www.atlassian.com/git) - [Git Cheat Sheet](https://cs.fyi/guide/git-cheatsheet) +- [Learn Git Branching](https://learngitbranching.js.org/) +- [Git Tutorial](https://www.w3schools.com/git/) \ No newline at end of file From 8ca22e0dcc5d6667be6e81a33b85cb4cf09208dd Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 21:13:27 +0100 Subject: [PATCH 13/23] chore: add resource under python:python-testing:pytest --- .../roadmaps/python/content/107-python-testing/101-pytest.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/data/roadmaps/python/content/107-python-testing/101-pytest.md b/src/data/roadmaps/python/content/107-python-testing/101-pytest.md index 34f008a1d..fc921a932 100644 --- a/src/data/roadmaps/python/content/107-python-testing/101-pytest.md +++ b/src/data/roadmaps/python/content/107-python-testing/101-pytest.md @@ -6,3 +6,4 @@ Visit the following resources to learn more: - [Official Docs](https://docs.pytest.org/) - [Pytest Tutorial](https://www.tutorialspoint.com/pytest/index.htm) +- [Effective Python Testing With Pytest](https://realpython.com/pytest-python-testing/) \ No newline at end of file From 75c7e83264d3ef6c31934a75b2c9c79653946c70 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 21:14:28 +0100 Subject: [PATCH 14/23] chore: add resource under backend:os-general-knowledge:terminal-usage --- .../content/102-os-general-knowledge/100-terminal-usage.md | 1 + 1 file changed, 1 insertion(+) 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 index b25f8331e..0729c667d 100644 --- 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 @@ -6,3 +6,4 @@ Visit the following resources to learn more: - [Command line crash course](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Command_line) - [Basic Terminal Usage - Cheat Sheet to make the command line EASY](https://www.youtube.com/watch?v=jDINUSK7rXE) +- [50+ Linux Commands You Must Know](https://www.digitalocean.com/community/tutorials/linux-commands) \ No newline at end of file From 4010157bafd45671061ba933186bbb4ee1f30054 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 21:15:08 +0100 Subject: [PATCH 15/23] chore: add resource under ux-design:human-decision-making:frameworks:bj-frogg-behavior-model --- .../frameworks/100-bj-frogg-behavior-model.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/data/roadmaps/ux-design/content/100-human-decision-making/frameworks/100-bj-frogg-behavior-model.md b/src/data/roadmaps/ux-design/content/100-human-decision-making/frameworks/100-bj-frogg-behavior-model.md index 3792bf240..b9fd11da6 100644 --- a/src/data/roadmaps/ux-design/content/100-human-decision-making/frameworks/100-bj-frogg-behavior-model.md +++ b/src/data/roadmaps/ux-design/content/100-human-decision-making/frameworks/100-bj-frogg-behavior-model.md @@ -1,4 +1,4 @@ -# BJ Fogg’s Behavior Model +# BJ Fogg's Behavior Model B.J. Fogg, a renowned psychologist, and researcher at Stanford University, proposed the [Fogg Behavior Model (FBM)](https://www.behaviormodel.org/). This insightful model helps UX designers understand and influence user behavior by focusing on three core elements. These key factors are motivation, ability, and triggers. @@ -9,3 +9,5 @@ B.J. Fogg, a renowned psychologist, and researcher at Stanford University, propo - **Triggers**: Triggers are the cues, notifications, or prompts that signal users to take an action. For an action to occur, triggers should be presented at the right time when the user has adequate motivation and ability. UX designers should strive to find the balance between these three factors to facilitate the desired user behavior. By understanding your audience and their needs, implementing clear and concise triggers, and minimizing the effort required for action, the FBM can be an effective tool for designing user-centered products. + +- [meaning of BJ fogg's behavior model](https://behaviormodel.org/) \ No newline at end of file From d2055e0f6dd4ff9355af31d1888341e84c7dc5a4 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 21:15:43 +0100 Subject: [PATCH 16/23] chore: add resource under react:components:conditional-rendering --- .../react/content/102-components/104-conditional-rendering.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/roadmaps/react/content/102-components/104-conditional-rendering.md b/src/data/roadmaps/react/content/102-components/104-conditional-rendering.md index 0efd11995..10138a09d 100644 --- a/src/data/roadmaps/react/content/102-components/104-conditional-rendering.md +++ b/src/data/roadmaps/react/content/102-components/104-conditional-rendering.md @@ -6,5 +6,5 @@ Conditional rendering in React works the same way conditions work in JavaScript. Visit the following resources to learn more: -- [Conditional Rendering](https://reactjs.org/docs/conditional-rendering.html) -- [Different techniques for conditional rendering in React](https://www.robinwieruch.de/conditional-rendering-react/) +- [Conditional Rendering](https://react.dev/learn/conditional-rendering) +- [Different techniques for conditional rendering in React](https://www.robinwieruch.de/conditional-rendering-react/) \ No newline at end of file From 16b3f8ff4938b3f6392bc28058413ae99b2effe3 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 21:16:12 +0100 Subject: [PATCH 17/23] chore: add resource under system-design:application-layer:microservices --- .../content/110-application-layer/100-microservices.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/data/roadmaps/system-design/content/110-application-layer/100-microservices.md b/src/data/roadmaps/system-design/content/110-application-layer/100-microservices.md index 032b5cea0..54ddaa7c4 100644 --- a/src/data/roadmaps/system-design/content/110-application-layer/100-microservices.md +++ b/src/data/roadmaps/system-design/content/110-application-layer/100-microservices.md @@ -8,3 +8,4 @@ To learn more, visit the following links: - [Introduction to Microservices](https://aws.amazon.com/microservices/) - [Microservices - Wikipedia](https://en.wikipedia.org/wiki/Microservices) +- [Microservices](https://martinfowler.com/articles/microservices.html) \ No newline at end of file From 5cf0e767654ce1d9117340f7919cfe39189d1b97 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 21:16:59 +0100 Subject: [PATCH 18/23] chore: add resource under react:components:props-vs-state --- .../react/content/102-components/103-props-vs-state.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/data/roadmaps/react/content/102-components/103-props-vs-state.md b/src/data/roadmaps/react/content/102-components/103-props-vs-state.md index 20aedd62a..6e43daa2c 100644 --- a/src/data/roadmaps/react/content/102-components/103-props-vs-state.md +++ b/src/data/roadmaps/react/content/102-components/103-props-vs-state.md @@ -4,8 +4,7 @@ Props (short for “properties”) and state are both plain JavaScript objects. Visit the following resources to learn more: -- [Component State](https://reactjs.org/docs/faq-state.html) +- [State: A Component's Memory](https://react.dev/learn/state-a-components-memory) - [How to use Props in React](https://www.robinwieruch.de/react-pass-props-to-component/) - [What is the difference between state and props in React?](https://stackoverflow.com/questions/27991366/what-is-the-difference-between-state-and-props-in-react) -- [How to update state from props in React](https://www.robinwieruch.de/react-derive-state-props/) -- [Putting props to useState](https://tkdodo.eu/blog/putting-props-to-use-state) +- [How to update state from props in React](https://www.robinwieruch.de/react-derive-state-props/) \ No newline at end of file From afa28bddd3455a1bea10e51f2bbb30bdffe8a8b7 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 21:17:32 +0100 Subject: [PATCH 19/23] chore: add resource under python:python-advanced-topics:lambdas --- .../python/content/102-python-advanced-topics/103-lambdas.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/roadmaps/python/content/102-python-advanced-topics/103-lambdas.md b/src/data/roadmaps/python/content/102-python-advanced-topics/103-lambdas.md index b07464b51..775be5944 100644 --- a/src/data/roadmaps/python/content/102-python-advanced-topics/103-lambdas.md +++ b/src/data/roadmaps/python/content/102-python-advanced-topics/103-lambdas.md @@ -4,5 +4,5 @@ Python Lambda Functions are anonymous function means that the function is withou Visit the following resources to learn more: -- [Python Lambda Functions](https://www.geeksforgeeks.org/python-lambda-anonymous-functions-filter-map-reduce/) - [Lambdas in Python](https://www.w3schools.com/python/python_lambda.asp) +- [How to use Lambda functions](https://realpython.com/python-lambda/) \ No newline at end of file From 9eb9dc8cd8784b170767ce2204118ced8cdee668 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 21:18:07 +0100 Subject: [PATCH 20/23] chore: add resource under nodejs:nodejs-command-line-apps:taking-input --- .../106-nodejs-command-line-apps/102-taking-input/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/data/roadmaps/nodejs/content/106-nodejs-command-line-apps/102-taking-input/index.md b/src/data/roadmaps/nodejs/content/106-nodejs-command-line-apps/102-taking-input/index.md index 4289311bf..4b4216ff4 100644 --- a/src/data/roadmaps/nodejs/content/106-nodejs-command-line-apps/102-taking-input/index.md +++ b/src/data/roadmaps/nodejs/content/106-nodejs-command-line-apps/102-taking-input/index.md @@ -1,3 +1,5 @@ # Taking input Node.js provides a few ways to take inputs from user, including the built-in `process.stdin` and `readline` module. There are also several third party packages like `prompts` and `Enquirer` built on top of `readline` that provide an easy to use and intuitive interface. + +- [How to read from stdin line by line in Node](https://stackoverflow.com/questions/20086849/how-to-read-from-stdin-line-by-line-in-node) \ No newline at end of file From 8c75354235f32d915b4713b6956957e730b38858 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 21:18:22 +0100 Subject: [PATCH 21/23] chore: add resource under flutter:state-management:value-notifier --- .../flutter/content/111-state-management/106-value-notifier.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/data/roadmaps/flutter/content/111-state-management/106-value-notifier.md b/src/data/roadmaps/flutter/content/111-state-management/106-value-notifier.md index 7ac9dce8a..f27a65175 100644 --- a/src/data/roadmaps/flutter/content/111-state-management/106-value-notifier.md +++ b/src/data/roadmaps/flutter/content/111-state-management/106-value-notifier.md @@ -1 +1,4 @@ # Value Notifier + +- [ValueNotifier class - Flutter](https://api.flutter.dev/flutter/foundation/valuenotifier-class.html) +- [ValuerNotifier & ValueListenableBuilder](https://medium.com/@avnishnishad/flutter-communication-between-widgets-using-valuenotifier-and-valuelistenablebuilder-b51ef627a58b) \ No newline at end of file From 89cc55a1ebcbad463bbdeca753c2296749af8b3c Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 21:18:29 +0100 Subject: [PATCH 22/23] chore: add resource under flutter:state-management:change-notifier --- .../content/111-state-management/107-change-notifier.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/data/roadmaps/flutter/content/111-state-management/107-change-notifier.md b/src/data/roadmaps/flutter/content/111-state-management/107-change-notifier.md index 149ea743d..7e6c5d7dd 100644 --- a/src/data/roadmaps/flutter/content/111-state-management/107-change-notifier.md +++ b/src/data/roadmaps/flutter/content/111-state-management/107-change-notifier.md @@ -1 +1,4 @@ # Change Notifier + +- [ChangeNotifier class - Flutter](https://api.flutter.dev/flutter/foundation/changenotifier-class.html) +- [Simple app state management](https://docs.flutter.dev/data-and-backend/state-mgmt/simple) \ No newline at end of file From d574fccbc88dd38e5f5fe5c7c09f466207180838 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 5 Jun 2023 23:21:04 +0100 Subject: [PATCH 23/23] Add apollo asset --- public/images/partners/apollo-workshop.png | Bin 0 -> 146011 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/images/partners/apollo-workshop.png diff --git a/public/images/partners/apollo-workshop.png b/public/images/partners/apollo-workshop.png new file mode 100644 index 0000000000000000000000000000000000000000..788f40446143c096831c34619f0878fb9e40d3ba GIT binary patch literal 146011 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 literal 0 HcmV?d00001