Small requests.
Big possibilities.
Build your backend intuition. Send requests, trace the response, and turn your experiments into a real Node.js API.
Your first backend, made visible.
This playground uses the same routing and validation logic as the downloadable Node server. HTTP transport is simulated. Tasks live in memory and reset when you reload or reset the server.
Request builder
GET and DELETE do not use the body in this model.
Route reference
GET /health · GET /tasks · POST /tasks · GET /tasks/:id · PATCH /tasks/:id · DELETE /tasks/:id
GET /tasks?done=true lists completed tasks. POST requires title (1–80 trimmed characters). done must be a boolean. Unknown fields are rejected.
Response inspector
ReadySend a request to inspect the result.
Response headers
—
Inside the server
Request history Last 12 • click to inspect
Time is a threshold, not a promise.
Step through one specific snippet. No busy loop actually runs in your browser. This model omits I/O phases, nextTick and setImmediate; their ordering needs more context.
Execution timeline
Console output
Waiting for the first step…
A clear path. One concept at a time.
Your own Node.js task API.
A dependency-free project with real HTTP endpoints, body validation, a size limit and automated tests. Use a supported Node.js LTS release, version 22 or newer.
From download to running server
- Download and extract the project into a new folder.
- Install Node.js from nodejs.org, then open a terminal in the project folder.
- Run
npm testto exercise real HTTP endpoints. - Run
npm start, then openhttp://127.0.0.1:3000/tasks. - Try the curl commands in README.md. Stop with Ctrl+C.
Where the pieces fit
start.js configures and starts the process.
server.js handles the HTTP stream.
engine.js routes, validates and stores tasks.
api.test.js verifies real HTTP behavior.
Capstone: make it yours
Add GET /stats with total and completed counts. Write a failing test first, implement the route and run the whole suite again.
Next, introduce priority: low, medium or high. Validate it for both creation and updates, then update your documentation.
What this starter does not provide
It binds to your computer only and stores tasks in memory. It has no authentication, database, HTTPS, rate limiting or deployment configuration. Keep it local while learning; design these pieces before exposing a public service.
Keep exploring
Node HTTP reference ↗Official event-loop guide ↗
Node test runner ↗
Explore the earlier Node.js Studio →