* Update frontend roadmap * Migrate content for frontend roadmap * Add a button for beginner friendly version * Frontend roadmap * Implement beginner version of frontend roadmap * Clear progress for roadmaps * Update
115 lines
6.3 KiB
JSON
115 lines
6.3 KiB
JSON
{
|
|
"internet": "VlNNwIEDWqQXtqkHWJYzC",
|
|
"internet:how-does-the-internet-work": "yCnn-NfSxIybUQ2iTuUGq",
|
|
"internet:what-is-http": "R12sArWVpbIs_PHxBqVaR",
|
|
"internet:what-is-domain-name": "ZhSuu2VArnzPDp6dPQQSC",
|
|
"internet:what-is-hosting": "aqMaEY8gkKMikiqleV5EP",
|
|
"internet:dns-and-how-it-works": "hkxw9jPGYphmjhTjw8766",
|
|
"internet:browsers-and-how-they-work": "P82WFaTPgQEPNp5IIuZ1Y",
|
|
"html": "yWG2VUkaF5IJVVut6AiSy",
|
|
"html:learn-the-basics": "PCirR2QiFYO89Fm-Ev3o1",
|
|
"html:writing-semantic-html": "z8-556o-PaHXjlytrawaF",
|
|
"html:forms-and-validations": "V5zucKEHnIPPjwHqsMPHF",
|
|
"html:accessibility": "iJIqi7ngpGHWAqtgdjgxB",
|
|
"html:seo-basics": "mH_qff8R7R6eLQ1tPHLgG",
|
|
"css": "ZhJhf1M2OphYbEmduFq-9",
|
|
"css:learn-the-basics": "YFjzPKWDwzrgk2HUX952L",
|
|
"css:making-layouts": "dXeYVMXv-3MRQ1ovOUuJW",
|
|
"css:responsive-design-and-media-queries": "TKtWmArHn7elXRJdG6lDQ",
|
|
"javascript": "ODcfFEorkfJNupoQygM53",
|
|
"javascript:syntax-and-basic-constructs": "wQSjQqwKHfn5RGPk34BWI",
|
|
"javascript:learn-dom-manipulation": "0MAogsAID9R04R5TTO2Qa",
|
|
"javascript:learn-fetch-api-ajax-xhr": "A4brX0efjZ0FFPTB4r6U0",
|
|
"version-control-systems": "NIY7c4TQEEHx0hATu-k5C",
|
|
"version-control-systems:basic-usage-of-git": "R_I4SGYqLk5zze5I1zS_E",
|
|
"repo-hosting-services": "MXnFhZlNB1zTsBFDyni9H",
|
|
"repo-hosting-services:github": "qmTVMJDsEhNIkiwE_UTYu",
|
|
"repo-hosting-services:gitlab": "zIoSJMX3cuzCgDYHjgbEh",
|
|
"repo-hosting-services:bitbucket": "DILBiQp7WWgSZ5hhtDW6A",
|
|
"pick-a-framework:react-js": "tG5v3O4lNIFc2uCnacPak",
|
|
"pick-a-framework:vue-js": "ERAdwL1G9M1bnx-fOm5ZA",
|
|
"pick-a-framework:angular": "-bHFIiXnoUQSov64WI9yo",
|
|
"pick-a-framework:svelte": "ZR-qZ2Lcbu3FtqaMd3wM4",
|
|
"pick-a-framework:solid-js": "DxOSKnqAjZOPP-dq_U7oP",
|
|
"pick-a-framework:qwik": "N5DCb6bDfgUnSdHPLYY4g",
|
|
"pick-a-framework": "eXezX7CVNyC1RuyU_I4yP",
|
|
"package-managers": "IqvS1V-98cxko3e9sBQgP",
|
|
"package-managers:npm": "ib_FHinhrw8VuSet-xMF7",
|
|
"package-managers:pnpm": "SLxA5qJFp_28TRzr1BjxZ",
|
|
"package-managers:yarn": "yrq3nOwFREzl-9EKnpU-e",
|
|
"modern-css": "XDTD8el6OwuQ55wC-X4iV",
|
|
"css-frameworks:js-first:tailwind-css": "eghnfG4p7i-EDWfp3CQXC",
|
|
"css-architecture": "nPg_YWpMJtlhU2t2UD_6B",
|
|
"css-architecture:bem": "dRDmS072xeNLX7p_X565w",
|
|
"css-preprocessors": "UTW1pP59dUehuf0zeHXqL",
|
|
"css-preprocessors:sass": "kukEE5rMSPa4NeNjx21kt",
|
|
"css-preprocessors:postcss": "9WlPENh9g1xOv-zA64Tfg",
|
|
"build-tools": "i9z0stM4uKu27Cz6NIgNX",
|
|
"build-tools:module-bundlers": "hkSc_1x09m7-7BO7WzlDT",
|
|
"build-tools:linters-formatters": "9VcGfDBBD8YcKatj4VcH1",
|
|
"build-tools:linters-formatters:prettier": "zbkpu_gvQ4mgCiZKzS1xv",
|
|
"build-tools:linters-formatters:eslint": "NFjsI712_qP0IOmjuqXar",
|
|
"build-tools:module-bundlers:vite": "0Awx3zEI5_gYEIrD7IVX6",
|
|
"build-tools:module-bundlers:esbuild": "4W7UXfdKIUsm1bUrjdTVT",
|
|
"build-tools:module-bundlers:webpack": "twufEtHgxcRUWAUQ9bXus",
|
|
"build-tools:module-bundlers:rollup": "sCjErk7rfWAUvhl8Kfm3n",
|
|
"build-tools:module-bundlers:parcel": "NS-hwaWa5ebSmNNRoxFDp",
|
|
"testing-your-apps": "igg4_hb3XE3vuvY8ufV-4",
|
|
"testing-your-apps:vitest": "hVQ89f6G0LXEgHIOKHDYq",
|
|
"testing-your-apps:jest": "g5itUjgRXd9vs9ujHezFl",
|
|
"testing-your-apps:playwright": "jramLk8FGuaEH4YpHIyZT",
|
|
"testing-your-apps:cypress": "DaynCz5RR26gjT6N6gTDL",
|
|
"auth-strategies": "U5mD5FmVx7VWeKxDpQxB5",
|
|
"web-security-knowledge": "RDWbG3Iui6IPgp0shvXtg",
|
|
"web-security-knowledge:cors": "AfH2zCbqzw0Nisg1yyISS",
|
|
"web-security-knowledge:https": "uum7vOhOUR38vLuGZy8Oa",
|
|
"web-security-knowledge:content-security-policy": "rmcm0CZbtNVC9LZ14-H6h",
|
|
"web-security-knowledge:owasp-security-risks": "JanR7I_lNnUCXhCMGLdn-",
|
|
"web-components": "ruoFa3M4bUE3Dg6GXSiUI",
|
|
"web-components:html-templates": "Hk8AVonOd693_y1sykPqd",
|
|
"web-components:custom-elements": "VxiQPgcYDFAT6WgSRWpIA",
|
|
"web-components:shadow-dom": "-SpsNeOZBkQfDA-rwzgPg",
|
|
"server-side-rendering": "Cxspmb14_0i1tfw-ZLxEu",
|
|
"type-checkers": "hwPOGT0-duy3KfI8QaEwF",
|
|
"type-checkers:typescript": "0asdhvwBH3gn-ercktV7A",
|
|
"server-side-rendering:react-js": "SGDf_rbfmFSHlxI-Czzlz",
|
|
"server-side-rendering:angular": "k6rp6Ua9qUEW_DA_fOg5u",
|
|
"server-side-rendering:vue-js": "3TE_iYvbklXK0be-5f2M7",
|
|
"server-side-rendering:svelte": "OL8I6nOZ8hGGWmtxg_Mv8",
|
|
"server-side-rendering:react-js:next-js": "zNFYAJaSq0YZXL5Rpx1NX",
|
|
"server-side-rendering:react-js:remix": "KJRkrFZIihCUBrOf579EU",
|
|
"server-side-rendering:vue-js:nuxt-js": "BBsXxkbbEG-gnbM1xXKrj",
|
|
"server-side-rendering:svelte:svelte-kit": "P4st_telfCwKLSAU2WsQP",
|
|
"graphql": "L7AllJfKvClaam3y-u6DP",
|
|
"graphql:apollo": "5eUbDdOTOfaOhUlZAmmXW",
|
|
"graphql:relay-modern": "0moPO23ol33WsjVXSpTGf",
|
|
"static-site-generators": "n0q32YhWEIAUwbGXexoqV",
|
|
"progressive-web-apps": "PoM77O2OtxPELxfrW1wtl",
|
|
"static-site-generators:vuepress": "CMrss8E2W0eA6DVEqtPjT",
|
|
"static-site-generators:astro": "iUxXq7beg55y76dkwhM13",
|
|
"static-site-generators:next-js": "V70884VcuXkfrfHyLGtUg",
|
|
"static-site-generators:eleventy": "io0RHJWIcVxDhcYkV9d38",
|
|
"static-site-generators:nuxt-js": "XWJxV42Dpu2D3xDK10Pn3",
|
|
"progressive-web-apps:prpl-pattern": "-DsETM9xLgHyGZthptj1Y",
|
|
"progressive-web-apps:rail-model": "xD5WfEP7Ez0oi3890UgmH",
|
|
"progressive-web-apps:performance-metrics": "X0Y3-IpPiFUCsNDK4RFxw",
|
|
"progressive-web-apps:lighthouse": "RIhHMHLsLLPhNl05Q9aBf",
|
|
"progressive-web-apps:browser-devtools": "3_sJHKTogkDoCjR518-OL",
|
|
"progressive-web-apps:storage": "raoa-75p_DyBAycvy3yVv",
|
|
"progressive-web-apps:web-sockets": "NDJR8UCoa31v45TBFP7we",
|
|
"progressive-web-apps:server-sent-events": "doPe92aUpo-8KWhi45lWK",
|
|
"progressive-web-apps:service-workers": "TldWoXiqKxM4X3JONKAR7",
|
|
"progressive-web-apps:location": "YbGGYoKJEx29PlvopUBiM",
|
|
"progressive-web-apps:notifications": "6AlcArOiJMhHXguAosDzn",
|
|
"progressive-web-apps:device-orientation": "Fd0hQh1DleM0gMzCpGou4",
|
|
"progressive-web-apps:payments": "MAM1nuVk-h4AvTUk4nvmj",
|
|
"progressive-web-apps:credentials": "opu2bAsmdWHqWqtsCscLC",
|
|
"desktop-applications:electron": "mQHpSyMR4Rra4mqAslgiS",
|
|
"desktop-applications:tauri": "GJctl0tVXe4B70s35RkLT",
|
|
"desktop-applications:flutter": "2MRvAK9G9RGM_auWytcKh",
|
|
"desktop-applications": "KMA7NkxFbPoUDtFnGBFnj",
|
|
"mobile-applications": "VOGKiG2EZVfCBAaa7Df0W",
|
|
"mobile-applications:react-native": "dsTegXTyupjS8iU6I7Xiv",
|
|
"mobile-applications:flutter": "dIQXjFEUAJAGxxfAYceHU",
|
|
"mobile-applications:ionic": "xmRv6-L45m5MDpHmdHFCL"
|
|
} |