Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Full Stack Isomorphic JavaScript with Vue.js & Node.js
Rating: 4.2 out of 5(68 ratings)
320 students

Full Stack Isomorphic JavaScript with Vue.js & Node.js

Learn to build isomorphic JavaScript web applications using MEVN Stack - MongoDB, Express, Vue.js, and Node.js
Last updated 5/2019
English

What you'll learn

  • Build, test, and deploy web applications with Node .js, Express, Vue .js, and MongoDB
  • Create Single Page Applications using the Vue .JS command-line interface tool
  • Learn to manage application state with Vuex Library
  • Implement application routing with Vue .js Router
  • Create a songs playlist application using MEVN stack
  • Build a secure RESTful API with Express, including user authentication
  • Learn about the HTTP client Axios to consume REST APIs to get data
  • Deploy production-ready applications to the cloud

Course content

2 sections64 lectures5h 32m total length
  • The Course Overview1:20

    This video provides an overview of the entire course.

  • What You Should Know First0:57

    Identify all prerequisites for the course.

    • Explain the need for HTML and CSS

    • Identify the need for knowledge in JavaScript and basic terminal usage

    • Present resources to assist in accomplishing prerequisites

  • Single-Page Applications and Vue.js4:05

    Understand what a Single-Page Application is.

    • Define a Single-Page Application

    • List popular frameworks used to build SPAs

    • Explain the benefits of SPAs

  • NoSQL and MongoDB2:18

    Define NoSQL and provide an explanation of MongoDB.

    • Provide an understanding of NoSQL in comparison to relational databases

    • List some popular companies utilizing NoSQL to emphasize its significance

    • Demonstrate the MongoDB querying syntax and document storage format

  • Node.js and Express.js1:41

    Understand the role of Node.js and Express.js in the MEVN Stack.

    • Explain the basics of Node.js and its purpose

    • Explain why Express.js is a popular framework for building web applications

    • Summarize how Node.js and Express.js work together in the MEVN stack

  • Installing Node.js and Node Package Manager (NPM)1:09

    Install Node.js and NPM. Then, verify the installation in the Command-Line Interface (CLI).

    • Visit the Node.JS home page and download the latest stable release

    • Execute the CLI/terminal

    • Execute scripts to verify the installation of Node.js and NPM

  • Installing Vue.js Command Line Interface (CLI) Project Generator0:51

    Install the Vue.js CLI to generate Vue.js applications.

    • Visit the Vue.js CLI website and get NPM installation scripts

    • Execute Vue.js CLI installation scripts in CLI

    • Execute CLI scripts to verify proper installation of Vue.js CLI project generator

  • Installing MongoDB3:45

    Provide clear and concise installation instructions for OS X and Windows.

    • Demonstrate the installation of MongoDB using Homebrew (OS X) / Download MongoDB MSI from the MongoDB home page (WIndows)

    • Create a MongoDB data directory for storage

    • Start Mongo Shell to ensure that the database was installed correctly

  • Installing Integrated Development Environment (IDE)0:53

    Identify an effective IDE to use throughout project.

    • Discuss VS Code and provide general information about the IDE

    • Visit the Visual Studio Code home page and download Code Editor

    • Install and open Code Editor to verify the installation

  • Create Vue.js Application1:45

    Use the Vue.js CLI project generator to create a new Vue.js application.

    • Visit the Vue.js CLI home page to verify scaffolding scripts

    • Run project generator scripts to create a new project

    • Open a new project in Visual Studio Code to ensure that all files are in place

  • Project Directory and Structure2:44

    Understand a Vue.js CLI-generated project directory.

    • Use Visual Studio Code to access different sections of the application

    • Briefly explain the Vue.js application structure

    • Ensure that all sections of the project are highlighted and explained

  • Vue.js Components14:56

    Learn to create Vue.js Components.

    • Use pre-defined Vue.js components to understand syntax

    • Import components into other files and components

    • Create various components to be used in the application

  • Vue.js Router6:38

    Use the Vue.js router to create various sections in the application.

    • Access the Vue.js router configuration

    • Create main routes of the MEVN Stack application

    • Add further route configuration and active link indication

  • Vue.js Navigation Guards3:56

    Protect routes in the Vue.js application.

    • Implement global route guards

    • Implement in-component route guards

    • Implement per-route route guards

  • Vuex State Management10:20

    Create a centralized storage location for Vue.js application state.

    • Define Vuex and the purpose of state management

    • Add a centralized store

    • Dispatch store actions and manipulate state

  • Create Server with Express.js8:30

    Create a basic server with Express.js and Node.js.

    • Create a server using Node.js

    • Create a server using Express.js

    • Understand how a MEVN Stack server is created and operates

  • Learn to Use Express.js Router5:50

    Create basic CRUD endpoints using the Express.js Router.

    • Add HTTP methods to Express.js Router

    • Evaluate an HTTP Request and Response

    • Verify implementation using Postman

  • Use Express.js Middleware and CORS Configuration6:42

    Implement needed middleware for client-to-server communication and data exchange.

    • Add Express.js json parser middleware

    • Add dev tools middleware

    • Enable CORS in development environment

  • RESTful Endpoints with HTTP Controllers7:51

    Create controller methods that can communicate with client.

    • Define functions for each API route

    • Connect routes to controller functions

    • Verify connection to client

  • Check HTTP Status Codes3:17

    Utilize HTTP Status Codes for effective server-to-client communication.

    • Define some of the common HTTP Status Codes used in development

    • Return different HTTP Status Codes in REST Controllers

    • Verify status codes in Vue.js Client

  • Connect to MongoDB and Use MongoDB Compass GUI2:40

    Establish a database connection for Node.js application.

    • Install MongoDB object modeling tool, Mongoose, for Node.js

    • Add environment variables for database

    • Establish connection on server startup

  • Working with Entity Models4:27

    Define main Mongoose Schemas for MEVN Stack Application.

    • Use mongoose to define entity schemas

    • Access schemas in REST Controllers

    • Implement schema validation and methods

  • Create, Read, Update, and Delete (CRUD)8:08

    Use Mongoose.JS to define CRUD operations for a schema.

    • Create mongoose model object using request body

    • Add all necessary methods for task model management

    • Handle errors inside of callbacks

  • Encrypt Passwords with Node.js and BCrypt2:55

    Protect user account with encrypted passwords.

    • Add encryption library to Node.js

    • Use Bcrypt to encrypt passwords

    • Verify password encryption in MongoDB

  • Validate Passwords8:39

    Use BCrypt package to validate a user’s password.

    • Add statics to User Schema

    • Validate user password in login request

    • Confirm password encryption and validation in Vue.js Login and Register

  • JSON Web Tokens3:12

    Generate JSON Web tokens for Authorization.

    • Install JWT Library for Node.js

    • Encode a JWT with user’s data

    • Return a JWT in authentication controller

  • Vue.js and JSON Web Tokens1:18

    Receive JWT in Vue.js Application and store in web browser.

    • Use developer tools to verify HTTP response body

    • Verify receipt of JWT in Vue.js

    • Store JWT in browser local storage

  • User Authentication3:06

    Complete User Authentication process using Vue.js Directives and functions.

    • Dispatch authenticate to Vuex for User Logout

    • Use v-if directive to protect navigation links

    • Verify successful login and state action

  • Validating a User’s Session3:54

    Use JWT to validate a user’s session in Node.js.

    • Add middleware function to intercept HTTP Request

    • Access headers in Express.js HTTP Request

    • Verify a JWT using application secret key

  • Managing User's Session3:15

    Use JWT to access user’s data in session.

    • Decode JWT token from HTTP Request

    • Read user data from JWT and create utility functions

    • Save user’s data in controller methods

  • Connecting Vue.js to Backend Server25:32

    Finalize structure of Vue.js app and remaining components.

    • Build create-tasks form and edit-tasks form

    • Create Task service for handling tasks in application

    • Verify all CRUD operations for tasks are working properly

  • Getting Ready for Production3:19

    Prepare a production-ready MEVN Stack application.

    • Connect to a production database

    • Add a production NPM script

    • Build and run application in production mode

  • Amazon Web Services and Amazon Elastic Compute Cloud3:48

    Define a cloud platform to host and run MEVN Stack application.

    • Discuss benefits and capabilities of AWS

    • Define different deployment options for Node.js applications

    • Create an AWS account and deploy a Ubuntu Server

  • Deploying App to the Web5:05

    Run MEVN Stack application on Ubuntu Server.

    • Install Node.js and other needed tools on EC2 Instance

    • Add application to Virtual Instance, install dependencies, and execute production start script

    • Use tool to run Node.js Server without interruption

  • Final Thoughts3:49

    Provide final thoughts on course and any related topics.

    • Determine the road ahead for developers

    • Define real-world ideas to make application grow

    • Provide closing thoughts and advice

  • Test Your Knowledge

