Web Application Development with MEAN

Unlock the power of the MEAN stack by creating attractive and real-world projects
Preview in Mapt

Web Application Development with MEAN

Amos Q. Haviv, Adrian Mejia, Robert Onodi

2 customer reviews
Unlock the power of the MEAN stack by creating attractive and real-world projects
Mapt Subscription
FREE
$29.99/m after trial
eBook
$47.60
RRP $67.99
Save 29%
Print + eBook
$84.99
RRP $84.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$47.60
$84.99
$29.99 p/m after trial
RRP $67.99
RRP $84.99
Subscription
eBook
Print + eBook
Start 14 Day Trial

Frequently bought together


Web Application Development with MEAN Book Cover
Web Application Development with MEAN
$ 67.99
$ 47.60
HTML5 and CSS3: Building Responsive Websites Book Cover
HTML5 and CSS3: Building Responsive Websites
$ 67.99
$ 47.60
Buy 2 for $35.00
Save $100.98
Add to Cart

Book Details

ISBN 139781787121720
Paperback845 pages

Book Description

The MEAN stack is a collection of the most popular modern tools for web development. This course will help you to build a custom e-commerce app along with several other applications. You will progress to creating several applications with MEAN.

The first module in this course will provide you with the skills you need to successfully create, maintain, and test a MEAN application. Starting with MEAN core frameworks, this course will explain each framework key concepts of MongoDB, Express, AngularJS, and Node.js. We will walk through the different tools and frameworks that will help expedite your daily development cycles.

After this, the next module will show you how to create your own e-commerce application using the MEAN stack. It takes you step by step through the parallel process of learning and building to develop a production-ready, high-quality e-commerce site from scratch. It also shows you how to manage user authentication and authorization, check multiple payment platforms, add a product search and navigation feature, deploy a production-ready e-commerce site, and finally add your own high-quality feature to the site.

The final step in this course will enable you to build a better foundation for your AngularJS apps. You’ll learn how to build complex real-life applications with the MEAN stack and a few more advanced projects. You will become familiar with WebSockets, build real-time web applications, create auto-destructing entities, and see how to work with monetary data in Mongo. You will also find out how to a build real-time e-commerce application

This learning path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:

  • MEAN Web Development by Amos Haviv
  • Building an E-Commerce Application with MEAN by Adrian Mejia
  • MEAN Blueprints by Robert Onodi

Table of Contents

