NodeJS : Beginner

This is a bespoke course, please contact us for dates


This product is currently out of stock and unavailable.



After completing this course, students will be able to build and debug applications using the NodeJS programming language.


Anyone who wants to learn NodeJS


The courses assumes a basic knowledge of Javascript or a good grasp of programming fundamentals in other languages.


* JavaScript basics * Developing NodeJS modules * File handling and REPL * Managing processes * Building a RESTful API with Express and a template engine * Web Sockets, TCP, HTTP, HTTPs * Debugging Node applications and Unit Testing



    • Overview of the Javascript language
    • Data types, asserting and checking
    • Collections, arrays and objects
    • Functions, Control Flow and Loops
    • Object Orientated Programming
    • Revealing Module and other common design patterns

    Node Basics

    • Downloading and installing Node
    • Create a simple node application
    • The Node Terminal
    • Node Package Manager NPM
    • Creating a package for managing your application

    Node Modules

    • What is a module
    • Require and Module Exports
    • Using Core modules
    • Creating modules
    • Design patterns for organising modules
    • Look at useful core modules

    File System

    • Node apps and managing a file system
    • Creating and deleting files and directories
    • Copying and managing files
    • Scanning directories


    • What is a process
    • Managing processes
    • Creating background process
    • Task runners and recovering from failure

    HTTP and HTTPs

    • Making a simple server
    • When to use HTTP and HTTPs
    • Server ports and listening
    • HTTP Requests and Responses
    • Request and Response headers and body
    • Creating a response to incoming requests
    • Building a simple HTTP server with static files

    NET (TCP) and WebSockets

    • How do socket servers differ with HTTP
    • Using TCP and WebSockets
    • Server and Clients
    • Native applications vs web applications
    • Making a simple chatroom app with HTML5 and WebSockets


    • Why socket.IO over other WebSocket modules
    • Client side and Server side
    • Data persistence options


    • What is the express framework
    • How it differs to using HTTP and other core modules
    • Creating an Express application

    Express Server

    • Making an HTTP internal server
    • Attaching Express to an external server
    • The role of semantic requests

    Routing, static routes and data routes

    • Routes explained
    • Defining routes with paths and URL
    • Defining route parameters for data input
    • URL Encoded variables
    • The use of Route Parameters and URL variables
    • Regular Expressions
    • External Routing
    • Static Routing

    RESTful APIs

    • What does RESTful mean?
    • Manipulating data via a route
    • Typical semantic requests for routing an API
    • Persisting data through JSON
    • The role of database technology
    • MongoDB and Comparison to MySQL


    • Using MongoDB locally or via online service
    • Downloading and installing MongoDB
    • Running a MongoDB Server Locally
    • Data location and paths
    • Running the MongoDB Terminal
    • Principles of NoSQL Database

    MongoDB CRUD

    • Creating Databases and Collections
    • Documents
    • Difference between traditional Databases
    • Collections verses Tables
    • Documents verses Rows
    • Using Models with DB
    • Simple queries to read and sort data
    • Updating data
    • Deleting data
    • Further learning of MongoDB

    MongoDB Modules

    • How to use MongoDB with Ex[ress
    • Native MongoDB module
    • MongoJS and Mongoose
    • Using Schemas to control RESTful APIs

    Online DB Services

    • Why use application data solutions?
    • MongoLAB
    • Firebase, DerbyJS, Meteor, FeatherJS,

    Express and Rendering Data

    • What is a renderer?
    • Jade, EJS, Mustache and Handlebars
    • Rendering your pages with data bindings
    • Using partials
    • Creating a fully dynamic website

    Unit Testing

    • What is unit testing
    • How to plan for unit testing
    • Working with popular solutions like Jasmine and Mocha
    • Testing your app with Mocha

    Node for native apps

    • Using node for working with desktop and mobile applications
    • Making fast servers for games
    • Socket servers for realtime communication

    MEAN Stack Web Apps

    • What is a MEAN Stack app?
    • Rendering dynamic user interfaces
    • Front end frameworks: AngularJS and ReactJS

    Building a real world app

    • Creating a full real-world application using Node and Express
    • Planning and designing
    • Using object graphs
    • Creating Restful APIs and testing with PostMan
    • Building a simple app with partials using Bootstrap3
    • Differentiating static routes from data routes

    Publishing your Apps and Modules

    • Running your own Node Server
    • Using a hosting company
    • Publishing modules on NPM and Github

    The future of NodeJS

    • Changes to the javascript language
    • ES6 Harmony and ES7


    There are no reviews yet.

    Be the first to review “NodeJS : Beginner”