Introduction to Node.js and MongoDB

Introduction to Node.js teaches the fundamental concepts involved in writing server-side applications using Node.js. Students will learn about Node.js best practices and conventions while working with popular libraries, frameworks, and back-end services to write a variety of different applications.

SKU: WTITN Categories: , Tags: , ,

Description

Introduction to Node.js teaches the fundamental concepts involved in writing server-side applications using Node.js. Students will learn about Node.js best practices and conventions while working with popular libraries, frameworks, and back-end services to write a variety of different applications.

Topics covered in the course include:

  • js concepts and conventions
  • ES6+ syntax
  • Understanding callbacks and asynchronous code
  • Finding and installing modules with NPM
  • Creating, using, and publishing modules
  • Listening for and handling events
  • Working with streams
  • Promises
  • RESTful APIs
  • express
  • MongoDB

Audience

This course is for professional JavaScript programmers and back-end web developers.

Prerequisites

Students should have at least a beginning to intermediate level of knowledge with JavaScript. Specifically, they should be comfortable working with JavaScript functions and objects.

Pricing

This course is available for lease on a per seat / per day rate by trainers and training companies. The courseware includes slides, notes, assignments, and complete source code for all assignments.

Duration

3-day

Course Outline

  1. Introduction
    1. What is Node.js?
    2. What is it good for?
    3. What is it not good for?
    4. History of Node.js
    5. Who Uses Node?
    6. How Does Node.js Work?
    7. Node’s REPL
    8. Your First Node Program
    9. Lab: Intro to Node
    10. What is Node.js Made Of?
    11. How is Node.js Different?
  2. Lab: First Look at Async Code
  3. Node Modules
    1. Modules Overview
      1. CommonJS Example
      2. Using Modules
      3. Modules vs. Packages
      4. Sources of Modules
    2.  npm
      1. node_modules
      2. package.json
      3. Npm Install
      4. Examples of packages from npm
      5. Lab: Intro to npm
    3. Node’s Core Modules
      1. The http Module
      2. The http Module (cont)
    4. Lab: A Simple Node.js Server
    5. The fs module
    6. Buffer Objects
    7. Modularizing Your Code
      1. Returning Values from Modules
      2. Using a Local Module
      3. Lab: Creating Modules
      4. ES6 Modules
  4. Events and Streams
    1. Non-blocking with Events
    2. Events
      1. EventEmitter
      2. Code Walkthrough: 
Extending EventEmitter
      3. Code Walkthrough: 
Emit events from a function
    3. Node Stream Objects
      1. Types of Streams
      2. Using Readable Streams
    4. Using Writable Streams
    5. Duplex and Transform Streams
    6. Lab: Working with Streams
    7. The pipe method
      1. Lab: Piping Between Streams
    8. The process Object
      1. Command Line Arguments
      2. Lab: The process object
  5. Understanding Callbacks
    1. Using Callbacks
    2. Node’s Error Convention
  6.  Promises
    1. What Are Promises?
    2. Promises vs. Event Listeners
    3. Why Use Promises?
    4. Demo: Callback vs. Promise
    5. Using Promises
    6. Promises with Bluebird
    7. async/await
    8. Upgrading to async/await
    9. Lab: Promises
  7. Node on the Web
    1. How the Web Works
      1. HTTP
      2. HTTP Methods
      3. Making an HTTP Request
      4. Lab: Getting Data with HTTP
    2. RESTful Web Services
      1. RESTful Web Services in Practice
      2. Lab 11: Making a Bot
      3. Lab 12: Making a Hello World Bot
  8. Testing and Debugging
    1. Test Driven Development
      1. The TDD Cycle
      2. TDD Steps
      3. Assertions
      4. JavaScript Testing Frameworks
      5. JS Exception Handling
      6. TDD vs. BDD
    2. The assert module
      1. Using assert
      2. Lab: Testing with assert
    3. Mocha and should.js
      1. Testing with Mocha and should.js
      2. Running Tests with Mocha
  9. Using Express
    1. What is Express?
    2. Getting Started with Express
    3. Express Hello World Server
    4. Routing with Express
    5. Serve Static Content with Express
    6. Lab: Make an Express Server
  10. Database Access with Node.js
    1. mongod and mongo
    2. Use MongoDB in Node
    3. Insert Data
    4. Test it out
    5. Retrieve from MongoDB
  11. Lab: hapi 16
  12. Lab: Async Await and hapi 17
Introduction to Node.js and MongoDB