Fullstack JavaScript Web Development With Node.js


Course Description

This course covers full stack development with an emphasis on node.js and the node.js ecosystem. It will cover server side JavaScript development as the basis for the MEAN stack (MongoDB, Express.js, Angular and Node.js)

Duration: 3 days


Pre-requisites

This course is aimed at developers who want to create web applications using the node.js ecosystem. General programming ability is required but specific experience with web development is not required.

Overview of Web Application Development

Understanding web application development History of the different technologies The LAMP stack The MEAN stack

Introduction to node.js

What is Node.js? Understanding the node.js ecosystem Installation Creating an initial project Looking at package.json Managing dependencies with npm Npm

Development Environment

Setting up a development environment Choosing Integrated development environment Debugging techniques Auto build your project - nodemon

JavaScript ES6 Essentials

Writing full stack web applications using Node.js requires a reasonable level of JavaScript this module will fill in any missing concepts that will be used in the rest of the course. In particular some ES6 will be utilised and it is important that participants are familiar with these. Understanding JavaScript General programming ideas - comments, variables, arrays, functions, loops, conditions and objects. ES6 features Templated strings Arrow functions Promises Modules - import & require Spread operator Using an iife

Understanding the asynchronous nature of JavaScript

Callback functions Promises The fetch api async/await Server side asynchronous operations

Express.js

The original server side framework for web development is express.js Adding express to your project Creating a simple endpoint Endpoint parameters - request and response Creating a web page using a template engine Path parameters Query parameters Sending objects in the body of a request

Templating

Templating engines ejs & jade Configuring a template engine Express.render() Partial files and includes Passing parameters to a template

Using mongodb

This course will use mongodb for storage of objects. Introduction to mongodb Installing and running mongodb Creating a database and some test tables Simple inserts and queries Adding Mongoose to your node.js web application Making some simple calls to mongodb Return json

Create a RESTful web service

Routing in Express REST endpoints with path parameters REST request methods - GET, PUT, POST & DELETE

Express.js Middleware

Express has the facility to add extra functionality to a request using middleware. This can be used for things like authentication, change the format of the response, error handling and cookie and session storage. app.use() Chaining calls with next() Creating a simple filter chain Using sessions and cookies Create your own middleware module Creating a simple authentication mechanism using middleware

Automated Testing

There are a number of automated testing frameworks and this module can be customised to match the students preferred environment. Cypress.io will be used if no preference is specified. Comparison of automated testing frameworks Overview of common facilities of a testing framework Implementation of testing using an appropriate automated testing framework

Node.js and Cloud Functions

Node.js is a language supported by AWS Lambda and Firebase / Google Cloud Platform. This module will demonstrate a cloud functions in action. What is a cloud function? Advantages of cloud functions. Creating a simple cloud function on Firebase


JavaScript node.js Fullstack Web Development MEAN MEAN Stack Web Development Modern Web Development ES6 Cypress Cypress.io