Product Cover Image

Node.js, MongoDB, and AngularJS Web Development

By Brad Dayley

Published by Addison-Wesley Professional

Published Date: Jun 18, 2014

Description

Node.js, MongoDB and AngularJS Web Development┬┐

The definitive guide to building JavaScript-based Web applications from server to browser

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

┬┐

Node.js, MongoDB and AngularJS Web Development is a complete guide for web programmers who want to integrate these three technologies into full working solutions. It begins with concise, crystal-clear tutorials on each of the three technologies and then quickly moves on to building several common web applications.

┬┐

Readers will learn how to use Node.js and MongoDB to build more scalable, high-performance sites, how to leverage AngularJS'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
  • Build server-side web services in JavaScript
  • Implement a MongoDB data store for your web applications
  • Access and interact with MongoDB from Node.js JavaScript code
  • Define static and dynamic web routes and implement server-side scripts to support them
  • Implement Express in Node.js
  • Create Jade templates
  • Define your own custom AngularJS directives that extend the HTML language
  • 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 to your web applications
  • Add nested comment components to your web pages
  • Build an end-to-end shopping cart

Contents at a Glance

┬┐

Part I: Getting Started┬┐

1 Introducing the Node.js-to-AngularJS 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 Documents 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 AngularJS

20 Getting Started with AngularJS

21 Understanding AngularJS Modules and Dependency Injection

22 Implementing the Scope as a Data Model

23 Using AngularJS Templates to Create Views

24 Implementing Directives in AngularJS Views

25 Implementing AngularJS Services in Web Applications

┬┐

Part VI: Building Practical Web Application Components

26 Adding User Accounts to Your Website

27 Adding Comment Threads to Pages

28 Creating Your Own Shopping Cart

29 Building Interactive Web 2.0 Application Components

Table of Contents

Introduction

┬┐

Part I: Getting Started

┬┐

1 Introducing the Node.js-to-AngularJS Stack

Understanding the Basic Web Development Framework ┬┐

Understanding the Node.js-to-AngularJS Stack Components┬┐

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

┬┐

3 Getting Started with Node.js

Understanding Node.js

Installing Node.js

Working with Node.js Packages

Creating a Node.js Application

Writing Data to the Console

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

Understanding the Node.js Event Model

Adding Work to the Event Queue

Implementing Callbacks

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

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

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

8 Implementing Socket Services in Node.js

Understanding Network Sockets

Understanding TCP Server and Socket Objects

Implementing TCP Socket Servers and Clients

Implementing TLS Servers and Clients

9 Scaling Applications Using Multiple Processors in Node.js

Understanding the process Module

Implementing Child Processes

Implementing Process Clusters

10 Using Additional Node.js Modules

Using the os Module

Using the util Module

Part III: Learning MongoDB

┬┐

11 Understanding NoSQL and MongoDB

Why NoSQL?

Understanding MongoDB

MongoDB Data Types

Planning Your Data Model

12 Getting Started with MongoDB

Building the MongoDB Environment

Administering User Accounts

Configuring Access Control

Administering Databases

Managing Collections

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

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

Using upsert to Insert Documents in a Collection

Deleting Documents from a Collection

Removing a Single Document from a Collection

15 Accessing MongoDB Documents 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

16 Using Mongoose for Structured Schema and Validation

Understanding Mongoose

Connecting to a MongoDB Database by Using Mongoose

Defining a Schema

Compiling a Model

Understanding the Query Object

Understanding the Document Object

Finding Documents by Using Mongoose

Adding Documents by Using Mongoose

Updating Documents by Using Mongoose

Removing Documents by Using Mongoose

Aggregating Documents by Using Mongoose

Using the Validation Framework

Implementing Middleware Functions

17 Advanced MongoDB Concepts

Adding Indexes

Using Capped Collections

Applying Replication

Implementing Sharding

Implementing a GridFS Store

Repairing a MongoDB Database

Backing Up MongoDB

Part IV: Using Express to Make Life Easier

┬┐

18 Implementing Express in Node.js

Getting Started with Express

Configuring Routes

Using Request Objects

Using Response Objects

Implementing a Template Engine

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 AngularJS

┬┐

20 Getting Started with AngularJS

Why AngularJS?

Understanding AngularJS

An Overview of the AngularJS Life Cycle

Integrating AngularJS with Existing JavaScript and jQuery

Adding AngularJS to the Node.js Environment

Bootstrapping AngularJS in an HTML Document

Using the Global APIs

Creating a Basic AngularJS Application

21 Understanding AngularJS Modules and Dependency Injection

Overview of Modules and Dependency Injection

Defining AngularJS Modules

Implementing Dependency Injection

22 Implementing the Scope as a Data Model

Understanding Scopes

Implementing Scope Hierarchy

Emitting and Broadcasting Events

23 Using AngularJS Templates to Create Views

Understanding Templates

Using Expressions

Using Filters

Creating Custom Filters

24 Implementing Directives in AngularJS Views

Understanding Directives

Using Built-in Directives

Creating Your Own Directives to Extend HTML

25 Implementing AngularJS Services in Web Applications

Understanding AngularJS Services

Using the Built-in Services

Creating Custom Services

Part VI: Building Practical Web Application Components

┬┐

26 Adding User Accounts to Your Website

Libraries Used

Project Directory Structure

Defining the User Model

Creating the Server

Implementing Routes

Implementing the User Controller Routes

Implementing the User and Authentication Views

Implementing the AngularJS Module and Controller

Using Social Media Accounts as Authentication Sources

27 Adding Comment Threads to Pages

Libraries Used

Project Directory Structure

Defining the Comment, Reply, Photo, and Page Models

Creating the Comments Server

Implementing Routes to Support Viewing and Adding Comments

Implementing the Model-Based Controller Routes

Implementing Photo and Comment Views

Implementing the AngularJS Module and Controller to Support Comment Views

Initializing the Application

28 Creating a Shopping Cart

Project Description

Libraries Used

Project Directory Structure

Defining the Customer, Product, and Orders Models

Creating the Shopping Cart Server

Implementing Routes to Support Product, Cart, and Order Requests

Implementing the Model-Based Controller Routes

Implementing Shopping Cart and Checkout Views

Implementing the AngularJS Module and Controller to Support Shopping Cart Views

Initializing the Application

29 Building Interactive Web 2.0 Application Components

Project Description

Libraries Used

Project Directory Structure

Defining the Project Model

Creating the Application Server

Implementing Routes to Support the Views

Implementing a Tabbed View

Implementing a Weather Service View

Implementing Draggable Elements

Implementing Dynamic Data Access

Initializing the Application


Purchase Info

ISBN-10: 0-321-99578-3

ISBN-13: 978-0-321-99578-0

Format: Book

$49.99 | Free Ground Shipping.

ţöÇ Add to Cart

Digital Choices

eTextbook ?

With CourseSmart eTextbooks and eResources, you save up to 60% off the price of new print textbooks, and can switch between studying online or offline to suit your needs.

Once you have purchased your eTextbooks and added them to your CourseSmart bookshelf, you can access them anytime, anywhere.