The Node.js Master Class – No Frameworks, No NPM | Node v8.x

Node.js Master Class – No Frameworks Advanced NodeJS: Build an MVC app, a REST API, and a CLI in plain Node JS (ES5 Javascript) with no 3rd-party libraries.



Welcome to the Node.js Master Class, where you’re going to learn to build applications in raw Node.js with no frameworks, and no external libraries. And yes, that means no NPM! Together we’re going to build 3 pieces of software from scratch in plain ES5 Javascript.

Node.js Master Class – No Frameworks

  • A RESTful API
  • A web app GUI
  • A terminal based CLI (Command-line program)
  • Build a RESTful API
    We’re going to build a fully-functional JSON API. We’ll learn how to parse request-paths, payloads, headers, and query strings, and how to route processing to handlers. This will get you familiar with several key Node modules: “fs”, “http”, “crypto”, “lib”, “string-decoder” and “path”, to name a few.
  • Build a Web App GUI
    Our app wouldn’t be complete without a frontend, so we’re going to build one from scratch. In doing so we’ll learn how to serve static assets from Node.js (CSS, images, and javascript files), and how to use Node to create complex templated views.
  • Build a CLI ApplicationNext we’re going to build a command-line application that takes user-inputs from the console, processes them, and writes outputs back out. This will get you acquainted with the “readline”, “events”, “TTY”, “V8”, and “OS” modules.

And you’re going to do all of this with nothing but Node.js’s standard API. Just a text editor, a terminal, and Node.js. Nobody else’s code, nobody else’s frameworks, nobody else’s libraries. We won’t be using NPM at all, just Node. Your apps won’t even have a package.json file, because we don’t need any dependency management.


Section 1: Course Overview

In this section we introduce the course and myself (the instructor), and then get you setup with everything you need to complete the exercises that come later. We’ll also go over the requirements and prerequisites for this course to ensure you’re in the right place. You’ll be given a quick quiz on Javascript and the *NIX shell to make sure you’re ready to go through the course.

Section 2: Background Information

I’ll give you a conceptual overview of Node.js, and the story behind it. We’ll start with the history of Node.js, then we’ll walk through the nuts and bolts of what Node is, what V8 is, and how they both work, as well as how they relate to each other. I’ll then show you a sample Node.js app so we can apply what we just learned to a real-world example. We’ll then talk about a few common conventions used with Node.js, as well as the differences between writing javascript for Node.js, and writing it for the browser. We’ll also go over the differences between Node.js APIs, and built in javascript functions, and we’ll discuss the Read-eval-print-loop (REPL) that comes with Node.

Section 3: Building a RESTful API 

Now we’re going to jump right in and build a RESTful API together. Doing this exercise will get you familiar with several key sections of the Node.js docs: “fs” the file system, http, crypto, lib, string decoder and path, to name a few.

Section 4: Building a web app GUI

We’re going to build a simple web GUI. The major purpose of this app will be to consume the API we just built, but I’ll also use it as an excuse to show you how you can build complex templated views with Node.

Section 5: Building a CLI

You’re going to build a command-line application that takes user-inputs from the console, processes them, and writes outputs back out. This will get you acquainted with Node’s Readline, Events, TTY, V8, and OS modules. Very few Node.js developers have ever built a command-line tool in Node. After this section, you’ll be one of them.

Section 6: Gaining Stability

Did you know Node.js Master Class – No Frameworks has a built-in assertion library and that writing tests is as easy as creating a file? No “test runners” or pipelines needed here. Now you’re going to write tests for a few of the functions that we wrote in the previous projects. We’re going to write unit tests and also show some examples of how you’d test your new API over HTTP. We’ll also explore how to use the “strict” javascript flag to lint your code for syntax errors, and how to use the debugger to pinpoint issues during execution.

Section 7: Gaining Performance

Speed and scalability are two of the most popular reasons that devs choose to work in Node, but few know how to profile or benchmark their code, or tweak it for performance. This will be a crash course on performance optimization and all-things speed and scalability. Here we’ll refactor some of our earlier apps so they’re less resource-hungry, and then use the Node.js “performance hooks” module to time the execution of certain processes. We’ll then dive into Node’s “cluster” and “child processes” modules to explore how any Node.js app can take advantage of all the cores available to it.

Section 8: Loose Ends

Once you reach section 8, you’ll be a Node development-force to be reckoned with. But, you’ll still be missing experience with a few key Node.js APIs that we didn’t fit into the earlier lectures. These lectures are dedicated to all these loose ends. You’ll get experience with HTTP2, VM, UDP, Net, TLS, and more. Once this section is done, you’re done. There really won’t be anything left to teach you.


This course is a master class. It is for Node.js and Javascript developers who want uncommon abilities. Do you want write your own Node.js framework? How about author your own useful Node.js modules? This course is going to teach you what you need to know to accomplish that. Do you want to be able to fix Node.js libraries when they break, and submit pull requests to your favorite Node.js projects to make them better and stronger? Then this course is the way forward.

My goal for this course, is to show you how beautiful Node.js is, and to take your skillset up to the next level. But, be fair warned: this course is not going to be quick, and it certainly isn’t going to be easy. But, it will be worth it. If you’re looking for a challenge, you’ve come to the right place.

Who is the target audience?

  • Javascript developer who wants to learn Node the hard way and isn’t afraid of a challenge.
  • Any Nodejs developer who is sick of working in frameworks like Express, Hapi, Sails, etc
  • NodeJS developer who wants to learn the whole Node API.

What is Node.js?

Node.js is a server-side JavaScript run-time environment. It’s open-source, including Google’s V8 engine, libuv for cross-platform compatibility, and a core library. Notably, Node.js does not expose a global “window” object, since it does not run within a browser.

What is Node.js used for?

Node.js is primarily used for non-blocking, event-driven servers, due to its single-threaded nature. It’s used for traditional web sites and back-end API services, but was designed with real-time, push-based architectures in mind.

What is a web framework?

Web frameworks like Angular and React are libraries that help organize and generate the front-end code that runs in a web browser. They reduce development time, reusing code for common operations. Some web frameworks are “full stack,” meaning they also generate the back-end code that runs on a web server.

What are prerequisite for learning Node JS Training ?

Sufficient Knowledge in JavaScript.
Basic Knowledge of HTTP, GET, POST, PUT, DELETE and REST Process.
Basic Knowledge in Asynchronous Service.

Should we have knowledge in JavaScript before learning Node JS?

YES! You should have good knowledge in JavaScript. No worries, If you don’t have an idea in Javascript. Here you can learn JavaScript too

Why Credo System z for Node JS Training?

You are not just going to learn, You become a Professional in Node JS, We are not just making our candidates to learn Node JS, we make them to understand the core concepts, behind the logic and Industry Expectation.

1 Comment
  1. […] The Node.js Master Class – No Frameworks, No NPM | Node v8.x […]

Leave A Reply

Your email address will not be published.

error: Content is protected !!