Glossary
This glossary provides short definitions of terms used throughout the book. The technology primers explain selected topics in more detail.
API: A defined way for software systems to interact.
Acceptance criteria: Observable conditions used to decide whether a change achieves its intended result.
Coding agent: Software that can inspect a project, explain it, run tools, and propose or make changes in response to instructions.
Authentication: Determining who is making a request.
Authorization: Determining whether someone may perform an action.
Backend: The shared part of Chahua that applies rules, works with stored data, and serves clients.
Branch: A movable name for one line of commits in a Git repository.
Business rules: Rules that define what actions an application permits and how it should behave.
Client: An application that communicates with a server on behalf of a person.
Commit: A recorded snapshot and explanation of a change in a Git repository.
Database: A system for storing and retrieving structured information.
Durable: Able to remain available after a request ends or a program restarts.
Diff: A comparison showing which lines or files were added, removed, or changed.
Frontend: The user-facing part of an application. In this book, it usually means the Chahua PWA.
Git: A version-control program used to record and combine changes to files.
GitHub: An online service for hosting Git repositories and collaborating on their contents.
HTTP: A request-and-response protocol commonly used for communication between web clients and servers.
Local state: A client’s current working view of information, which may be incomplete or briefly out of date.
Linter: A tool that reports suspicious code patterns or violations of project rules.
Object storage: A service for storing files and other large pieces of data as named objects.
PostgreSQL: The relational database system Chahua uses for its primary durable records.
PWA: Progressive Web App; a web application that can provide app-like features while running through web technologies.
Pull request: A proposal on a collaboration platform such as GitHub to review and combine one branch into another.
Remote: A named connection from one Git repository to another repository.
Repository: A project directory and the history Git maintains for it.
Staging area: The changes selected to become part of the next Git commit.
State: Information an application needs to remember while it operates.
Verification: Collecting evidence that a change satisfies its requirements and preserves relevant existing behavior.
WebSocket: A long-lived, two-way connection between a client and server.