Vue.js

Vue.js course — Prowid
Course duration
2 months / 10 lessons
Individual
Per month 160 AZN
Group
Per month 130 AZN
Paying for the full course in a group
15% discount
Installments
50/50
Subscription
from 30 AZN a month
Vue.js is a progressive JavaScript framework for building user interfaces and single-page applications (SPAs). The course is based on Vue 3 and the Composition API.

Enrollment for a new group is open — send a request to reserve your seat

Lessons are taught live in Azerbaijani and Russian.

Or study on your own in your personal account → with a subscription from 30 AZN a month

Course curriculum

Introduction to Vue 3: a Vite project, Single File Components
Template syntax and directives: v-if, v-for, v-bind, v-model
Reactivity: ref, reactive, computed, watch
Composition API and <script setup>
Class and style bindings
Events and forms
Components: props, emits, slots
Component communication: provide/inject and composables
Transitions and animations
Vue Router: SPA and route guards
State management with Pinia
Working with APIs and async operations
Vue + TypeScript
Introduction to Nuxt: SSR and SEO
Testing (Vitest) and deployment
Final project
How do we teach?

Learning stages

01

Webinar

Students join the lesson live. At the end of each lesson, students are sent a video recording of the class.

02

Homework

Every assignment is based on the topic covered in the webinar. Homework helps you reinforce the material and understand it better.

03

Working with a mentor

The teacher stays in touch with the group both during the course and outside class. Any questions get answered right away.

04

Portfolio

During the course you'll complete several projects on different topics — they'll show employers what you can do.

Self-paced learning

The full curriculum in your personal account

111 topics with theory, examples and practice. The first 4 are free, the rest come with a subscription. Interactive lessons with slides and coding trainers: 100.

Getting Started with Vue5 topics
  1. What Vue Is and Why Use It
  2. Creating a Project with create-vue and Vite
  3. Project Structure and Entry Point: createApp and mount
  4. Single-File Components: template, script setup and style
  5. Developer Tools: VS Code, Vue DevTools, ESLint and Prettier
Template Syntax and Directives7 topics
  1. Interpolation and JavaScript Expressions in Templates
  2. Directives: Syntax, Arguments, Modifiers and Shorthands
  3. v-bind: Binding Attributes and Properties
  4. Conditional Rendering: v-if, v-else-if, v-else and v-show
  5. v-for: Rendering Arrays, Objects and Ranges
  6. The key Attribute and How Vue Updates Lists
  7. Special Directives: v-html, v-text, v-once, v-pre and v-cloak
Reactivity10 topics
  1. ref: Reactive Values and .value
  2. reactive: Reactive Objects and When to Choose ref
  3. How Reactivity Works: Proxy, track and trigger
  4. Reactivity Pitfalls: Destructuring, toRef and toRefs
  5. shallowRef, readonly, markRaw and toRaw
  6. computed: Computed Properties and Caching
  7. Filtering, Searching and Sorting Lists with computed
  8. watch: Watching Changes and Its Options
  9. watchEffect and Side-Effect Cleanup
  10. Project: Quiz App
Styles, Events and Forms10 topics
  1. Dynamic Classes: Object and Array Syntax
  2. Dynamic Inline Styles and CSS Variables
  3. Styles in SFCs: scoped, :deep, CSS Modules and v-bind in CSS
  4. Event Handling: v-on, Methods and Inline Handlers
  5. Event Modifiers: .prevent, .stop, .once and More
  6. Key and Mouse Modifiers: .enter, .esc, .ctrl, .exact
  7. v-model: Two-Way Binding for Text Inputs and Modifiers
  8. v-model for Checkbox, Radio and Select
  9. Form Submission and Simple Manual Validation
  10. Project: Todo App
Components: Fundamentals10 topics
  1. Components: Creating, Registering and Organizing
  2. Props: Passing Data to Components with defineProps
  3. Props Validation: Types, required, default and validator
  4. Component Events: defineEmits and Passing Data Up
  5. v-model on Components: defineModel
  6. defineModel: Multiple v-models, Arguments and Custom Modifiers
  7. Fallthrough Attributes: $attrs, inheritAttrs and useAttrs
  8. Slots: Default Slot, Named Slots and Fallback Content
  9. Scoped Slots and Renderless Components
  10. Project: Product Catalog with Filters
