Building Web Apps using the MEAN stack
By the end of this hands-on intensive training course, the students will be able to:
Store the data in NoSQL, document-oriented MongoDB database that brings performance and scalability.
Use Node.js, the server-side platform built on Google V8’s runtime for building fast, scalable network applications.
Use Express, a simple yet powerful web application development HTTP server framework built on top of Node.js.
Use AngularJS framework that offers declarative, two-way data binding for web applications.
Get acquainted with the latest web application development trends in the IT industry.
Getting started with Node.js
Node Package Manager
Modules, Controllers and Scope
Built-in and Custom Directives
Built-in and Custom Filters
Understanding the Digest Loop
Forms and Validation
AngularJS Service Types
Factories, Providers, Decorators, DI
Creating Custom Services
Consuming Ajax Web Services via $http and $resource
Routing, Redirects, and Promises
Introduction to Express
Handling Form Data
Handling Query Parameters
Cookies and Sessions
Creating and Consuming RESTful Services
Understanding NoSQL MongoDB
Update, Insert, and Upsert
Node.js is a platform for easily building fast, scalable network applications. Learn how to use the event-driven, non-blocking I/O model to build data-intensive real-time applications that run across distributed devices. We will explore the design choices that make Node.js unique, how this changes the way applications are built and how systems of applications work most effectively in this model. Learn how to create modular code that’s robust, expressive and clear. Understand when to use callbacks, event emitters and streams. Use streams to easily manipulate data that would be impossible to fit in application memory. Gain confidence in handling errors effectively to ensure runtime reliability. The course has extensive lab exercises to reinforce the concepts and techniques covered.
On completion of this course, students will be able to:
Clearly understand the platform design choices that led to Node.js choosing an event loop and what this means for applications built on that foundation.
Understand the unique trade-offs present in event-driven programming.
Create Node.js modules and express code modularity in an application.
Understand the core flow control patterns in Node.js and know when it is appropriate to use callbacks, event emitters or streams.
Create and manipulate buffers efficiently.
Understand how to manage error state and know when a process should exit due to an error.
Build network applications with Node.js.
Intro to Node.js
RAM vs. I/O latency
Blocking vs. Non-Blocking
Blocking The Event Loop
Download and Install
First Hello World
Modules and npm
Anatomy of a module
Accessing and using modules
The Callback Pattern
What are callbacks
When to use Event Emitters
Binding Functions to Events
Errors in Event Emitters
Why Buffers exist
Reading and Writing Buffers
What are streams
Read and Write Stream API
Intro and Installing Express.js
Building a Hello Express application
Using locals and conditional templates
Connecting to Databases
No SQL and Document Stores
Create small applications that run all in the browser without any backend code.
Day 2: Backend with node.js and MongoDB
Day 3: Example
On day 3, we would put everything together and implement a real application in a workshop fashion, also looking into more topics around a full example:
github + git,
docker for building and shipping of code,
amazon ec2 for hosting.
Node.js Working with PM2 & WebStorm
This course has been created with the following objectives:
Explore and apprehend all the features and functionalities of the webstorm platform for Node.js
Explore and apprehend all the features and functionalities of the pm2 production process manager
Explore and apprehend logging with Winston.js
The typical attendee for this course include project manager, analyst, developer or any profile that needs
To have a good understanding of an application’s structure and deployment mechanisms
To carry out Installation / production environment / architecture tasks and configuration
To be able to assess code quality, perform debugging, monitoring
To implement advanced production like Logging
This course is a mixture of presentations and hands on practice. Most of the concepts are discovered through code readings, exercises and labs.
WebStrom & Node, Angular, Express
Code inspection, quality tools, profiling
Application packaging and deployments
Nodejs+pm2 runtime packaging and deployment
Nodejs scripts package
Checking and switching nodejs version
Filesystem locations and standards
Stop, start, delete, resurrect applications
Stop, start, resurrect PM2 process
Logging with Winston.js
Logging with winston
Node.js and PM2
Anyone involved in IT Service Delivery and Production Support
application packaging and deployments
nodejs+pm2 runtime packaging and deployment
nodejs scripts package
checking and switching nodejs version
filesystem locations and standards
stop, start, delete, resurrect applications
stop, start, resurrect PM2 process