---
title: "JavaScript in the browser and on the server — ZudoJS Academy"
description: "Use JavaScript where it runs: the DOM, events and browser APIs, networking from the browser, Node.js and its core modules, npm and the tooling around it, professional debugging, and Git."
source: https://zudojs.oyinlola.site/learn/javascript-platforms
---

LEVEL 4 · JAVASCRIPT

Course Core

# JavaScript in the browser and on the server

Use JavaScript where it runs: the DOM, events and browser APIs, networking from the browser, Node.js and its core modules, npm and the tooling around it, professional debugging, and Git.

- **13 lessons**
- **10 h** to read and try
- **Before this:** [JavaScript fundamentals](https://zudojs.oyinlola.site/learn/javascript)

0 of 13 lessons done

[Start lesson 1 →](https://zudojs.oyinlola.site/learn/node-runtime)

## When you finish, you can

- Build an interactive page with the DOM and event delegation
- Call an API from the browser with fetch and explain CORS and cookies
- Use Node.js files, streams, processes, workers and crypto
- Build an HTTP API with node:http alone
- Manage dependencies with npm and explain semantic versioning and lockfiles
- Debug with breakpoints, stack traces and a repeatable method
- Work with Git branches, pull requests and releases

**You build:** A browser front end that talks to your own plain Node.js Task API

MODULE 1

## Node.js

1. [1**What Node.js is**Learn what Node.js adds to JavaScript, how its event loop decides what runs next, and how a program talks to the computer through process, exit codes and environment variables.35 min](https://zudojs.oyinlola.site/learn/node-runtime)
2. [2**Files, paths and your computer**Use Node.js's built-in modules to build safe file paths, read and write files and folders, learn about the computer, make random ids and hashes, and announce events. Then save tasks to a JSON file.40 min](https://zudojs.oyinlola.site/learn/node-apis)
3. [3**Streams and buffers**Learn what the bytes behind text really are, then handle data piece by piece with readable, writable and transform streams, pipeline and readline, so a program can process files far bigger than its memory.35 min](https://zudojs.oyinlola.site/learn/node-streams)
4. [4**Events, processes and workers**Coordinate a Node.js program with EventEmitter, run other programs as child processes, move heavy work to worker threads, and shut down cleanly on SIGTERM.55 min](https://zudojs.oyinlola.site/learn/node-events-processes)
5. [5**Cryptography with node:crypto**Use node:crypto correctly: unguessable tokens, hashes and HMAC webhook signatures, timing-safe comparison, scrypt password hashing and AES-256-GCM encryption.55 min](https://zudojs.oyinlola.site/learn/node-crypto)

MODULE 2

## npm and packages

1. [6**npm and packages**Install, update and remove packages with npm, read package.json and package-lock.json, understand version ranges, write npm scripts, share code with workspaces, see what publishing would send, and keep the packages you install safe.40 min](https://zudojs.oyinlola.site/learn/npm-packages)

MODULE 3

## HTTP without a framework

1. [7**An HTTP server with no framework**Build a web server with nothing but Node.js's node:http module. Read the method, path, headers, query and body of each request, send JSON back with the right status code, and route requests by hand.40 min](https://zudojs.oyinlola.site/learn/node-http)
2. [8**Build a plain Node.js Task API**Finish a complete Task API with no framework, split into modules, with middleware, centralized error handling, API-key protection and configuration from the environment. Then look honestly at what hurts when it grows to 20,000 lines.50 min](https://zudojs.oyinlola.site/learn/node-task-api)

MODULE 4

## JavaScript in the browser

1. [9**The DOM**Read and change a web page from JavaScript: find, create, update and remove elements safely, avoid innerHTML XSS, and build a task list UI rendered from data.50 min](https://zudojs.oyinlola.site/learn/browser-dom)
2. [10**Events**Make pages respond to clicks, typing and forms: listeners, bubbling and capturing, preventDefault, event delegation, custom events and debounced search, in a real shopping cart.55 min](https://zudojs.oyinlola.site/learn/browser-events)

MODULE 5

## Tooling and debugging

1. [11**The debugging method**Find bugs with a repeatable method (observe, reproduce, isolate, hypothesize, test, fix, verify), read stack traces, log well and shrink a bug to a minimal repro.50 min](https://zudojs.oyinlola.site/learn/debug-method)
2. [12**Debugging tools**Pause a running program with breakpoints, step through it, watch values, inspect objects, debug Node.js and browser code, read network traffic and map compiled code back with source maps.55 min](https://zudojs.oyinlola.site/learn/debug-tools)

MODULE 6

## Professional development

1. [13**Git and GitHub**Track every change to your code with Git, work on branches, merge them and resolve a real conflict, keep node_modules and secrets out of your repository, and share your work through GitHub with remotes and pull requests.40 min](https://zudojs.oyinlola.site/learn/git)

## Course checkpoint

Prove you can move on. The checkpoint picks 20 questions at random from every lesson in this course. Get 16 right to pass. Your result is saved in this browser only.
