Plain definitions for terms used across the primers and comparisons.
Application Programming Interface — a defined way for one piece of software to request data or actions from another. When a primer says "fetch from a free public API," it means calling a web address that hands back data, usually as JSON.
Continuous Integration / Continuous Deployment — automatically testing and publishing your code every time you push a change, instead of doing it by hand. Common tools include GitHub Actions and GitLab CI.
Command-Line Interface — a program you run by typing commands
into a terminal rather than clicking through a graphical app.
Scaffolding a React project with npm create vite@latest
is a CLI command.
A small, reusable piece of a user interface — a button, a search bar, a comment thread — that you compose together to build a full page. Central to React, Vue, Svelte, and Angular alike, though each names and structures them slightly differently.
Software that stores data so your app can save and retrieve it later — user accounts, blog posts, orders. See the database comparison for how the main options differ.
Someone else's code your project relies on — a package you
install rather than write yourself. Listed in files like
package.json (Node) or requirements.txt
(Python).
Putting your code somewhere the public can reach it — a host like shared hosting, a VPS, or a platform service. "Deploying" and "hosting" are often used interchangeably.
A specific URL an API responds to — for
example /api/users might return a list of users.
Backend frameworks like Express and Flask are largely about
defining endpoints and what each one does.
A setting (like a database password or API key) stored outside
your code, so secrets don't end up committed to Git or visible
to visitors. Read in Node with process.env, in
Python with os.environ.
A library is code you call when you need it — you stay in control of the structure. A framework calls your code, on its terms, at the times it decides — you fit your app into its structure. React describes itself as a library; Angular and Rails are frameworks. The line isn't always sharp in practice.
Git tracks every change to your code over time, so you can undo mistakes and collaborate without overwriting each other's work. A "repository" (or "repo") is a project tracked by Git — often hosted on GitHub or GitLab.
The computer (or service) that runs your app or serves your website so others can access it over the internet. "Shared hosting," "VPS," and "platform service" — all referenced throughout the quiz — are three different kinds of hosting with different trade-offs; see the backend comparison for how that choice affects your language options.
JavaScript Object Notation — a simple text format for structured data, using curly braces, key-value pairs, and arrays. It's the most common format APIs use to send and receive data, regardless of what language either side is written in.
A recorded, repeatable change to a database's structure — like adding a column — so the change can be applied consistently across development, testing, and production databases instead of being made by hand in each place.
Object-Relational Mapper — a library that lets you work with database rows as regular objects in your programming language, instead of writing raw SQL for every query. Examples include Prisma and Sequelize for Node, and SQLAlchemy for Python.
A tool that installs and updates a project's dependencies for you. npm for Node.js, pip for Python, and Composer for PHP are the ones you'll meet most often in the primers.
A common convention for designing APIs —
using URLs to represent resources (like /users/42)
and standard HTTP methods (GET, POST, PUT, DELETE) to act on
them. Most beginner-built APIs, including the ones the Node.js
and Flask primers walk through, follow this pattern.
The defined shape of your data — which tables exist, which columns they have, and what type each column is. SQL databases enforce a schema up front; document databases like MongoDB are more flexible about it.
A program (or the machine running it) that listens for requests and sends back responses — the "backend" half of "frontend and backend." Node.js, Flask, and PHP are all ways of writing a server.
Server-Side Rendering builds the page's HTML on the server before sending it to the browser; Client-Side Rendering ships a mostly-empty page and builds it with JavaScript in the browser instead. Stack Picker itself is client-side rendered — it says so right on the homepage ("runs entirely in your browser").
Virtual Private Server — a slice of a physical server rented as your own, giving you more control (and more setup work) than shared hosting, but usually less hand-holding than a managed platform service. DigitalOcean is a common example, referenced throughout the quiz.
A way for one service to notify another automatically when something happens, by sending a request to a URL you provide — the reverse of an API call, where the other service reaches out to you instead of waiting to be asked.