Node.js, MongoDB and Angular Web Development: The definitive guide to using the MEAN stack to build web applications, 2nd edition

  • Brad Dayley
  • Brendan Dayley
  • Caleb Dayley

Unfortunately, this item is not available in your country.


Node.js, MongoDB and Angular Web Development

The definitive guide to using the MEAN stack to build web applications

Node.js is a leading server-side programming environment, MongoDB is the most popular NoSQL database, and Angular is the leading framework for MVC-based front-end development. Together, they provide an easy-to-implement, fully integrated web development stack that allows web programmers to create high-performance sites and applications built completely in JavaScript, from server to client.

Updated for Angular 2, Angular 4, and subsequent versions, this new edition of Node.js, MongoDB and Angular Web Development shows you how to integrate these three technologies into complete working solutions. It begins with concise, crystal-clear tutorials on each technology and then quickly moves on to building common web applications.

You’ll learn how to use Node.js and MongoDB to build more scalable, high-performance sites, how to leverage Angular’s innovative MVC approach to structure more effective pages and applications, and how to use all three together to deliver outstanding next-generation Web solutions.

  • Implement a highly scalable and dynamic web server using Node.js and Express
  • Implement a MongoDB data store for your web applications
  • Access and interact with MongoDB from Node.js JavaScript code
  • Learn the basics of TypeScript
  • Define custom Angular directives that extend the HTML language
  • Build server-side web services in JavaScript
  • Implement client-side services that can interact with the Node.js web server
  • Build dynamic browser views that provide rich user interaction
  • Add authenticated user accounts and nested comment components to your web applications and pages
Contents at a Glance

Part I: Getting Started

1 Introducing the Node.js-to-Angular Stack

2 JavaScript Primer

Part II: Learning Node.js

3 Getting Started with Node.js

4 Using Events, Listeners, Timers, and Callbacks in Node.js

5 Handling Data I/O in Node.js

6 Accessing the File System from Node.js

7 Implementing HTTP Services in Node.js

8 Implementing Socket Services in Node.js

9 Scaling Applications Using Multiple Processors in Node.js

10 Using Additional Node.js Modules

Part III: Learning MongoDB

11 Understanding NoSQL and MongoDB

12 Getting Started with MongoDB

13 Getting Started with MongoDB and Node.js

14 Manipulating MongoDB Documents from Node.js

15 Accessing MongoDB from Node.js

16 Using Mongoose for Structured Schema and Validation

17 Advanced MongoDB Concepts

Part IV: Using Express to Make Life Easier

18 Implementing Express in Node.js

19 Implementing Express Middleware

Part V: Learning Angular

20 Jumping into TypeScript

21 Getting Started with Angular

22 Angular Components

23 Expressions

24 Data Binding

25 Built-in Directives

Part VI: Advanced Angular

26 Custom Directives

27 Events and Change Detection

28 Implementing Angular Services in Web Applications

29 Creating Your Own Custom Angular Services

30 Having Fun with Angular

Table of contents

Part I: Getting Started


Chapter 1 Introducing the Node.js-to-Angular Stack

    Understanding the Basic Web Development Framework

    Understanding the Node.js-to-Angular Stack Components


Chapter 2 JavaScript Primer

    Defining Variables

    Understanding JavaScript Data Types

    Using Operators

    Implementing Looping

    Creating Functions

    Understanding Variable Scope

    Using JavaScript Objects

    Manipulating Strings

    Working with Arrays

    Adding Error Handling


Part II: Learning Node.js


Chapter 3 Getting Started with Node.js

    Understanding Node.js

    Installing Node.js

    Working with Node Packages

    Creating a Node.js Application

    Writing Data to the Console


Chapter 4 Using Events, Listeners, Timers, and Callbacks in Node.js

    Understanding the Node.js Event Model

    Adding Work to the Event Queue

    Implementing Callbacks


Chapter 5 Handling Data I/O in Node.js

    Working with JSON

    Using the Buffer Module to Buffer Data

    Using the Stream Module to Stream Data

    Compressing and Decompressing Data with Zlib


Chapter 6 Accessing the File System from Node.js

    Synchronous Versus Asynchronous File System Calls

    Opening and Closing Files

    Writing Files

    Reading Files

    Other File System Tasks


Chapter 7 Implementing HTTP Services in Node.js

    Processing URLs

    Processing Query Strings and Form Parameters

    Understanding Request, Response, and Server Objects

    Implementing HTTP Clients and Servers in Node.js

    Implementing HTTPS Servers and Clients


Chapter 8 Implementing Socket Services in Node.js

    Understanding Network Sockets

    Understanding TPC Server and Socket Objects

    Implementing TCP Socket Servers and Clients

    Implementing TLS Servers and Clients


Chapter 9 Scaling Applications Using Multiple Processors in Node.js

    Understanding the Process Module

    Implementing Child Processes

    Implementing Process Clusters


