Compare commits

...

6 Commits

Author SHA1 Message Date
Kamran Ahmed
83091f1024 Fix responsiveness flicker on interactive vue roadmap 2022-08-08 20:41:43 +04:00
Kamran Ahmed
e071544898 Fix label direction for API calls section 2022-08-08 20:32:22 +04:00
Kamran Ahmed
bda94ed15d Change color for grouped nodes 2022-08-08 19:02:25 +04:00
Kamran Ahmed
18d472503d Add interactive page for vue roadmap 2022-08-08 18:59:16 +04:00
Kamran Ahmed
92e823f17c Add content directories for vue roadmap 2022-08-08 18:53:29 +04:00
Kamran Ahmed
cb3c760bcd Add groups and names to roadmap JSON 2022-08-08 18:51:35 +04:00
77 changed files with 3796 additions and 2292 deletions

View File

@@ -275,7 +275,6 @@
"isCommunity": false,
"featured": true,
"jsonUrl": "/project/vue.json",
"landingPath": "/roadmaps/105-vue/landscape.md",
"resourcesPath": "/roadmaps/105-vue/resources.md",
"versions": [
"latest",
@@ -287,6 +286,7 @@
"url": "https://twitter.com/kamranahmedse"
},
"pdfUrl": "/pdfs/vue.pdf",
"contentPathsFilePath": "/roadmaps/105-vue/content-paths.json",
"id": "vue",
"metaPath": "/roadmaps/105-vue/meta.json",
"isUpcoming": false

View File

