English for Appwrite Developers
Learn the English vocabulary for working with Appwrite, the open-source backend-as-a-service platform: collections, permissions, functions, and SDKs.
Appwrite gives you an authentication system, a document database, file storage, and serverless functions behind one API, and discussing it clearly with a team means being precise about terms that map loosely — but not exactly — onto concepts from Firebase or Supabase. This guide covers the vocabulary you need.
Key Vocabulary
Collection — a group of related documents in Appwrite’s database service, roughly equivalent to a table in a relational database or a collection in MongoDB.
“We’re storing user profiles in the profiles collection, with a separate posts collection linked by a userId attribute.”
Attribute — a typed field defined on a collection (string, integer, boolean, relationship) that documents in that collection must conform to.
“I added a required status attribute to the orders collection — existing documents without it will fail validation until we backfill.”
Permission (document-level / collection-level) — the access control rules attached to a collection or an individual document, specifying which roles or users can read, write, update, or delete it. “We set document-level permissions so each user can only read and update their own profile document, not the whole collection.”
Appwrite Function — a serverless function, written in any supported runtime, triggered by an event (a document creation, a schedule, an HTTP request) and run in an isolated container.
“The welcome-email function triggers on the users.create event and runs independently of the main API, so a slow email provider won’t block signup.”
Query (Appwrite Query builder) — the SDK’s structured filtering syntax (Query.equal, Query.greaterThan, Query.orderDesc) used to build database queries without writing raw query strings.
“Instead of filtering client-side, use Query.equal('status', 'active') in the list call — it pushes the filter to the database and avoids pulling unnecessary documents.”
Common Phrases
- “Is this permission set at the collection level or the document level?”
- “Which event triggers this function — a database event, or a scheduled cron?”
- “Are we filtering with a Query builder call, or pulling everything and filtering client-side?”
- “Does this attribute need to be required, or should it default to null?”
- “Which runtime is this function deployed on, and does it have a cold-start concern?”
Example Sentences
Explaining a data model in a design review:
“Each document in the posts collection has a required authorId attribute and a relationship attribute pointing back to the profiles collection, so we can query a user’s posts directly.”
Describing a permissions bug: “The document-level permission was still set to the default role, so any authenticated user could read other people’s private documents — we’ve scoped it to the document’s owner now.”
Discussing a function architecture decision: “We moved the image-resizing logic into an Appwrite Function triggered on file upload instead of doing it synchronously in the API route — it keeps the upload response fast.”
Professional Tips
- Distinguish collection-level from document-level permissions explicitly in any security discussion — conflating them is the most common source of Appwrite access-control bugs.
- Name attributes consistently with the client-side types you’ll map them to, and say so in review — a
stringattribute that’s really meant to hold a date invites parsing bugs downstream. - When proposing an Appwrite Function, state its trigger explicitly (event, schedule, or HTTP) — “a function that runs on upload” is more useful than “a function that handles images.”
- Prefer describing filters as Query builder calls rather than “the query” — it signals whether filtering happens server-side or client-side, which matters for performance discussions.
Practice Exercise
- Write one sentence describing a collection and two of its attributes.
- Explain the difference between collection-level and document-level permissions in your own words.
- Describe a function and the event that triggers it.