Chapter 10 Using Additional Node.js Modules

    Using the os Module

    Using the util Module

    Using the dns Module

    Using the crypto Module

    Other Node Modules and Objects


Part III: Learning MongoDB


Chapter 11 Understanding NoSQL and MongoDB

    Why NoSQL?

    Understanding MongoDB

    MongoDB Data Types

    Planning Your Data Model


Chapter 12 Getting Started with MongoDB

    Building the MongoDB Environment

    Administering User Accounts

    Configuring Access Control

    Administering Databases

    Managing Collections


Chapter 13 Getting Started with MongoDB and Node.js

    Adding the MongoDB Driver to Node.js

    Connecting to MongoDB from Node.js

    Understanding the Objects Used in the MongoDB Node.js Driver

    Accessing and Manipulating Databases

    Accessing and Manipulating Collections


Chapter 14 Manipulating MongoDB Documents from Node.js

    Understanding Database Change Options

    Understanding Database Update Operators

    Adding Documents to a Collection

    Getting Documents from a Collection

    Updating Documents in a Collection

    Atomically Modifying Documents in a Collection

    Saving Documents in a Collection

    Upserting Documents in Collection

    Deleting Documents from a Collection

    Removing a Single Document from a Collection


Chapter 15 Accessing MongoDB from Node.js

    Introducing the Data Set

    Understanding Query Objects

    Understanding Query Options Objects

    Finding Specific Sets of Documents

    Counting Documents

    Limiting Result Sets

    Sorting Result Sets

    Finding Distinct Field Values

    Grouping Results

    Applying MapReduce by Aggregating Results


Chapter 16 Using Mongoose for Structured Schema and Validation

    Understanding Mongoose

    Connecting to a MongoDB Database Using Mongoose

    Defining a Schema

    Compiling a Model

    Understanding the Query Object

    Understanding the Document Object

    Finding Documents Using Mongoose

    Adding Documents Using Mongoose

    Updating Documents Using Mongoose

    Removing Documents Using Mongoose

    Aggregating Documents Using Mongoose

    Using the Validation Framework

    Implementing Middleware Functions


Chapter 17 Advanced MongoDB Concepts

    Adding Indexes

    Using Capped Collections

    Applying Replication

    Implementing Sharding

    Repairing a MongoDB Database

    Backing Up MongoDB


Part IV: Using Express to Make Life Easier


Chapter 18 Implementing Express in Node.js

    Getting Started with Express

    Configuring Routes

    Using Requests Objects

    Using Response Objects

    Implementing a Template Engine


Chapter 19 Implementing Express Middleware

    Understanding Middleware

    Using the query Middleware

    Serving Static Files

    Handling POST Body Data

    Sending and Receiving Cookies

    Implementing Sessions

    Applying Basic HTTP Authentication

    Implementing Session Authentication

    Creating Custom Middleware


Part V: Learning Angular


Chapter 20 Jumping into TypeScript

    Learning the Different Types

    Understanding Interfaces

    Implementing Classes

    Implementing Modules

    Understanding Functions


Chapter 21 Getting Started with Angular

    Why Angular?

    Understanding Angular

    Separation of Responsibilities

    Adding Angular to Your Environment

    Using the Angular CLI

    Creating a Basic Angular Application


Chapter 22 Angular Components

    Component Configuration

    Building a Template

    Using Constructors

    Using External Templates

    Injecting Directives


Chapter 23 Expressions

    Using Expressions

    Using Pipes

    Building a Custom Pipe


Chapter 24 Data Binding

    Understanding Data Binding


Chapter 25 Built-in Directives

    Understanding Directives

    Using Built-in Directives


Part VI: Advanced Angular


Chapter 26 Custom Directives

    Creating a Custom Attribute Directive

    Creating a Custom Directive with a Component


Chapter 27 Events and Change Detection

    Using Browser Events

    Emitting Custom Events

    Using Observables


Chapter 28 Implementing Angular Services in Web Applications

    Understanding Angular Services

    Using the Built-in Services

    Sending HTTP GET and PUT Requests with the http Service

    Implementing a Simple Mock Server Using the http Service

    Changing Views with the router Service

    Implementing a Router with a Navigation Bar

    Implementing a Router with Parameters


Chapter 29 Creating Your Own Custom Angular Services

    Integrating Custom Services into Angular Applications

    Implementing a Simple Application that Uses a Constant Data Service

    Implementing a Data Transform Service

    Implementing a Variable Data Service

    Implementing a Service that Returns a Promise

    Implementing a Shared Service


Chapter 30 Having Fun with Angular

    Implementing an Angular Application that Uses the Animation Service

    Implementing an Angular Application that Zooms in on Images

    Implementing an Angular Application that Enables Drag and Drop

    Implementing a Star Rating Angular Component

Published by Addison-Wesley Professional (October 23rd 2017) - Copyright © 2018