@@ -0,0 +1,70 @@
{
"home": "/roadmaps/105-vue/content/readme.md",
"fundamental-topics": "/roadmaps/105-vue/content/100-fundamental-topics/readme.md",
"fundamental-topics:vue-cli": "/roadmaps/105-vue/content/100-fundamental-topics/100-vue-cli.md",
"fundamental-topics:components": "/roadmaps/105-vue/content/100-fundamental-topics/101-components/readme.md",
"fundamental-topics:components:single-file-components": "/roadmaps/105-vue/content/100-fundamental-topics/101-components/100-single-file-components.md",
"fundamental-topics:components:component-registration": "/roadmaps/105-vue/content/100-fundamental-topics/101-components/101-component-registration.md",
"fundamental-topics:components:props": "/roadmaps/105-vue/content/100-fundamental-topics/101-components/102-props.md",
"fundamental-topics:components:events": "/roadmaps/105-vue/content/100-fundamental-topics/101-components/103-events.md",
"fundamental-topics:components:attribute-inheritance": "/roadmaps/105-vue/content/100-fundamental-topics/101-components/104-attribute-inheritance.md",
"fundamental-topics:templates": "/roadmaps/105-vue/content/100-fundamental-topics/102-templates.md",
"fundamental-topics:directives": "/roadmaps/105-vue/content/100-fundamental-topics/103-directives.md",
"fundamental-topics:api-styles": "/roadmaps/105-vue/content/100-fundamental-topics/104-api-styles/readme.md",
"fundamental-topics:api-styles:options-api": "/roadmaps/105-vue/content/100-fundamental-topics/104-api-styles/100-options-api.md",
"fundamental-topics:api-styles:composition-api": "/roadmaps/105-vue/content/100-fundamental-topics/104-api-styles/101-composition-api.md",
"fundamental-topics:app-configurations": "/roadmaps/105-vue/content/100-fundamental-topics/105-app-configurations.md",
"fundamental-topics:rendering-lists": "/roadmaps/105-vue/content/100-fundamental-topics/106-rendering-lists.md",
"fundamental-topics:conditional-rendering": "/roadmaps/105-vue/content/100-fundamental-topics/107-conditional-rendering.md",
"fundamental-topics:lifecycle-hooks": "/roadmaps/105-vue/content/100-fundamental-topics/108-lifecycle-hooks.md",
"fundamental-topics:forms-handling": "/roadmaps/105-vue/content/100-fundamental-topics/109-forms-handling.md",
"fundamental-topics:events-handling": "/roadmaps/105-vue/content/100-fundamental-topics/110-events-handling.md",
"fundamental-topics:computed-properties": "/roadmaps/105-vue/content/100-fundamental-topics/111-computed-properties.md",
"advanced-topics": "/roadmaps/105-vue/content/101-advanced-topics/readme.md",
"advanced-topics:ref": "/roadmaps/105-vue/content/101-advanced-topics/100-ref.md",
"advanced-topics:torefs": "/roadmaps/105-vue/content/101-advanced-topics/101-torefs.md",
"advanced-topics:reactive": "/roadmaps/105-vue/content/101-advanced-topics/102-reactive.md",
"advanced-topics:computed": "/roadmaps/105-vue/content/101-advanced-topics/103-computed.md",
"advanced-topics:watch": "/roadmaps/105-vue/content/101-advanced-topics/104-watch.md",
"advanced-topics:next-tick": "/roadmaps/105-vue/content/101-advanced-topics/105-next-tick.md",
"advanced-topics:composables": "/roadmaps/105-vue/content/101-advanced-topics/106-composables.md",
"advanced-topics:async-components": "/roadmaps/105-vue/content/101-advanced-topics/107-async-components.md",
"advanced-topics:teleport-components": "/roadmaps/105-vue/content/101-advanced-topics/108-teleport-components.md",
"advanced-topics:provide-inject": "/roadmaps/105-vue/content/101-advanced-topics/109-provide-inject.md",
"advanced-topics:custom-directives": "/roadmaps/105-vue/content/101-advanced-topics/110-custom-directives.md",
"advanced-topics:custom-events": "/roadmaps/105-vue/content/101-advanced-topics/111-custom-events.md",
"advanced-topics:plugins": "/roadmaps/105-vue/content/101-advanced-topics/112-plugins.md",
"advanced-topics:watchers": "/roadmaps/105-vue/content/101-advanced-topics/113-watchers.md",
"advanced-topics:slots": "/roadmaps/105-vue/content/101-advanced-topics/114-slots.md",
"advanced-topics:transition": "/roadmaps/105-vue/content/101-advanced-topics/115-transition.md",
"advanced-topics:transition-group": "/roadmaps/105-vue/content/101-advanced-topics/116-transition-group.md",
"ecosystem": "/roadmaps/105-vue/content/102-ecosystem/readme.md",
"ecosystem:routing": "/roadmaps/105-vue/content/102-ecosystem/100-routing/readme.md",
"ecosystem:routing:vue-router": "/roadmaps/105-vue/content/102-ecosystem/100-routing/100-vue-router.md",
"ecosystem:forms": "/roadmaps/105-vue/content/102-ecosystem/101-forms/readme.md",
"ecosystem:forms:vue-formulate": "/roadmaps/105-vue/content/102-ecosystem/101-forms/100-vue-formulate.md",
"ecosystem:forms:vee-validate": "/roadmaps/105-vue/content/102-ecosystem/101-forms/101-vee-validate.md",
"ecosystem:forms:vuelidate": "/roadmaps/105-vue/content/102-ecosystem/101-forms/102-vuelidate.md",
"ecosystem:ssr": "/roadmaps/105-vue/content/102-ecosystem/102-ssr/readme.md",
"ecosystem:ssr:quasar": "/roadmaps/105-vue/content/102-ecosystem/102-ssr/100-quasar.md",
"ecosystem:ssr:nuxt-js": "/roadmaps/105-vue/content/102-ecosystem/102-ssr/101-nuxt-js.md",
"ecosystem:ssg": "/roadmaps/105-vue/content/102-ecosystem/103-ssg/readme.md",
"ecosystem:ssg:gridsome": "/roadmaps/105-vue/content/102-ecosystem/103-ssg/100-gridsome.md",
"ecosystem:ssg:vuepress": "/roadmaps/105-vue/content/102-ecosystem/103-ssg/101-vuepress.md",
"ecosystem:state-management": "/roadmaps/105-vue/content/102-ecosystem/104-state-management/readme.md",
"ecosystem:state-management:pinia": "/roadmaps/105-vue/content/102-ecosystem/104-state-management/100-pinia.md",
"ecosystem:mobile-apps": "/roadmaps/105-vue/content/102-ecosystem/105-mobile-apps/readme.md",
"ecosystem:mobile-apps:capacitor": "/roadmaps/105-vue/content/102-ecosystem/105-mobile-apps/100-capacitor.md",
"ecosystem:api-calls": "/roadmaps/105-vue/content/102-ecosystem/106-api-calls/readme.md",
"ecosystem:api-calls:apollo": "/roadmaps/105-vue/content/102-ecosystem/106-api-calls/100-apollo.md",
"ecosystem:api-calls:vue-relay": "/roadmaps/105-vue/content/102-ecosystem/106-api-calls/101-vue-relay.md",
"ecosystem:api-calls:axios": "/roadmaps/105-vue/content/102-ecosystem/106-api-calls/102-axios.md",
"ecosystem:api-calls:unfetch": "/roadmaps/105-vue/content/102-ecosystem/106-api-calls/103-unfetch.md",
"ecosystem:api-calls:superagent": "/roadmaps/105-vue/content/102-ecosystem/106-api-calls/104-superagent.md",
"ecosystem:jest": "/roadmaps/105-vue/content/102-ecosystem/107-jest.md",
"ecosystem:vue-testing-library": "/roadmaps/105-vue/content/102-ecosystem/108-vue-testing-library.md",
"ecosystem:cypress": "/roadmaps/105-vue/content/102-ecosystem/109-cypress.md",
"ecosystem:tailwind-css": "/roadmaps/105-vue/content/102-ecosystem/110-tailwind-css.md",
"ecosystem:vuetify": "/roadmaps/105-vue/content/102-ecosystem/111-vuetify.md",
"ecosystem:element-ui": "/roadmaps/105-vue/content/102-ecosystem/112-element-ui.md"
}

