Build REST API using Node.js Training Course

Introduction

Node.js Concepts

  • RAM vs I/O latency
  • Blocking vs. non-blocking
  • Syntax and logic

The Fundamentals of APIs and Their Functionality

  • Scalar types
  • Web Architecture Patterns: the composite pattern, proxy pattern, and facade pattern

REST Overview

  • Get option
  • Pull option
  • Post option
  • Delete option

Preparing the Development Environment

  • Installing and configuring Node.js
  • Installing and configuring Express.js
  • Installing and configuring MongoDB
  • Testing the installations

Node Modules and Package Manager

  • Creating a module
  • Loading a module
  • Using module functions
  • Creating event arguments
  • Extending event emitters
  • Installing a Node package
  • Using a package
  • Listing packages
  • Updating packages
  • Uninstalling packages
  • Publishing packages

Working with Express.js

  • Creating custom middleware
  • Using Express router
  • Filtering paths

REST and GraphQL API

  • Building a web server
  • Handling routes
  • Parsing HTTP requests
  • Calling endpoints
  • Defining schema
  • Adding input validation
  • Managing mutations
  • Adding variables
  • Handling errors

CRUD Operations Using MongoDB

  • Saving documents
  • Querying documents
  • Updating documents
  • Deleting documents

Authentication and Security

  • Creating and registering users
  • Generating tokens
  • Storing in environment variables
  • Protecting routes
  • Testing the authorization

Troubleshooting

  • Writing a unit test
  • Writing an integration test
  • Wiring a unit and integration test

Summary and Conclusion

Node.js concepts & administration, Express.js, V8 engine, monitoring, pm2 Training Course

Express.js

  • Installation of Express.js
  • Directory structure of an Express.js application
  • Creation of a server
  • Routing & Middleware functions
    • Error handling
    • server side Logging
  • Server side modules: HTTP, HTTPS, URL, SSL/TLS, Cluster, DNS, Process & child process, REPL, Zlib
  • Load balancing in association with nginx

Node.js – the foundation (Concepts and architecture only)

  • Node.js, V8 & Server side development
    • Blocking vs. Non-Blocking
    • Event-driven Programming
    • Event Loop & the single threaded demultiplexer
  • npm as a package manager
    • Dependency mechanisms
    • The package.json file
  • Version migrations

V8 engine internals

  • Performance
  • V8 as a compiler
  • Memory schemes
  • Garbage collection
  • Memory leaks

Monitoring

  • Monitoring with sematext
  • Monitoring with ruxit

1.5 PM2

  • Application packaging and deployments
  • Nodejs+pm2 runtime packaging and deployment
  • Nodejs scripts package
  • Checking and switching nodejs version
  • Filesystem locations and standards
  • Logging
  • Init scripts
  • SSL/TLS certificates
  • Monitoring
  • Stop, start, delete, resurrect applications
  • Stop, start, resurrect PM2 process

Node.js & Express.js Basics, working with PM2 & WebStorm Training Course

Node.js characteristics & Fundamentals (In comparison with Java)

  • Node.js, V8 & Server side development (why use Node.js ?)
    • Blocking vs. Non-Blocking
    • Event-driven Programming
    • Event Loop & the Callback pattern
  • Node.js Architecture
    • Module & Sandbox Pattern
    • Npm
    • Dependency mechanisms
    • The package.json file
  • V8 engine internals
    • Memory schemes
    • Garbage collection
    • Memory leaks
    • Monitoring memory and CPU
  • Logging with Node.js
  • Node.js Middleware
    • SSL & TLS
  • Node.js versions & migrations

Express.js characteristics & Fundamentals (In comparison with the Java EE specification (Websphere, Tomcat)))

  • Application configuration & settings
  • Template engines
  • Routing
  • HTTP
  • Request and Response Objects
  • SSL & TLS
  • Error handling
  • Multithreading
  • JSON

WebStorm

  • Getting started
  • Smart Features
  • Package Managers
  • WebStrom & Node, Angular, Express
  • Code inspection, quality tools, profiling
  • Debugging
  • Unit testing

PM2

  • Application packaging and deployments
  • Nodejs+pm2 runtime packaging and deployment
  • Nodejs scripts package
  • Checking and switching nodejs version
  • Filesystem locations and standards
  • Logging
  • Init scripts
  • SSL/TLS certificates
  • Monitoring
  • Stop, start, delete, resurrect applications
  • Stop, start, resurrect PM2 process

Logging with Winston.js

  • Logging with winston
  • Transports
  • Loggers
  • Log levels
  • Profiling
  • Streaming logs
  • Querying logs
  • Filters, Rewriters

Angular 6: Building Web Apps Using the MEAN Stack Training Course

Introduction

What is Angular?

  • How Angular enables maintainable single-page applications
  • Stateful vs Stateless
  • Angular 6 vs previous versions

What is MEAN Stack?

  • The parts of the MEAN Stack
  • Front-end vs back-end

Creating a MEAN Web Application

  • Imagining the look and feel
  • Deciding the functionality
  • Data storage, servers and APIs

Preparing the Frontend

  • Using Angular CLI
  • Initiating an Angular 6 Project
  • Creating components
  • Configuring client-side routing

Preparing the Backend

  • Installing and configuring ExpressJS and NodeJS
  • Testing the Backend Server
  • Setting up MongoDB
  • Integrating MongoDB with Node.js and Express.js

Implementing Application Functionality

  • Understanding how LoopBack works
  • Implementing REST API
  • Carrying out Create-Read-Update-Delete (CRUD) operations
  • Using Angular 6 Material to access to UI/UX 

Running the Application

  • Processing user queries
  • Responding to queries
  • Interacting with users

Deploying the Application to Production

Best Practices

Troubleshooting

Summary and Conclusion