Requirements

  • Familiarity with JavaScript programming is assumed.

Description

Learn to build full-stack isomorphic JavaScript web applications with Vue and Node.js along with the MEVN stack. The MEVN stack is a collection of great tools—MongoDB, Express.js, Vue.js, and Node.js—that provide a strong base for a developer to build easily maintainable web applications. With each of them a JavaScript or JavaScript-based technology, having a shared programming language means it takes less time to develop applications.

This course enables you to build, test, and deploy full stack isomorphic applications with Node.js, Express, Vue.js, and MongoDB. You will start by setting up the development environment and grasping some of the essential concepts for building applications. You will then build a single page application using MEVN stack. You will also develop a songs playlist application wherein you will create a new playlist and search through YouTube videos. Next, you will learn to consume data from third-party APIs within your application as well as perform CRUD operations against a locally hosted API using the HTTP client Axios. Finally, you will learn to deploy the applications on the cloud.

By the end of this course, you will be able to build your own web and isomorphic applications using MEVN stack.
Meet Your Expert(s):

We have the best work of the following esteemed author(s) to ensure that your learning journey is smooth:

  • David Acosta is a professional Software Developer with a Bachelor of Science degree in Information Technology Management and more than three years' experience in web development. As a developer for CollaborateMD Inc., David develops web-based medical billing and practice management software services for independent practices and hospitals. His work mainly focuses on JavaScript, TypeScript, and Java-based technologies such as Angular 2, Spring, Swing, and JQuery. He also has extensive knowledge of many other libraries and frameworks such as Laravel, React.JS, Vue.js, Ruby on Rails, Bootstrap, and more.

  • Haider Rehman works as a DevOps and a Software Engineer for a well-known software company and has over 8 years of experience as a developer. He has a Master's degree in Telecom Systems and a Bachelor's degree in Telecommunication; after obtaining these, he switched to programming in IT and telecommunications to get a feel for the industry. Haider enjoys hanging out with friends, music, and coding.

Who this course is for:

  • This course is for web developers who want to create amazing real-world applications using MEVN Stack.