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)
3 Days
Contact us for pricing
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 developmentHistory 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 environmentChoosing 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 functionsPromises
The fetch api
async/await
Server side asynchronous operations
Express.js
The original server side framework for web development is express.jsAdding 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 & jadeConfiguring 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 ExpressREST 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
JavaScriptnode.jsFullstack Web DevelopmentMEANMEAN StackWeb DevelopmentModern Web DevelopmentES6CypressCypress.io