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

Building Microservices with Node.js and Seneca Training Course

  • Introduction
  • Understanding the Key Features and Highlights of Seneca
  • Logging with Seneca
  • Writing a Plugin with Seneca
  • Writing Unit Tests with Seneca
  • Understanding Data Entities, Query Syntax, and Prior Actions
  • Using Seneca with Promises
  • Writing a Simple RESTful Microservice with Seneca for Products with Hard-Coded Data
  • Hooking Seneca into the JSON File Store to Showcase Seneca’s Data Abstraction Layer
  • 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

Node.js Working with PM2 & WebStorm Training Course

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

Node.js and PM2 Training Course

  • application packaging and deployments
  • nodejs+pm2 runtime packaging and deployment
  • nodejs scripts package
  • checking and switching nodejs version
  • filesystem locations and standards
  • log rotation
  • init scripts
  • SSL/TLS certificates
  • monitoring
  • stop, start, delete, resurrect applications
  • stop, start, resurrect PM2 process

Prototyping using JavaScript and Bootstrap Training Course

Day 1: Frontend with JavaScript and Bootstrap

  • Take a detailed look at HTML/CSS/JavaScript and the Bootstrap framework from Twitter.
  • Create small applications that run all in the browser without any backend code.

Day 2: Backend with node.js and MongoDB

  • Write a full featured web applications where multiple users can communicate and store state using a backend system. One way to do that with JavaScript is to use MongoDB and node.js.
  • Cover the REST pattern and implement and test simple REST components in JavaScript with node.js using the MongoDB database system as storage.

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.

Automation Best Practices with JavaScript

Learn how to Test React web applications by using different types of tests.

Identify effective testing strategies and methodologies for the application.

Use WebdriverIO + visual e2e testing for web & mobile compatibility.

Execute functional Tests through visual and component testings.

Requirements

  • Knowledge of NodeJS and JavaScript
  • An IDE that works with Node and JavaScript
  • Github Account

Description

Throughout the course, you’ll be able to Test React web applications by using different types of tests.

You’ll be provided with access to the source code so you can jump to the relevant part of the code and try to work with this React project on your own.

What’s in this course?

  • Introduction and tools
  • Setup environment
  • E2E browser tests
  • Functional UI testing with Cypress
  • CICD with GitHub Actions
  • Visual End-to-End testing
  • Component testing
  • Component tests exercise
  • Component tests solution

Technologies you will use

  • ReactJS
  • Cypress
  • WebdriverIO
  • ScreenerIO
  • Sauce Labs
  • Github Action
  • React Testing Library

Ready to start? Check out the full curriculum and jump into the tutorial.

What current students are saying:

“I appreciate the time the instructor put on this course as well as the opportunity to get familiar with TestProject free of charge. Well explained, however, if you are using Windows and you are new in Automation Testing, you might find it a bit challenging with adding the SDK Token in your system environment since the instruction used MAC which is completely a different way with windows. Other than that… I appreciate a lot this free course …. thank you so much”

I like the fundamental approach used by the author. Will see:) To prepare for such a course – it’s a really hard and big job. Respect and thank you.” – Serhii Kovalenko

Wonderful content and things explained in a nutshell. Overwhelmed by Author’s dedication to putting things in such a way that any novice or manual tester can follow and understand and definitely be on-boarded as a Selenium Automation Engineer the next day at work. Thanks a million times for creating these courses! One Stop for Automation.”- Rupashree Geethaaviji Ananthakrishna

“I am familiar with Nikolay from a course I saw on TestAutomation and have the highest regard for him. Glad to see him on Udemy.” – Annamalai Viswanathan

“One Of the Best courses on Selenium With C#. Cheers Nikolay!!” – Saransh Vaid

Who this course is for:

  • Beginner and Intermediate developers looking to learn how to test web applications

Course content

1 section • 10 lectures • 41m total length

Introduction10 lectures • 41min

  • Introduction and Tools01:20
  • Source Code00:02
  • E2E Browser Tests04:51
  • Functional UI Testing With Cypress08:21
  • CICD With GitHub Actions09:20
  • Visual End-to-End Testing09:18
  • Component Testing03:59
  • Component Tests Exercise01:50
  • Component Tests Solution01:50
  • BONUS LECTURE00:16

Parallel execution in Test Automation Selenium WebDriverIOv5

Configuration and execution test cases in parallel with WebDriverIO v5

JAVA JDK, JavaScript, NodeJS, NPM, and WebDriverIO

