Loading...

Enterprise Vue

Learn to build a full-stack Vue.js CRUD app and authenticated Node.js API with unit testing, modern JavaScript, and best practices.

A premium video training course by Anthony Gore, creator of Vue.js Developers and author of Full-Stack Vue 2 & Laravel 5.

What you'll learn

Unlike simple "to-do" apps, enterprise apps have numerous features with complex requirements but must also balance high performance, stability in production, and ease of maintenance.

Enterprise Vue is the course for learning to build fully-tested, production-ready Vue applications that are suitable for commercial purposes.

You simply will not find any other courses with the material depth and focus on best practices and enterprise development principles.

Technologies covered

Vue CLI 3

Vue CLI 3

Project Scaffolding
Vuetify

Vuetify

UI Component Library
ES6

ES6

Modern JavaScript
Express

Express

Node Framework
Mongo DB

Mongo DB

NoSQL Database
Postman

Postman

API Development Environment
JWT

JWT

Authentication Standard
GitLab CI

GitLab CI

Deployment Pipeline
Jest

Jest

Test Runner
Vue Test Utils

Vue Test Utils

Component Testing Framework
Nightwatch

Nightwatch

Automated Browser Testing
Heroku

Heroku

Cloud Hosting Platform

Features of the course:

  • Single-page app development with Vuex
  • Modern JavaScript from ES2017 spec
  • Unit and E2E testing
  • Forms and input validation
  • Continuous deployment pipeline
  • RESTful API development
  • Token-based user authentication
  • Best-practice environment setup
  • Interactive component styleguide
  • Material Design user interface with Vuetify

See the full list of topics for the course.

What you'll build

The case-study project for this course is PrintBay , an online store for buying prints of famous artworks. Shoppers can create an account and then add their favorite prints to a cart. The site owner can create new prints or edit existing ones from the admin interface.

PrintBay has been specially designed to capture all the development challenges you'll face when building enterprise Vue apps for your organization including environment setup, database storage, API authentication, documentation, testing, and production deployment.

You can try a live version of PrintBay here .

Find out when you can join

Seating for Enterprise Vue is limited, and first-come, first-serve! Join the waiting list to be informed of the next available opening, and to receive free previews of the main course topics.

Who is this course for?

Enterprise Vue is for senior web developers (and aspiring senior web developers) looking to build the skill-set required for professional Vue.js application development. It's also perfect for startups or development teams looking for a guided blueprint of an enterprise-ready Vue application.

This course presumes that you're comfortable with the basics of Vue, Node, JavaScript, and general web development. If you're at an advanced level in these fields, you'll be able to complete the course quicker.

Who is it not for?

This is not a course for beginners, so if you're just starting with Vue.js, I recommend you enroll in my Vue.js Essentials course to build the foundational skills of single-page app development with Vue and Vuex.

What's included?

12 hours of high-quality video lessons

Special attention has been given to ensure each video is paced fast enough to keep you interested without skipping important details.

Complete source code for every lesson

Access to the source code will help you understand the app more deeply and allow you to pick up the project from the beginning of any lesson or module.

Full transcripts

Transcripts of the videos are provided for quick searching and later reference.

English captions

I think my accent is cool, but I've provided human-created subtitles to ensure you never have trouble understanding.

Frequently asked questions

Will this be updated for Vue 3?

Yes. An update to the course will be available for free to all students once Vue 3 is released.

Why doesn't it include TypeScript, GraphQL, {other technology}?

There are many combinations of technologies that can be used to create high-quality web apps. I thought about this a lot and went with the set that I believe to be of most relevance to most students.

What is the prerequisite knowledge for this course?

This is not a beginners course and I'll presume you know: Vue.js, the SPA architecture, Vuex, HTML, CSS, and all the fundamentals of web development, modern JavaScript, the basics of Node.js, Git, and the basics of Webpack.

What if I'm not happy with the course?

A full refund is available if you decide the course is not suitable for your needs within 30 days.

Course modules

Module # 1
Module # 1

Full-stack Vue project scaffolding (29 mins)

Setting up a Vue project with best practices is pretty easy with Vue CLI 3. It becomes a little trickier if you're going to set up a full-stack app where the codebase is split between client and server.

In the first module, we'll look at how to modify a Vue CLI 3 project scaffold to accommodate a full-stack app configuration, including Webpack config and environment variables.

We'll also configure our full-stack development tools allowing us seamlessly run our API server and the Webpack dev server simultaneously.

vue vue-cli webpack
Module # 2
Module # 2

Express API and database scaffolding (47 mins)

In this module, we'll take the first steps in building a robust backend API with Node, Express, and the MVC structure. We'll be using MongoDB as a database, and Mongoose ORM to make our main CRUD operations a breeze.

To help us develop the API before we build the client app to consume it, we'll be using the Postman API development environment.

node express mongo mongoose postman
Module # 3
Module # 3

Building and testing an Express API (59 mins)

Now that our API has been scaffolded, we can complete the main endpoints like GET /items, POST /items, etc.

In addition to creating the routes and controllers, we'll also be creating robust unit tests using the Mocha test framework to ensure requests to our API provide the correct HTTP responses and database state.

mocha postman supertest
Module # 4
Module # 4

API security with JSON web tokens (1 hr 59 mins)

In the fourth module, we'll authenticate API requests using JSON web tokens (JWT) and use our security measures like hashing user passwords to keep our data safe.

We can use our authentication system to protect certain endpoints, requiring users to log in before they are allowed to create or modify items, for example.

To finish this module and our work on the API, we'll also be creating unit tests that can check our authentication tokens are working.