Lifecycle, DOM and Animations8 topics
  1. Lifecycle Hooks: onMounted, onUpdated, onUnmounted
  2. Template Refs: useTemplateRef and ref in Templates
  3. Component Refs and defineExpose
  4. nextTick and Asynchronous DOM Updates
  5. Custom Directives
  6. Transition: CSS Transitions and Enter/Leave Animations
  7. Transition Modes, appear and JavaScript Hooks
  8. TransitionGroup: Animating Lists
Advanced Components8 topics
  1. provide and inject: Passing Data Down the Component Tree
  2. Dynamic Components with <component :is>
  3. KeepAlive: Caching Components
  4. Async Components: defineAsyncComponent and Suspense
  5. Teleport: Modals and Overlays
  6. Render Functions and h(): When Templates Aren't Enough
  7. Options API Compared to Composition API
  8. Project: Mini UI Kit — Modal, Tabs and Accordion
Composables, VueUse and Plugins7 topics
  1. Composables: Extracting Logic from Components
  2. Composables with Reactive Arguments: toValue and MaybeRefOrGetter
  3. VueUse: State, Storage and Browser APIs
  4. VueUse: Elements, Events, Debounce and Throttle
  5. Vue Plugins: app.use and Writing Your Own
  6. UI Libraries Overview: Vuetify, PrimeVue, Element Plus and More
  7. Project: Toast Notification Plugin with a useToast Composable
HTTP Requests and Working with APIs5 topics
  1. Fetching Data: loading, error and data States
  2. Axios: Client Instances, Interceptors and Error Handling
  3. API Layer and Environment Variables: .env and import.meta.env
  4. Building useFetch: Async Composables, Cancellation and Race Conditions
  5. Project: Weather App with an External API
Routing with Vue Router9 topics
  1. Vue Router: Setup, First Routes and RouterView
  2. Navigation: RouterLink, Active Links and router.push
  3. Dynamic Routes: Params, Props and the 404 Page
  4. Query Parameters: Keeping Filter and Pagination State in the URL
  5. Nested Routes, Layouts and Named Views
  6. Navigation Guards: beforeEach, beforeEnter and In-Component Guards
  7. Protecting Routes: meta, Authentication and Redirect After Login
  8. Lazy-Loaded Routes, scrollBehavior and Page Transitions
  9. Project: Multi-Page App with Authentication
State Management with Pinia7 topics
  1. Pinia: Why a Store and Your First Store
  2. Pinia State: Reading, Updating, $patch and storeToRefs
  3. Pinia Getters: Derived State
  4. Pinia Actions: Synchronous and Asynchronous Logic
  5. Pinia Beyond Components: Store Composition and Router Guards
  6. Pinia Plugins and State Persistence (persistedstate)
  7. Project: Online Store with a Pinia Shopping Cart
TypeScript and Form Validation10 topics
  1. TypeScript in Vue: Project Setup and vue-tsc
  2. Typing props, emits and defineModel
  3. Typing ref, reactive, computed, Events and Template Refs
  4. Typing provide/inject and Composables
  5. Generic Components and Typed Slots
  6. Typing API Responses, Vue Router and Pinia
  7. VeeValidate: useForm, defineField and Error Messages
  8. Zod Validation Schemas with VeeValidate
  9. Complex Forms: Field Arrays, Async Validation and Server Errors
  10. Project: Typed Multi-Step Registration Form
Performance and Testing8 topics
  1. Error Handling: errorHandler, onErrorCaptured and Monitoring
  2. Rendering Performance: Extra Updates, v-memo and Large Lists
  3. Load Optimization: Bundle Size, Code Splitting and Images
  4. Vitest: Unit Testing Basics
  5. Vue Test Utils: Mounting Components and Asserting Output
  6. Testing Events, Emits and Forms
  7. Testing Async Code, Pinia and Vue Router
  8. Project: Adding Tests to the Online Store
Build, Deployment and Nuxt7 topics
  1. Production Build: vite build, Modes and Vite Configuration
  2. Deploying an SPA: Netlify, Vercel, GitHub Pages and nginx
  3. Nuxt: Why Use It, Creating a Project and Its Structure
  4. Nuxt: File-Based Routing, Layouts and Middleware
  5. Nuxt Data Fetching: useFetch, useAsyncData and server/api
  6. Nuxt: Rendering Modes, SEO and Deployment
  7. Final Project: A Full-Featured Vue Application

Group and individual classes include a teacher, homework review and a certificate. The subscription gives you materials, exercises and progress tracking at your own pace, without teacher feedback.

Vue.js course: how to enroll

Fill in the form and we will tell you the start date of the next group, the schedule and payment terms. Or come to a free trial lesson first.

WhatsApp