Chapter 1: Introduction to MEAN
Three-tier web application development
The evolution of JavaScript
Introducing MEAN
Installing MongoDB
Installing Node.js
Introducing NPM
Summary
Chapter 2: Getting Started with Node.js
Introduction to Node.js
JavaScript closures
Node modules
Developing Node.js web applications
Summary
Chapter 3: Building an Express Web Application
Introduction to Express
Installing Express
Creating your first Express application
The application, request, and response objects
External middleware
Implementing the MVC pattern
Configuring an Express application
Rendering views
Serving static files
Configuring sessions
Summary
Chapter 4: Introduction to MongoDB
Introduction to NoSQL
Introducing MongoDB
Key features of MongoDB
MongoDB shell
MongoDB databases
MongoDB collections
MongoDB CRUD operations
Summary
Chapter 5: Introduction to Mongoose
Introducing Mongoose
Understanding Mongoose schemas
Extending your Mongoose schema
Defining custom model methods
Model validation
Using Mongoose middleware
Using Mongoose DBRef
Summary
Chapter 6: Managing User Authentication Using Passport
Introducing Passport
Understanding Passport strategies
Understanding Passport OAuth strategies
Summary
Chapter 7: Introduction to AngularJS
Introducing AngularJS
Key concepts of AngularJS
Installing AngularJS
Structuring an AngularJS application
Bootstrapping your AngularJS application
AngularJS MVC entities
AngularJS routing
AngularJS services
Managing AngularJS authentication
Summary
Chapter 8: Creating a MEAN CRUD Module
Introducing CRUD modules
Setting up the Express components
Introducing the ngResource module
Implementing the AngularJS MVC module
Finalizing your module implementation
Summary
Chapter 9: Adding Real-time Functionality Using Socket.io
Introducing WebSockets
Introducing Socket.io
Installing Socket.io
Building a Socket.io chat
Summary
Chapter 10: Testing MEAN Applications
Introducing JavaScript testing
Testing your Express application
Testing your AngularJS application
Summary
Chapter 11: Automating and Debugging MEAN Applications
Introducing the Grunt task runner
Debugging Express with node-inspector
Debugging AngularJS with Batarang
Summary
Chapter 12: Getting Started with the MEAN Stack
Introducing the MEAN stack
Installing the MEAN component
Understanding the project structure
Previewing the final e-commerce app
Understanding the requirements for e-commerce applications
Summary
Chapter 13: Building an Amazing Store Frontend with AngularJS
Understanding AngularJS and the client directory structure
Laying out the e-commerce MVP
CRUD-ing products with AngularJS
Summary
Chapter 14: Building a Flexible Database with MongoDB
Understanding MongoDB
CRUDing with Mongoose
Exploring a few advanced features in Mongoose
Reviewing models and server-side structure
Summary
Chapter 15: Creating a RESTful API with NodeJS and ExpressJS
Getting started with REST
Scaffolding RESTful APIs
Bootstrapping ExpressJS
Understanding routes in ExpressJS
Testing, TDD, BDD, and NodeJS
Creating the product model
Implementing the Product API
Summary
Chapter 16: Wiring AngularJS with ExpressJS REST API
Implementing a RESTful product service
Wiring the product controller with new RESTful methods
Uploading product images
Testing RESTful APIs in AngularJS
End-to-end testing
Summary
Chapter 17: Managing User Authentication and Authorization
Getting started with authentication strategies
Understanding client-side authentication
Understanding server-side authentication
Authenticating with Facebook, Google, and Twitter
Summary
Chapter 18: Checking Out Products and Accepting Payment
Setting up the shopping cart
The checkout page and Braintree integration
Setting up Braintree endpoint and authentication
Creating an order
Summary
Chapter 19: Adding Search and Navigation
Adding search to the navigation bar
Adding product categories
Implementing the search and navigation functionality
Wrapping it up
Summary
Chapter 20: Deploying a Production-ready e-Commerce App
Building for production
Scaling web applications
Deploying the application to the cloud
Deploying applications in a multi-server environment
Performing stress tests
Production architecture for scaling NodeJS
Next steps on security
Summary
Chapter 21: Adding Your Own Features with High Quality
Planning a new feature
Testing the new feature
Features backlog
Deploying a new version of the app
Summary
Chapter 22: Contact Manager
Setting up the base application
Managing contacts
Securing your application routes
Integrating Angular 2 into our application
Granting access to our application
The Contact module
Finishing touch
Summary
Chapter 23: Expense Tracker
Setting up the base application
Setting up the user section
Authenticating users
Tracking expenses
Implementing the Angular client application
Registering users
Sign-in-user component
Common functionalities
The categories module
The expenses module
Summary
Chapter 24: Job Board
Setting up the base application
Modifying the user backend
The company backend module
The job backend module
Job applications
Creating a new company
Displaying companies
The job module
Company details
User profile
Summary
Chapter 25: Chat Application
Setting up the base application
Modifying the user model
The message history data model
Thread backend
Backend chat service
Bootstrapping the Angular app
Custom data types
Application services
The chat component
The user list component
Displaying threads
Messaging
Summary
Chapter 26: E-commerce Application
Setting up the base application
Data modeling
The core Service Layer
The Auth micro app
Exposing an API
Shared resources
The admin section
Building the Storefront
Summary
Chapter 27: Auction Application
Setting up the base app
What we are building
Data modeling
Auction backend
Frontend services
The Auction module
The bid module
Summary

What You Will Learn

  • Build modern, end-to-end web applications by employing the full-stack web development solution of MEAN
  • Connect your Express application to MongoDB and use a Mongoose model and build a complex application from start to finish in MongoDB
  • Employ AngularJS to build responsive UI components
  • Implement multiple authentication strategies such as OAuth, JsonWebToken, and Sessions
  • Enhance your website’s usability with social logins such as Facebook, Twitter, and Google
  • Secure your app by creating SSL certificates and run payment platforms in a live environment
  • Implement a chat application from scratch using Socket.IO
  • Create distributed applications and use the power of server-side rendering in your applications
  • Extend a project with a real-time bidding system using WebSockets

Authors

Table of Contents