Developing test suite with Jasmine Testing Framework

Requirements

  • Fundamentals in software testing

Description

This course will help you to set configuration in the test automation framework with WebDriverIO and JavaScript for execution in parallel. You will understand the basics of the environment that we need to run test automation. This course will be helpful for QA Testers without knowledge in test automation and experienced QA Engineers that need to study WedDriverIO and JavaScript.

Who this course is for:

  • QA Testers who want to use test Automation in current or next role
  • QA Automation Engineers who need to learn WebDriverIO and JavaScript

Course content

5 sections • 16 lectures • 50m total lengthExpand all sections

Introduction2 lectures • 3min

  • Course overview02:07
  • What we need to know01:07

Tools2 lectures • 8min

  • WebDriverIO v5 overview05:04
  • Node.js and NPM03:01

Environment pre-requisites3 lectures • 5min

  • Visual Studio Code IDE02:25
  • Java JDK01:09
  • GitHub project01:54

Developing test script2 lectures • 11min

  • Application under test01:33
  • Developing test script09:23

Configuring framework for parallel execution7 lectures • 23min

  • Configuration wdio.config.js file for parallel execution01:22
  • Creating new test cases05:41
  • Running test cases in parallel in Google Chrome browser02:25
  • Grouping test suites in wdio.config.js04:16
  • Push project to GitHub02:52
  • Running same script multiple times01:52
  • Link to Complete course WebDriverIO and JavaScript automation for beginners04:15

React Web App Testing With NodeJs, Cypress, and WebDriverIO

What is an automated atomic test

How to code automated atomic tests

How to login without a UI using HTML web forms

How to login without a UI using JWT

How to write a component test

How to add a test id to our web app

How to correctly test a link and a tab

How to replace e2e tests with component tests

Visual e2e tests

Visual cross-browser tests

CICD with Github Actions

Requirements

  • Knowledge of NodeJS and JavaScript
  • An IDE that works with Node and JavaScript
  • Github Account

Description

In this tutorial we will learn:

Automated atomic test

Code automated atomic tests

Login without a UI using HTML web forms

Login without a UI using JWT

Write a component test

Add a test id to our web app

Correctly test a link and a tab

Replace e2e tests with component tests

Visual e2e tests

Visual cross-browser tests

CICD with Github Actions

So what are you waiting for? Let’s jump into the tutorial

What current students are saying:

“I appreciate the time the instructor put on this course as well as the opportunity to get familiar with TestProject free of charge. Well explained, however, if you are using Windows and you are new in Automation Testing, you might find it a bit challenging with adding the SDK Token in your system environment since the instruction used MAC which is completely a different way with windows. Other than that… I appreciate a lot this free course …. thank you so much”

I like the fundamental approach used by the author. Will see:) To prepare for such a course – it’s a really hard and big job. Respect and thank you.” – Serhii Kovalenko

Wonderful content and things explained in a nutshell. Overwhelmed by Author’s dedication to putting things in such a way that any novice or manual tester can follow and understand and definitely be on-boarded as a Selenium Automation Engineer the next day at work. Thanks a million times for creating these courses! One Stop for Automation.”- Rupashree Geethaaviji Ananthakrishna

“I am familiar with Nikolay from a course I saw on TestAutomation and have the highest regard for him. Glad to see him on Udemy.” – Annamalai Viswanathan

“One Of the Best courses on Selenium With C#. Cheers Nikolay!!” – Saransh Vaid

Who this course is for:

  • Beginner and Intermediate developers looking to learn how to test web applications

Course content

1 section • 22 lectures • 1h 56m total length

Introduction22 lectures • 1hr 56min

  • Introduction01:21
  • Setup02:24
  • What is an atomic test06:22
  • Getting started with Cypress04:10
  • Breaking down tests into atomic tests05:49
  • Answer to atomic tests exercise08:18
  • Setting up for testing HTML forms and exploring the application05:29
  • Improving the existing login tests09:03
  • HTML Web Forms Answers02:41
  • Testing JWT09:07
  • JWT Exercise Answer06:32
  • Testing a React web app07:10
  • What are component tests05:31
  • Running component tests03:37
  • Adding test IDs to the tests04:42
  • More component tests07:45
  • What is visual testing03:39
  • Creating end to end visual tests with WebDriverIO07:27
  • Visual e2e exercise answer02:43
  • CICD with a React App10:54
  • Conclusions01:04
  • BONUS LECTURE00:16