You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A live "proof of work" tracking daily Node.js runtime drills, core-module fundamentals, and hands-on backend projects.
About This Repo
This is a multi-project Node.js learning repo focused on the runtime and its core
modules — fs, stream, events, http, net, path, buffer, crypto,
process, child_process, cluster, worker_threads — not generic JavaScript
language trivia (that lives in a separate repo). Each main project is a real,
production-grade backend system built step-by-step from isolated practice
questions. Finish all questions → build each module → wire them into the final
runnable app. Complete one main project, then move to the next.
Current progress: 🔨 Project 1 — NodeStream Live Ops Dashboard | Questions 1–20 | 5 modules
🚀 Project 1 — NodeStream Live Ops Dashboard · pro-final-nodestream
What you'll achieve: Build a complete log-ops backend from scratch using only Node core modules. Raw server logs in 3 formats (JSON-lines, CSV, syslog-like text) enter the system, get normalized to one unified schema, pass through a role-based security layer that masks sensitive fields per viewer role, flow into an analytics engine generating pivot tables and rate-limited alerts, and stream out as a live terminal dashboard — even for log files too large to fit in memory. You finish by running one command — node projects/pro-final-nodestream/index.js — that executes the entire pipeline end-to-end. A real, demonstrable backend portfolio piece.
📦 1.1 — Core Utility Belt · pro-1-core-utils ┆ ques 1–6 ┆ 🔽 click to open
What you will gain: You build the runtime utilities every real Node.js backend relies on — turning callback APIs into promises, streaming files line-by-line instead of loading them whole, subclassing EventEmitter, debouncing/throttling high-frequency input, and safely resolving filesystem paths. After this module you will understand how Node's own core APIs are typically wrapped in production code, and every module you build after this will import from here.
📦 1.2 — Data Normalizer · pro-2-data-normalizer ┆ ques 7–10 ┆ 🔽 click to open
What you will gain: You learn to accept raw, inconsistent log data from 3 different formats and convert all of it into one clean unified schema. After this module you will understand the Adapter pattern applied to log ingestion, recursive config merging/diffing for drift detection, and bounded-concurrency filesystem reads — skills used in every log-shipping and observability pipeline (Datadog, Fluentd, Logstash).
📦 1.3 — RBAC Engine · pro-3-rbac-engine ┆ ques 11–13 ┆ 🔽 click to open
What you will gain: You build a security layer that controls exactly what log data each viewer role is allowed to see. After this module you will understand how an LRU Cache backs a real session store, how a Trie powers HTTP route matching (used by Express-style routers internally), and how field-level data masking works for regulated log data (PII, tokens, secrets) before it ever reaches a dashboard.
📦 1.4 — Analytics Engine · pro-4-analytics-engine ┆ ques 14–18 ┆ 🔽 click to open
What you will gain: You turn normalized log records into real operational intelligence — pivot tables, running totals, moving averages, and priority-sorted reports. You also build a pub/sub bus on top of EventEmitter (the pattern behind most Node log/metrics pipelines) and a token-bucket rate limiter (used in every API gateway like AWS, Cloudflare and Nginx). After this module you will be able to power a live ops dashboard with reactive, rate-safe data.
⭐ 1.Final — NodeStream Live Ops Dashboard · pro-final-nodestream ┆ ques 19–20 + all above ┆ 🔽 click to open
What you will gain: You wire all 4 modules into one running application. Run node index.js and watch raw multi-format logs flow through normalization → RBAC masking → analytics, producing a live report in the terminal — including a large log file streamed via an async generator without ever loading it fully into memory. After this you will have a complete, demonstrable Node.js backend pipeline — a real portfolio piece that shows you can design and build production-grade Node systems end-to-end.