Top Reasons for using Node.JS
In Demand Skillset - used by popular and large businesses
Perfect solution for a full stack developer dealing with backend and databases
Easily to develop locally
Open Source with an active community and support
Node Package Manager can allow you to create complex applications using existing modules, NPM has a massive number of packages.
Node is well supported, large size community and many forms and groups to share code and get help
Can be used to build micro services
Final Project in Section #6
Creating a fully functional node application, that uses Express to run a web application. Connect to a MongoDB and using Node allow the frontend web application to access the Database items, full CRUD interaction.
Create a web application using Express - output html file from public folder
Setup a MongoDB in the cloud prep to connect using NodeJS
Create and test insert into the database
Setup Frontend web application
Add DOM event listeners to trigger requests
Generate visual response as HTML from the Node response object
Update and create interactive list of database content CRUD
Add HTML updates to send requests to database.
#1 Introduction to Installing and Setup of Node
Node is a lightweight framework developed on Chrome’s V8 engine that can be used for largeScale application development. It's scalable because the server can respond in a non-blocking way.
Process object which is a global that provides information, and control over, the current Node.js process. Because its global it is always available to Node.js applications without using require()
npm registry contains packages, many of which are also Node modules, or contain Node module
Demo how to setup your development environment setting up Editor
Visual Studio Code as an Editor with ready terminal
Creating your first Node File and running the code
How Node Works and examples of simple node syntax
Where you can find out more about Node with more examples.
How to debug and output content into the terminal various command line and console outputs
NodeJS programming language environment REPL Read Evaluate Print Loop
Examples of Node
Process Object - with examples
What Node Packages and NPM
Variables and the Data Types. How to declare variables and examples of different Data Types.
Adding Comments to code
How to create Objects and Array
Use of conditions for logic, turthy and falsey. How to use the Ternary Operator.
Examples of logic switch statement, and condition statement
Use of Objects and objects with methods.
Array and Object Values, iterating through the contents of each.
Use of Template literals to set string values
Global object in Node with the use of timeout
How to Construct promises and Resolve and Reject Promises
Asynchrony, in computer programming, refers to the occurrence of events independent of the main program flow and ways to deal with such events. How to add callbacks that run once a stack is complete.
Covering Input Output which accesses anything outside the application. Once the application is started it will be loaded into the machine memory.
Coding Examples, and practice code outputting into the console when ready
Event Driven programming which makes Node.js fairly fast compared to other similar technologies. Once the application starts it initiates its variables, declares its functions and then waits for the event to occur.
The two types of API functions in Node.js, Asynchronous, non-blocking functions and Synchronous, blocking functions.
The differences difference between blocking and non-blocking calls in Node.js.
Node keeps an event loop, which monitors when a task gets completed, which would then fire the corresponding events. Node.js overcomes the problem of blocking of I/O operations by using the event loop instead of threads.
Recursive functions, Function that calls itself is called a recursive function - must have a condition to break the loop.
The EventEmitter module makes possible the communication and interaction between objects in Node. EventEmitter provides properties like on and emit. The on property is used to bind a function with the event and emit property is used to fire an event.
How a callback works, Callback added to the background will run once stack is complete
Use of setTimeout and how it works in the queue.
Callback example Create a function that returns the results from another function
Event Loop with an Example of a Recursive Function
The three states of promises
How to create promises and more promises examples
Node process object
Node Event EventEmitter
how to setup events and trigger emit of events
#4 Node Modules
Each module in NodeJS has its own context and cannot interfere with other modules. Modules are like libraries that you can include into your application. Node.js has a set of built-in modules which you can use without any further installation like http, fs, path, and url.
You can create your own modules, and easily include them in your applications. Save them locally and use within your node application as needed. Perfect to separate functionality for your application. To make properties and methods available outside the module file use the keyword exports.
NPM hosts thousands of third party modules, free packages to download and use. A package in Node.js contains all the files you need for a module.
Debugging - The try...catch statement marks a block of statements to try and specifies a response should an exception be thrown.
How you can create your own module locally
Commonly used builtin modules like http, fs, path and url
Using FS module to update file contents, delete files, create new files
Getting file information including file size with fs.stat()
Use of node package manager NPM explore some popular node packages.
Use of package.json - adding and removing packages
Node Package Manager Module lodash
Node Buffers how to copy and slice buffer contents
Debugging node use of Throw, try and catch
#5 Node Web Application with Express
Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. Explore how to setup a web application quickly with Express.
The arguments which are available to an Express JS route handler function are request (request Object), response (response Object) and optional Next which can pass control to one of the subsequent route handlers.
How to setup express and output html into a localhost webpage
How to Serve files from a static directory using Express
Values that can be used in route filtering, pattern match and reg exp
Route parameters with req.params
Express Route with full CRUD Create Read Update Delete Methods
Returning JSON response
Use of bodyparser
Sending data from a frontend form to node express to output into the terminal
Returning a JSON response to the frontend from a frontend request
#6 MongoDB with Frontend web page interaction using Node and Express
The official MongoDB Node. js driver allows Node. js applications to connect to MongoDB and work with data. The driver features an asynchronous API which allows you to access method return values through Promises or specify callbacks to access them when communicating with MongoDB.
How to setup a cloud base mongo Database to use in practice development
Connecting to a mongoDB
Use of mongoDB client in Node
Checking a connection to the database
How to connect to a MongoDB and select the collections, create collections
How to output database collections to the frontend using Express and Node.
Creating a fully functional node application that uses Express to run a web application. Connect to a MongoDB and using Node allow the frontend web application to access the Database items, full CRUD interaction.