explaingit

azat-co/practicalnode

3,789JavaScriptAudience · vibe coderComplexity · 3/5Setup · easy

TLDR

Free online manuscript for 'Practical Node.js, 2nd Edition', a hands-on book teaching how to build real web apps with Node.js, Express, MongoDB, REST APIs, WebSockets, Docker, and AWS serverless.

Mindmap

mindmap
  root((repo))
    Web Basics
      Express.js setup
      Template engines
      Automated testing
    Data and Auth
      MongoDB storage
      User sessions
      OAuth login
    APIs
      REST with Express
      Hapi framework
      WebSocket realtime
    Modern Deployment
      Docker containers
      AWS ECS
      AWS Lambda
    Async JavaScript
      async await
      HTTP2 servers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Learn how to build and deploy a full web app using Node.js and Express from scratch

USE CASE 2

Add MongoDB storage and user login with OAuth to your Node.js project

USE CASE 3

Deploy a Node.js app using Docker containers or serverless AWS Lambda

USE CASE 4

Understand modern async JavaScript patterns like async/await in a real project context

Tech stack

Node.jsExpress.jsMongoDBHapiSocket.IODockerAWS LambdaMocha

Getting it running

Difficulty · easy Time to first run · 30min

No install needed to read, browse chapters directly on GitHub. To run code samples, install Node.js and MongoDB locally. Each chapter folder contains standalone examples.

The manuscript is shared publicly as a work-in-open project, a professionally edited version is sold through Apress. No explicit open-source license is stated.

In plain English

This repository contains the manuscript and code for "Practical Node.js, 2nd Edition," a book published by Apress in 2018. The book is available to read free in this repository as a "work-in-open" project: the drafts are public, but a professionally edited and typeset version is sold through Apress and Amazon. The author asks readers who find the material useful to purchase the published version to support continued work. The book covers building real web applications with Node.js, a platform that runs JavaScript on the server side rather than in a browser. The second edition spans 16 chapters. Early chapters cover setting up Node.js, using the Express.js web framework to create web apps, writing automated tests with Mocha, and using template engines like Pug and Handlebars to generate HTML pages. Later chapters cover storing data with MongoDB, handling user sessions and third-party login via OAuth, building REST APIs with Express.js and Hapi, and adding real-time communication with WebSocket and Socket.IO. Four chapters are new to the second edition: one on HTTP/2 servers, one on writing asynchronous code using modern JavaScript patterns like async/await, one on packaging and deploying Node.js apps in containers using Docker and AWS ECS, and one on serverless deployment with AWS Lambda. The first edition from 2014 is preserved as a tagged release in the same repository for reference. The author also offers related training: live corporate and public workshops, and self-paced online courses through Node University. The Kickstarter campaign that funded the second edition reached its goal within three days.

Copy-paste prompts

Prompt 1
I'm following Practical Node.js 2nd Edition. Help me scaffold an Express.js app with Pug templates and a MongoDB connection using the patterns from the book.
Prompt 2
Using the Practical Node.js approach, show me how to add OAuth login (e.g. GitHub) to my Express.js app so users can sign in without a password.
Prompt 3
Based on Practical Node.js, help me write a REST API endpoint in Express that reads from MongoDB and returns JSON, with a Mocha test for it.
Prompt 4
Walk me through dockerizing a Node.js/Express app for deployment to AWS ECS, following the container chapter approach in Practical Node.js 2nd Edition.
Prompt 5
Show me how to rewrite a callback-based Node.js function using async/await, as covered in the modern JavaScript chapter of Practical Node.js.
Open on GitHub → Explain another repo

← azat-co on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.