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

by ; ;
  • ISBN13:


  • ISBN10:


  • Edition: 2nd
  • Format: Paperback
  • Copyright: 2017-10-23
  • Publisher: Addison-Wesley Professional

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $49.99 Save up to $12.50
  • Rent Book $37.49
    Add to Cart Free Shipping


Supplemental Materials

What is included with this book?

  • The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
  • The Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.


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

Author Biography

Brad Dayley is a senior software engineer with more than 20 years of experience developing enterprise applications and web interfaces. He has used JavaScript and jQuery for years and is the author of Learning Angular, jQuery and JavaScript Phrasebook and Sams Teach Yourself AngularJS, JavaScript, and jQuery All in One. He has designed and implemented a wide array of applications and services, from application servers to complex web applications.

Brendan Dayley is a web application developer who loves learning and implementing the latest and greatest technologies. He is the co-author of Learning Angular and Sams Teach Yourself AngularJS, JavaScript, and jQuery All in One. He has written a number of web applications using JavaScript, TypeScript, and Angular, and he is exploring the capabilities of new web and mobile technologies such as augmented reality and how to use them for innovative solutions.

Caleb Dayley is a university student studying computer science. He tries to learn all that he can and has taught himself much of what he knows about programming. He has taught himself several languages, including JavaScript, C#, and, using the first edition of this book, NodeJS, MongoDB and Angular. He is excited for what the future holds, and the opportunities to help design and create the next generation of innovative software that will continue to improve the way we live, work, and play.

Table of Contents


Part I: Learning Node.js
1 Getting Started with Node.js
   • Installing Node.js
   • Creating a Node.js Application
   • Installing npms
2 Understanding I/O  and Events in Node.js
   • Types of  I/O
   • Handling System I/O
   • Handling Network I/O
   • Understanding Events
   • Creating Event Listeners
3 Implementing Callbacks in Node.js
   • Understanding Callbacks
   • How Node.js Implements Callbacks
   • Synchronous Callbacks
   • Asynchronous Callbacks
   • Handling Event Loops
4 Implementing HTTP Services  in Node.js
   • Understanding HTTP Services
   • Implementing HTTP Servers in Node.js
   • Implementing HTTP Clients in Node.js
5 Implementing Socket Services in Node.js
   • Understanding Socket.IO
   • Creating a Socket Server
   • Creating a Socket Client
   • Broadcasting Data to Socket Clients
   • Sending Data to Socket Servers
   • Bi-Directional Data
6 Accessing the Local System from Node.js
   • Writing Data to Files
   • Reading Data from Files
   • Accessing Environment Variables
   • Creating Child Processes
   • Using the Cluster Module
7 Handling JSON Data in Node.js
   • Converting JSON to JavaScript Objects
   • Converting JavaScript Objects to JSON
   • Sending JSON Data
   • Creating a JSON API in Node.js
8 Using the Buffer Module
   • Understanding Buffered Data
   • Writing to Buffers
   • Appending to Buffers
   • Modifying Data in Buffers
   • Copying Buffers
9 Using the Stream Module
   • Understanding Node.js Streams
   • Creating Readable Streams
   • Creating Writable Streams
   • Implementing Piped Streams
10 Creating Your Own Node.js Modules

Part II: Learning MongoDB
11 Getting Started with MongoDB
   • Understanding MongoDB
   • MongoDB Data Types
   • Understanding Documents
   • Installing MongoDB
   • Accessing MongoDB from the Shell Client
   • Starting and Stopping MongoDB
   • Monitoring MongoDB
   • Configuring Security and Authentication
12 Getting Started with Mongoose
   • Understanding Mongoose
   • Installing Mongoose
   • Adding Mongoose to Node.js
   • Connecting to MongoDB
13 Defining Your Object Model from Node.js Mongoose
   • Planning your Object Model
   • Defining the Schema
   • Compiling an Object Model
   • Defining Validation
   • Creating Objects
   • Updating Objects
   • Saving Objects
14 Accessing MongoDB Data from Node.js Using Mongoose
   • Introducing find
   • Adding Query Criteria
   • Using Type-Specific Queries
   • Limiting Results
   • Sorting Results
   • Aggregating Results
   • Getting Data as QueryStream
15 Advanced Mongoose Concepts
   • Snapshot Queries
   • Converting Query Objects to JSON
   • Converting Query Objects to JavaScript Objects
   • Adding dynamic methods to the Model
   • Adding MiddleWare
   • Population
   • Promise
16 Advanced MongoDB Concepts
   • Indexing
   • Replication
   • Sharding
   • Backup and Repair

Part III: Using Express and Jade to Make Life Easier
17 Getting Started with Express and Jade
   • Understanding Express
   • Installing Express
   • Configuring Express
   • Adding Middleware
   • Understanding Jade
   • Installing Jade
   • Setting Jade as the Template Engine
18 Implementing Express in Node.js
   • Understanding Routes
   • Adding Routes
   • Adding a GET Route
   • Adding a POST Route
   • Applying Parameters in Routes
   • Accessing Requests
   • Manipulating Responses
19 Creating Jade Templates
   • Adding Tags
   • Setting Attributes
   • Adding Plain Text
   • Applying Unbuffered Code vs. Buffered Code
   • Using Conditionals
   • Iteration
   • Using Mixins
   • Using Additional Script Languages

Part IV: Learning AngularJS
20 Getting Started with AngularJS
   • Understanding AngularJS
   • Installing AngularJS
   • Configuring AngularJS
   • Understanding AngularJS MVC
   • Model
   • Template
   • Controller
21 Defining Browser Interaction in Templates
   • Applying Browser Events
   • Modifying DOM Elements
   • Data Binding to DOM Elements
   • Adding Filters to
22 Understanding Directives
   • Built-in Directives
   • Creating Your Own Directives to Extend HTML
   • Creating Reusable Components
23 Interacting with the Server Via AJAX
   • Using the $http.get Service
   • Using the $http.post Service
   • Using the $http.jsonp Service
   • Using the $resource Service
24 Additional AngularJS Concepts
   • Adding Expressions to Templates
   • Using Routes
   • Implementing Services
   • Dependency Injection
25 Integrating AngularJS with Existing Code
   • JavaScript
   • jQuery

Part V: Practical Examples
26 Adding User Accounts to your Web Site
27 Connecting to External Services
28 Creating Your Own Shopping Cart
29 Adding Comments Area to Pages
30 Generating Dynamic PDF Documents
31 Building a Rich Web Application

Rewards Program

Write a Review