View File

@@ -0,0 +1 @@
# Vue cli

View File

@@ -0,0 +1 @@
# Components

View File

@@ -0,0 +1 @@
# Templates

View File

@@ -0,0 +1 @@
# Directives

View File

@@ -0,0 +1 @@
# Api styles

View File

@@ -0,0 +1 @@
# App configurations

View File

@@ -0,0 +1 @@
# Rendering lists

View File

@@ -0,0 +1 @@
# Conditional rendering

View File

@@ -0,0 +1 @@
# Lifecycle hooks

View File

@@ -0,0 +1 @@
# Forms handling

View File

@@ -0,0 +1 @@
# Events handling

View File

@@ -0,0 +1 @@
# Computed properties

View File

@@ -0,0 +1 @@
# Fundamental topics

View File

@@ -0,0 +1 @@
# Ref

View File

@@ -0,0 +1 @@
# Torefs

View File

@@ -0,0 +1 @@
# Reactive

View File

@@ -0,0 +1 @@
# Computed

View File

@@ -0,0 +1 @@
# Watch

View File

@@ -0,0 +1 @@
# Next tick

View File

@@ -0,0 +1 @@
# Composables

View File

@@ -0,0 +1 @@
# Async components

View File

@@ -0,0 +1 @@
# Teleport components

View File

@@ -0,0 +1 @@
# Provide inject

View File

@@ -0,0 +1 @@
# Custom directives

View File

@@ -0,0 +1 @@
# Custom events

View File

@@ -0,0 +1 @@
# Plugins

View File

@@ -0,0 +1 @@
# Watchers

View File

@@ -0,0 +1 @@
# Slots

View File

@@ -0,0 +1 @@
# Transition

View File

@@ -0,0 +1 @@
# Transition group

View File

@@ -0,0 +1 @@
# Advanced topics

View File

@@ -0,0 +1 @@
# Vue router

View File

@@ -0,0 +1 @@
# Routing

View File

@@ -0,0 +1 @@
# Vue formulate

View File

@@ -0,0 +1 @@
# Vee validate

View File

@@ -0,0 +1 @@
# Vuelidate

View File

@@ -0,0 +1 @@
# Forms

View File

@@ -0,0 +1 @@
# Quasar

View File

@@ -0,0 +1 @@
# Nuxt js

View File

@@ -0,0 +1 @@
# Ssr

View File

@@ -0,0 +1 @@
# Gridsome

View File

@@ -0,0 +1 @@
# Vuepress

View File

@@ -0,0 +1 @@
# Ssg

View File

@@ -0,0 +1 @@
# State management

View File

@@ -0,0 +1 @@
# Capacitor

View File

@@ -0,0 +1 @@
# Mobile apps

View File

@@ -0,0 +1 @@
# Apollo

View File

@@ -0,0 +1 @@
# Vue relay

View File

@@ -0,0 +1 @@
# Axios

View File

@@ -0,0 +1 @@
# Unfetch

View File

@@ -0,0 +1 @@
# Superagent

View File

@@ -0,0 +1 @@
# Api calls

View File

@@ -0,0 +1 @@
# Jest

View File

@@ -0,0 +1 @@
# Vue testing library

View File

@@ -0,0 +1 @@
# Cypress

View File

@@ -0,0 +1 @@
# Tailwind css

View File

@@ -0,0 +1 @@
# Vuetify

View File

@@ -0,0 +1 @@
# Element ui

View File

@@ -0,0 +1 @@
# Ecosystem

View File

