Overview
In this course you will learn how to leverage JavaScript in end to end application development. Using NodeJS and the MEAN stack you will learn how to build open source modular and component-based web applications to build service driven applications with a single web page user interface.
Please note this course uses Angular 5 and ECMAScript2015
Prerequisites
Students planning to attend this course must have a thorough understanding of JavaScript equal to QAJAVSC. You will benefit greatly from understanding how web based architectures work.
Outline
Understanding the MEAN Stack
- What is NodeJS
- The open web
- Git and software development
- Bower, Grunt, Yeoman and Gulp
- Understanding applications architecture built using the MEAN stack
Introducing NodeJS
- Understanding the benefits of NodeJS
- Installing and exploring NodeJS
- Working with REPL
Introducing NPM
- Understanding NPM and packaged components
- Working with Require and core NodeJS objects
- Initialising applications and working package.json
- Building modules
Node Event and Concurrency
- Understanding callbacks and javascript events
- Building concurrency and asynchronous behaviour using callbacks
- Using NodeJS Event Emitters to build custom events
- Creating and working with promises
Interacting with the File system using NodeJS
- Working with the fs object
- Reading and writing files
- Building and interacting with Data Streams
Introduction to TypeScript
- What is TypeScript
- Basic Types
- Classes
Setting up the Developer Environment
- Getting ready to use Angular
Overview of Angular
- The building blocks of any Angular application
- An introduction to Observables
Angular Services
- What are Services & why do we need them
- How to create our own Services
- Using Angular’s HTTPClient service to make AJAX requests
Angular Routing
- Creating a single page UI
- Child Routes
- Named Outlets
Building Servers using NodeJS
- Using Node to build web servers
- Working with HTML Verbs
- Creating Routes using RegEx objects
- Building a RESTFul server
Putting the E in Mean - Introducing Express
- Using the express module to simplify routing
- Reading URL parameters
- Working with express to create promise driven code
Building Servers Using Express
- Scaffolding applications using the Express Generator
- Working with the app.js file
- Creating static routes
- Building dynamic routes
- Working with the Jade tempting engine
Introducing MongoDB
- Installing MongoDB
- Working with Mongod
- Using the Shell and common command
- Defining Mongo databases and data documents
- Querying MongoDB documents
- Working with users and security
Working with Mongoose
- Installing the Mongoose module
- Build code defined data structures with mongoose
- Developing schemas
- Communicating from express to the Mongo server
- Improving RESTful services
- Querying MongoDB using Mongoose