Chapter 1: Introduction to MEAN
Three-tier web application development
The evolution of JavaScript
Introducing MEAN
Installing MongoDB
Installing Node.js
Introducing NPM
Summary
Chapter 2: Getting Started with Node.js
Introduction to Node.js
JavaScript closures
Node modules
Developing Node.js web applications
Summary
Chapter 3: Building an Express Web Application
Introduction to Express
Installing Express
Creating your first Express application
The application, request, and response objects
External middleware
Implementing the MVC pattern
Configuring an Express application
Rendering views
Serving static files
Configuring sessions
Summary
Chapter 4: Introduction to MongoDB
Introduction to NoSQL
Introducing MongoDB
Key features of MongoDB
MongoDB shell
MongoDB databases
MongoDB collections
MongoDB CRUD operations
Summary
Chapter 5: Introduction to Mongoose
Introducing Mongoose
Understanding Mongoose schemas
Extending your Mongoose schema
Defining custom model methods
Model validation
Using Mongoose middleware
Using Mongoose DBRef
Summary
Chapter 6: Managing User Authentication Using Passport
Introducing Passport
Understanding Passport strategies
Understanding Passport OAuth strategies
Summary
Chapter 7: Introduction to AngularJS
Introducing AngularJS
Key concepts of AngularJS
Installing AngularJS
Structuring an AngularJS application
Bootstrapping your AngularJS application
AngularJS MVC entities
AngularJS routing
AngularJS services
Managing AngularJS authentication
Summary
Chapter 8: Creating a MEAN CRUD Module
Introducing CRUD modules
Setting up the Express components
Introducing the ngResource module
Implementing the AngularJS MVC module
Finalizing your module implementation
Summary
Chapter 9: Adding Real-time Functionality Using Socket.io
Introducing WebSockets
Introducing Socket.io
Installing Socket.io
Building a Socket.io chat
Summary
Chapter 10: Testing MEAN Applications
Introducing JavaScript testing
Testing your Express application
Testing your AngularJS application
Summary
Chapter 11: Automating and Debugging MEAN Applications
Introducing the Grunt task runner
Debugging Express with node-inspector
Debugging AngularJS with Batarang
Summary
Chapter 12: Getting Started with the MEAN Stack
Introducing the MEAN stack
Installing the MEAN component
Understanding the project structure
Previewing the final e-commerce app
Understanding the requirements for e-commerce applications
Summary
Chapter 13: Building an Amazing Store Frontend with AngularJS
Understanding AngularJS and the client directory structure
Laying out the e-commerce MVP
CRUD-ing products with AngularJS
Summary
Chapter 14: Building a Flexible Database with MongoDB
Understanding MongoDB
CRUDing with Mongoose
Exploring a few advanced features in Mongoose
Reviewing models and server-side structure
Summary
Chapter 15: Creating a RESTful API with NodeJS and ExpressJS
Getting started with REST
Scaffolding RESTful APIs
Bootstrapping ExpressJS
Understanding routes in ExpressJS
Testing, TDD, BDD, and NodeJS
Creating the product model
Implementing the Product API
Summary
Chapter 16: Wiring AngularJS with ExpressJS REST API
Implementing a RESTful product service
Wiring the product controller with new RESTful methods
Uploading product images
Testing RESTful APIs in AngularJS
End-to-end testing
Summary
Chapter 17: Managing User Authentication and Authorization
Getting started with authentication strategies
Understanding client-side authentication
Understanding server-side authentication
Authenticating with Facebook, Google, and Twitter
Summary
Chapter 18: Checking Out Products and Accepting Payment
Setting up the shopping cart
The checkout page and Braintree integration
Setting up Braintree endpoint and authentication
Creating an order
Summary
Chapter 19: Adding Search and Navigation
Adding search to the navigation bar
Adding product categories
Implementing the search and navigation functionality
Wrapping it up
Summary
Chapter 20: Deploying a Production-ready e-Commerce App
Building for production
Scaling web applications
Deploying the application to the cloud
Deploying applications in a multi-server environment
Performing stress tests
Production architecture for scaling NodeJS
Next steps on security
Summary
Chapter 21: Adding Your Own Features with High Quality
Planning a new feature
Testing the new feature
Features backlog
Deploying a new version of the app
Summary
Chapter 22: Contact Manager
Setting up the base application
Managing contacts
Securing your application routes
Integrating Angular 2 into our application
Granting access to our application
The Contact module
Finishing touch
Summary
Chapter 23: Expense Tracker
Setting up the base application
Setting up the user section
Authenticating users
Tracking expenses
Implementing the Angular client application
Registering users
Sign-in-user component
Common functionalities
The categories module
The expenses module
Summary
Chapter 24: Job Board
Setting up the base application
Modifying the user backend
The company backend module
The job backend module
Job applications
Creating a new company
Displaying companies
The job module
Company details
User profile
Summary
Chapter 25: Chat Application
Setting up the base application
Modifying the user model
The message history data model
Thread backend
Backend chat service
Bootstrapping the Angular app
Custom data types
Application services
The chat component
The user list component
Displaying threads
Messaging
Summary
Chapter 26: E-commerce Application
Setting up the base application
Data modeling
The core Service Layer
The Auth micro app
Exposing an API
Shared resources
The admin section
Building the Storefront
Summary
Chapter 27: Auction Application
Setting up the base app
What we are building
Data modeling
Auction backend
Frontend services
The Auction module
The bid module
Summary

Book Details

ISBN 139781787121720
Paperback845 pages
Read More
From 2 reviews

Read More Reviews

Recommended for You

HTML5 and CSS3: Building Responsive Websites Book Cover
HTML5 and CSS3: Building Responsive Websites
$ 67.99
$ 47.60
Python: Real World Machine Learning Book Cover
Python: Real World Machine Learning
$ 71.99
$ 50.40
TypeScript: Modern JavaScript Development Book Cover
TypeScript: Modern JavaScript Development
$ 69.99
$ 49.00
Git: Mastering Version Control Book Cover
Git: Mastering Version Control
$ 69.99
$ 49.00
JavaScript: Functional Programming for JavaScript Developers Book Cover
JavaScript: Functional Programming for JavaScript Developers
$ 63.99
$ 44.80
Javascript: Object Oriented Programming Book Cover
Javascript: Object Oriented Programming
$ 63.99
$ 44.80