In our Master Class you’ll learn Vue.js by building a real-world application. Together we’ll create a complete forum from scratch using exciting technologies that synergize with Vue.
File Size: 4.2 GB.
VueSchool – The Vue.js Master Class
About the The Vue.js Master Class course
This course is our signature course. It is probably the most thorough Vue.js course available online.
The Vue.js Master Class is so comprehensive that we cannot cover everything on this page. Thus we’ve created a separate page where you can learn more about it.
In our Master Class you’ll learn Vue.js by building a real-world application. Together we’ll create a complete forum from scratch using exciting technologies that synergize with Vue.
The goal of the Master Class is to teach you Vue.js along with Best Practices, Modern Javascript, and other exciting technologies, by building a Real World application – a forum.
We cover the fundamentals, like:
- Vue cli, router and State management with Vuex
- Modern Javascript (ES6/7/8)
- User permissions & protected routes
- Third party authentication
- Firebase Realtime Database & Cloud functions
- Automatic code review with ESLint
- Deployment
- Application architecture and best practices
We also dive into harder topics, like:
- Higher Order Functions
- Creating Vue Plugins
- Code Splitting
- Support for older Browsers
- Webpack configuration
- SEO and pre-rendering
- Reactive programming with RxJS
By completing the Vue.js Master Class, you will be able to land any Vue related job or optimize/improve your own projects!
Please note: This course is in the making. New lessons and modules (sub-courses) are added frequently.
What you will learn in the The Vue.js Master Class course
- Vue-CLI, Vue Router and State Management with Vuex
- Modern JavaScript (ES6/7/8)
- User Permissions and Protected Routes
- Third Party Authentication
- Firebase Realtime Database & Cloud Functions
- Application Architecture and Best Practices
- Code splitting
- Webpack Configuration
- SEO and Pre-rendering
Getting Started
What do I need?
Get started with the mighty Vue CLI
Scaffold your project with Vue CLI
Explore the Webpack template
Automatic Code Review, Linting with ESLint
Application Structure
Structuring our data
Import data source and show the conversations
Vue.js with a Theme and Scoped CSS Styling
Routing
Introducing the vue-router
Components, Props and Computed Properties
Router Links
Organizing the Components
Handling not found pages
CSS Modules with Webpack
Organizing the Application
Tidy up a messy component
Arrow Functions
Let the discussion begin!
Communicate between components
Destructuring JavaScript Arrays and Objects
Human Friendly Dates
Forum Logic
Base Components
Global Base Components
Organize threads in forums
Forum Components
Categories, Collections of Forums
Vuex State Management
Migrating to Vuex
Creating Posts using Vuex
The NavBar
Grabbing the Authenticated User
User Profile Page
Utility to Count Object Properties
JavaScript: By Reference vs By Value
Update a User Profile
Shared Page Components
Use authId when Creating Posts
Forum Threads
Create New Threads
Actions and Mutations
Add the Route
Redirect on Publish
Use Route Params
ThreadEditor
Edit Threads
Improve the ThreadEditor
Forum Posts
Editing Posts
Conditionally display multiple elements with an invisible wrapper
Post Editor Buttons
Vue.js Custom Prop ValidationFREE
Has the post been modified?
Higher Order Functions
What is a Higher Order Function?FREE
Creating Dynamic Vuex Getters using Higher Order Functions
Create Vuex Mutations with Higher Order Functions
Filter Array Elements to Count Unique Contributors
Small Improvements Before the Firebase Chapter
Firebase Real-Time Database
Install Firebase Realtime Database
Set up the Firebase Realtime Database
Understanding the Vue.js Lifecycle HooksFREE
Start Migrate Vuex to use Firebase Realtime Database
Fetch Data from Firebase With Vuex Actions
Reusable Vuex Actions and Mutations
Vuex Actions that Fetches Multiple Items from Firebase
Fetch Firebase Data Before Creating Component Instance
Fetch Data for All Pages
Clean up Components by Mapping our Vuex Actions
Split Vuex Store into Multiple Files
Fetch Data Before Creating the Vue Instance
Store New Posts in Firebase with Vuex
Store New Threads in Firebase with Vuex
Counting Thread Contributors
Updating posts in Firebase Realtime Database
Update threads in Firebase Realtime Database
Loading Indicators when Fetching Async Data
Hide Content Until Data is Fully Loaded
Share Logic Between Components with Mixins
Display a Loading Indicator while Components Fetch Async Data
Show a Cool Loading Spinner While Components Fetch Data
Show a Progress Bar while Components Fetch Asynchronous Data
Workflow Improvements
The Firebase Tools (CLI)
Create Custom NPM script To Seed Database
Using Environment Variables in the Vue.js Webpack Template
Using .env file in the Vue.js Webpack Template
User Authentication
Create the Registration Form
Store new Users in the Database
Implement Firebase Authentication
Sign Users in When they Register
Sign Users In and Out
Dropdown Menus using Class Bindings
Authenticate Users via 3rd Party Providers
Vue Router Middlewares and Navigation Guards
In Component Navigation GuardsFREE
Componentless Routes with Navigation GuardsFREE
Global Navigation Guards and Meta FieldsFREE
Firebase Authentication and Navigation Guards
Protecting Pages from Authenticated Users
Redirect Users After Logging In to the Page they Tried to Visit
Only Allow Authenticated Users to Create and Edit Posts
Profile Page of Authenticated User
Force Vue Router to Destroy Component to Trigger Lifecycle Hooks
Modularise Vuex Store
Split a Large Vuex Store Into Namespaced Modules
Split a Large Vuex Store Into Namespaced Modules Part 2
Form Validation
Install Vuelidate and Validate the Registration Form
Validate Unique Fields Asynchronously with Firebase
Validate that an Input is An Image URL that Exists
Extract Custom Vuelidate Validators to a Utility
Homework: Validate All Forms
Custom Vue.js Directives
Close Dropdown on Click Outside
Mobile Navbar
Close Mobile Navbar on Scroll
Course Features
- Lectures 0
- Quizzes 0
- Duration 10 weeks
- Skill level All levels
- Language English
- Students 64
- Assessments Yes