Full Stack: Angular & NodeJS
Angular
Duration: 20 hours
Objectives:
• Understand how Angular is different than traditional web development frameworks
• Code using TypeScript language features
• Develop an application from scratch using Angular
• Understand and use Angular Forms, Observables, Dependency Injection, and Routing
• Retrieve, update, and delete data using Angular’s Http service
• Create, build, and deploy an Angular application using the Angular CLI
• Reactive Programming Observable with RxJs
Prerequisites:
• All participants should have experience developing Web Applications
• Participants should have good knowledge of JavaScript
• Understanding of Web Services would be an added advantage
CONTENTS
Introduction to Angular
Why Angular?
• User Experience similar to a Desktop Application
• Productivity and Tooling
• Performance
• Community
• Full-featured Framework
TypeScript Fundamentals
• Types
• Compilation
• Scoping using Let and Const Keywords
• Interfaces
• Classes & Inheritance
• ES Modules
Angular CLI
• Creating an angular project
• Updating the project
• Generating Code
• Build and testing tools
• Customization
Angular Building Blocks
• Components
• Templates
• Modules
• Models
Template Syntax & Data Binding
• HTML in templates
• Interpolation
• Binding syntax
• Property binding
• Event binding
• Two-way data binding
• Data Binding Example
• Attribute, class, and style bindings
• Built-in Directives
• Template Input Variables
• Template Reference Variables
• Input and output properties
Components Deep Dive
• Component Lifecycle Hooks
• Implementing the Lifecycle methods
• Component Communication
• Sharing data between components
Services
• Creating Services
• Using a services to access data
• Using a service to encapsulate business logic
Dependency Injection
• Understanding Dependency Injection
• Angular’s Dependency Injection System
• Registering
• Injecting
Template-driven Forms
• NgSubmit Directive
• FormsModule
• NgForm, NgModel, and NgModelGroup Directives
RXJS
• Reactive Programming
• Observables and Observer
• Operators
• Errors and Exceptions
Communicating with the Server using the Http Service
• Deciding between Promises or Observables (RxJS)
• Making Http GET Requests
• Making Http POST and PUT Requests
• Issuing a Http DELETE Request
• Consuming RESTful Services
Single Page Applications using Router
• Importing the RouterModule and Routes
• Configuring Routes
• Displaying Components using a RouterOutlet
• Navigating with RouterLink and RouterLinkActive Directives or the Router
• Accessing parameters using ActivedRoute
• Organizing your code into Modules
• Location Strategies
• Nested or Child Routes
• Route Guards
Pipes
• Built-in Pipes: Using, Passing Parameters, Chaining
• Creating a custom Pipe using PipeTransform
• Pure and Impure pipes
Testing & Deployment
NodeJs
Duration: 20 hours
Objectives:
• Learn why server-side JavaScript
• Install Node.js
• Learn how Node.js is architected to allow high scalability with asynchronous code
• Create basic web applications with Node.js
• Build an HTTP server using the core modules in Node.js
Prerequisites:
• Programming knowledge is required.
• All participants should have experience developing Web Applications.
• Participants should have a good knowledge of JavaScript.
• Knowledge of Web Services/ REST API’s would be an added advantage.
CONTENTS
Introduction
• The Node.js framework
• Installing Node.js
• Using Node.js to execute scripts
• Node Architecture
• Global Object and Process
• Modules
• Using the require() function
Node Projects
• The Node Package Manager
• Creating a project
• The package.json configuration file
• Global vs. local package installation
Built-In Libraries
• Working with the Operating System
• Working with the File System
• Console and Utilities
• Debugging
Interacting with File System
• Listing and reading directories and files
• Writing to files
• Reading and writing from file stream
• Using buffers for binary data
• Flowing vs. non-flowing streams
Asynchronous Programming
• Callbacks and the Event Loop
• Call Stack
• Callbacks, Promises
• Event Emitter
• Async and await
• Handling errors and exceptions
NPM
• What Is a Package
• Typical NPM Usage
• NPM Help
• Creating a Package.json
• Setting Defaults
• Installing Packages
• Listing Installed Packages
• Installing Global Packages
• Removing a Package
• Installing Specific Versions
• The NPM Registry
• Searching for Packages
• Pruning
• Using Simple Scripts
• Publishing Your Package
HTTP and REST
• The HTTP protocol
• HTTP Module
• Making a request and response mechanism
• Build a web server
• Serving to files
• Serving to Json Data
• Collection post data from web pages
• Scaling the application
Express
• The model-view-controller pattern
• Defining Jade and Handlebars templates
• Building a front-end controller
• Defining routes
• Creating actions
REST
• Understanding the principles of REST
• Richardson Maturity Model
• Creating a RESTful Web Service using Node Express
• Securing REST services
Data Sources
• How Node.js connects to databases
• RDBMS databases and NoSQL databases
• Connecting to RDBMS and NoSQL databases
• Performing CRUD operations
• Querying and filtering data
• Handling database transactions
Deployment
• Options available for Deployment
• Cloud deployments