@@ -0,0 +1 @@
#

View File

@@ -1,7 +0,0 @@
The intent of this guide is to give you an idea about the Vue ecosystem and to help guide your learning if you are confused. We have another [roadmap on the Frontend Development](/frontend) that focuses on the frontend development if you are interested in that.
Also, please note that the list below is exhaustive, and the items are listed in no particular order. You don't need to learn everything listed in the picture, however knowing what you don't know is as important as knowing things.
![](/roadmaps/vue.png)
Please note that the list is opinionated, and you might have different opinions than those of the author. Having said that, [we would love to hear your opinions](https://github.com/kamranahmedse/developer-roadmap/issues/new) and incorporate them in the picture if suitable.

View File

@@ -36,7 +36,6 @@
"isCommunity": false,
"featured": true,
"jsonUrl": "/project/vue.json",
"landingPath": "./landscape.md",
"resourcesPath": "./resources.md",
"versions": [
"latest",
@@ -47,5 +46,6 @@
"name": "Kamran Ahmed",
"url": "https://twitter.com/kamranahmedse"
},
"pdfUrl": "/pdfs/vue.pdf"
"pdfUrl": "/pdfs/vue.pdf",
"contentPathsFilePath": "./content-paths.json"
}

View File

@@ -43,5 +43,5 @@ export function getFeaturedRoadmaps(): RoadmapType[] {
}
export function isInteractiveRoadmap(id: string): boolean {
return ['frontend', 'backend', 'devops'].includes(id);
return ['frontend', 'backend', 'devops', 'vue'].includes(id);
}

View File

@@ -125,6 +125,10 @@ export function InteractiveRoadmapRenderer(props: RoadmapProps) {
minHeight = ['870px', '1920px', '2505px', '2591px', '2591px', '2591px'];
}
if (roadmap.id === 'vue') {
minHeight = ['600px', '820px', '1340px', '1680px', '1750px', '1750px'];
}
return (
<Container maxW={'container.lg'} position="relative" minHeight={minHeight}>
{(isLoading || isRendering) && <RoadmapLoader />}

File diff suppressed because it is too large Load Diff

View File

@@ -33,43 +33,43 @@
<url>
<loc>https://roadmap.sh/vue</loc>
<changefreq>monthly</changefreq>
<lastmod>2022-08-08T14:27:17.274Z</lastmod>
<lastmod>2022-08-08T14:56:45.396Z</lastmod>
<priority>1.0</priority>
</url>
<url>
<loc>https://roadmap.sh/android</loc>
<changefreq>monthly</changefreq>
<lastmod>2022-08-04T11:37:35.837Z</lastmod>
<lastmod>2022-08-08T14:33:53.387Z</lastmod>
<priority>1.0</priority>
</url>
<url>
<loc>https://roadmap.sh/python</loc>
<changefreq>monthly</changefreq>
<lastmod>2022-08-04T11:37:35.844Z</lastmod>
<lastmod>2022-08-08T14:33:53.388Z</lastmod>
<priority>1.0</priority>
</url>
<url>
<loc>https://roadmap.sh/golang</loc>
<changefreq>monthly</changefreq>
<lastmod>2022-08-04T11:37:35.847Z</lastmod>
<lastmod>2022-08-08T14:33:53.389Z</lastmod>
<priority>1.0</priority>
</url>
<url>
<loc>https://roadmap.sh/java</loc>
<changefreq>monthly</changefreq>
<lastmod>2022-08-04T11:37:35.840Z</lastmod>
<lastmod>2022-08-08T14:33:53.389Z</lastmod>
<priority>1.0</priority>
</url>
<url>
<loc>https://roadmap.sh/postgresql-dba</loc>
<changefreq>monthly</changefreq>
<lastmod>2022-08-04T11:37:35.848Z</lastmod>
<lastmod>2022-08-08T14:33:53.390Z</lastmod>
<priority>1.0</priority>
</url>
<url>
<loc>https://roadmap.sh/qa</loc>
<changefreq>monthly</changefreq>
<lastmod>2022-08-04T11:37:35.836Z</lastmod>
<lastmod>2022-08-08T14:33:53.391Z</lastmod>
<priority>1.0</priority>
</url>
<url>

View File

@@ -43,6 +43,7 @@ const roadmaps: Record<string, RoadmapType> = {
java: require('../public/project/java.json'),
python: require('../public/project/python.json'),
react: require('../public/project/react.json'),
vue: require('../public/project/vue.json'),
angular: require('../public/project/angular.json'),
};