jwt mongoose mocha
Module # 5
Module # 5

Scalable application state with Vuex ORM (1 hr 14 mins)

In this module, we'll be integrating Vuex ORM into our Vue app, giving us a simple, object-oriented way of managing our app data in the frontend.

Vuex ORM integrates with our HTTP client to allow us to query data from our API. It then allows us to treat this data within Vuex as models, e.g. Items, Users, etc, making our data seamless and scalable.

vuex-orm
Module # 6
Module # 6

Frontend authentication with Vue Auth (1 hr 16 mins)

Now that we have an authenticated API on the backend, we need to give users access by adding authentication to our client app.

In this module, we'll use the Vue Auth library to integrate with our HTTP client and manage the login and registration actions and the auth tokens, as well as reactively update the UI based on the user's auth status.

We'll then set up user roles and protected routes with Vue Auth, allowing us to have guest users, regular users, and admin users all using the same client app.

vue-auth vue-router jwt
Module # 7
Module # 7

Full-stack app documentation (1 hr 21 mins)

If you want to make it easy for developers to maintain your enterprise application, it's a good idea to provide quality documentation.

To document our backend API, we're going to use a tool called apiDoc. This tool will read the doc blocks from the source code to generate a beautiful documentation site.

For our frontend code, we'll create a component styleguide using Vue Styleguidist which not only provides documentation but also live, interactive component previews.

apidoc vue-styleguidist
Module # 8
Module # 8

Automated (end-to-end) browser testing (1 hr 33 mins)

While unit testing allows us to see if individual functions or components are working as we want, automated browser tests, commonly called "end-to-end testing", tells us if the whole application is working as we want.

To perform this type of testing, we'll use an E2E framework called Nightwatch.js to instruct a headless Chrome browser to interact with our application like a real human user would, by clicking buttons, filling out forms, etc, and then making assertions about the page state.

nightwatch selenium chrome
Module # 9
Module # 9

Frontend unit testing with Jest and Vue Test Utils (1 hr 33 mins)

In module 9, we'll be unit testing our Vue.js app components. We'll be using Jest, which is a test framework for JavaScript, and Vue Test Utils which allows us to mount and render Vue components in isolation from a complete Vue app.

Along the way, we'll learn how to design effective component unit tests using key patterns like mocks, stubs, and spies, and a special component testing method called "snapshot testing" that can be used to ensure the rendered markup of a component is stable.

jest vue-test-utils
Module # 10
Module # 10

Continuous Deployment of a full-stack Vue app (1hr 2 mins)

In the final module of the course, we'll be setting up Continuous Deployment as a best-practice workflow for deploying code to a Heroku production environment.

The advantage of using continuous deployment is that it ensures the app is deployed easily and minimizes deployment errors by bundling all the steps of deployment into a script and automatically running tests.

gitlab heroku

Find out when you can join

Seating for Enterprise Vue is limited, and first-come, first-serve! Join the waiting list to be informed of the next available opening, and to receive free previews of the main course topics.

Meet the instructor

I'm Anthony Gore and I'm here to teach you Vue.js! Through my books, online courses, and social media, I aim to turn you into a Vue.js expert.

I'm a Vue Community Partner, curator of the weekly Vue.js Developers Newsletter , and the founder of Vue.js Developers , an online community for web professionals who love Vue.js.

This course is the culmination of everything I've learned while working heavily with Vue over the past three years. Join me in this course and I'll pass that knowledge on to you!

Reviews

This course is yet to be launched, but here are some nice things people said about my other courses:

"Anthony could make a course about how to make a good course. It is easy to follow, to understand and each short video covers a tiny, comprehensive feature, just as it should."

Hector Bella Ticoulat, student of Vue.js Essentials

"The instructor knows his stuff, and the way of gradually introducing new features and showing multiple projects from start to finish is a great way to bring students along."

Matthew Horvat, student of Vue.js Essentials

"This course is exactly what I was looking for, not much theory, more key concepts, and more hands on the code, really well-structured course"

Marco Munoz, student of Vue.js Essentials

"Super-clear, quality teaching. Easy to follow and to understand. Recommended."

Darren-Lee Joseph, student of Vue.js Essentials

"Excellent course. To the point - issues discussed are relevant only to the framework in question - no unnecessary tangents (like vanilla js, css, or unrelated backend concepts). Everything is explained in context of real world apps. 10/10 would buy again."

Andre M, student of Vue.js Essentials

"Anthony provided a great introduction to Vue.js! After completing the course, I feel like I understand the core foundation of Vue.js and can dive right in to building applications and learning additional features of the framework."

Michael Frank, student of Vue.js Essentials

"Excellent teacher. I just started today, and kept going, because the information is relayed smoothly, and in a fun way. Bonus points for returning to improve/fix small issues, instead of leaving them as they are. I don't feel confused, or left behind, and the subject matter is properly explained as we go. If you want to enjoy learning Vue.js, take this course."

Eric Stone, student of Vue.js Essentials

"The course is comprehensive and gives deep details on many Vuejs features, yet introduces them gradually and with thorough explanations. It helps to close a gap between reading Vuejs documentation and building real applications fast and easily."

Eugene Nikolayev, student of Vue.js Essentials

"Excellent coverage of Vue js framework, the steady increase in complexity as the course goes on helps you retain information and gain a deep understanding of Vue."

Vincent Pauley, student of Vue.js Essentials

"Very helpful. I learned I lot of new stuff and I thinks its doing projects like that is the best way to learn. Thank you"

Ibrahim Hasan Abtula, student of Vue.js Essentials

Enterprise Vue

© 2019 Vue.js Developers. All Rights Reserved.