Skip to content
5 min read · 903 words

Glossary: Backend Engineering Terms

"Understanding the language of backend engineering."


A

Agent An AI-powered system configured with a system prompt and tools that can perform tasks autonomously.

API (Application Programming Interface) Interface that allows different software systems to communicate. VeyraOps AI exposes a REST API.

Async/Await Python keywords for asynchronous programming, allowing non-blocking operations.


B

Base (SQLAlchemy) Parent class for all ORM models, providing metadata and table creation capabilities.

Backend Server-side application handling business logic, database operations, and API endpoints.

Background Tasks Operations executed asynchronously without blocking the main request thread.


C

Cascade Delete Database behavior where deleting a parent record automatically deletes related child records.

ChromaDB Vector database for storing and searching embeddings, used in RAG pipeline.

Connection Pool Set of reusable database connections managed by SQLAlchemy engine.

CORS (Cross-Origin Resource Sharing) Security mechanism allowing frontend (different origin) to access backend API.


D

Dependency Injection (DI) Pattern where FastAPI automatically provides dependencies (like database sessions) to endpoints.

DTO (Data Transfer Object) Pydantic schemas defining the shape of data for API requests/responses.


E

Embedding Vector representation of text enabling semantic similarity search. This codebase's default model, text-embedding-3-small, produces 1536-dimensional vectors — see Lesson 15.

Engine (SQLAlchemy) Connection pool manager maintaining database connections.


F

FastAPI Modern Python web framework with automatic validation, async support, and OpenAPI docs.

Foreign Key Database column referencing the primary key of another table, creating relationships.


G

get_db() Dependency injection function providing database sessions to endpoints.


H

HTTPException FastAPI exception for returning HTTP error responses (404, 500, etc.).


I

Index (Database) Data structure improving query performance on specific columns.


J

JWT (JSON Web Token) Secure token format for authentication, containing encoded user data.

JSON (JavaScript Object Notation) Data interchange format used in API requests and responses.


L

LangGraph Framework for building stateful workflows with conditional routing via a StateGraph. In this codebase, used in exactly one place — the Corrective RAG pipeline (services/rag_graph_service.py) — not the multi-agent email workflow, which is plain sequential Python. See Lesson 08e and Lesson 17.

Latency Time delay between request and response, measured in milliseconds.

LLM (Large Language Model) AI model trained on vast text data (e.g., GPT-4, Claude) for text generation.


M

Migration Database schema change (adding columns, tables) applied to existing database.

Model (SQLAlchemy) Python class representing database table with columns as attributes.

Monorepo Single repository containing multiple projects (backend + frontend).


O

ORM (Object-Relational Mapping) Technique for interacting with databases using Python objects instead of SQL.

Observability Ability to understand system behavior through logs, metrics, and traces.


P

Primary Key Unique identifier column for database table rows (usually id).

Prompt Engineering Designing effective instructions for LLMs to produce desired outputs.

Pydantic Python library for data validation using type hints and schemas.


R

RAG (Retrieval-Augmented Generation) Technique combining document retrieval with LLM generation for accurate answers.

Relationship (SQLAlchemy) Connection between models (one-to-many, many-to-many) via foreign keys.

Router (FastAPI) Module grouping related API endpoints with common prefix.


S

Schema (Pydantic) Model defining data structure for API validation and serialization.

Semantic Search Finding documents by meaning similarity using embeddings, not exact keywords.

Session (SQLAlchemy) Object tracking database changes and managing transactions.

Service Layer Business logic layer between routers and database, containing core functionality.

SQLAlchemy Python ORM library for database operations.

SQLite File-based relational database requiring no separate server.


T

Token (LLM) Unit of text for LLMs (roughly 4 characters), used for pricing and limits.

ToolCall Database record logging individual LLM operations with cost and performance metrics.

Transaction Group of database operations executed as single unit (all succeed or all fail).


V

Vector Database Specialized database storing and searching high-dimensional vectors (embeddings).

Validation Checking data meets requirements before processing (type, format, constraints).


W

Workflow A multi-step process tracked via WorkflowRun/WorkflowStep rows. The email workflow (analysis → tasks → reply → review) is orchestrated by plain sequential Python, not LangGraph — see Lesson 12. The one LangGraph-orchestrated flow in this codebase is Corrective RAG — see Lesson 08e.


Y

Yield Python keyword creating generator functions, used in dependency injection for cleanup.


Additional Resources


← Previous: Complete Flow | ↑ Back to Course Index | Exercises → | Interview Questions →


🎓 Course Complete

You've Covered

36 lessons across 6 modules — every router, service, model, and schema in backend/app/ ✅ Backend Architecture & Design ✅ FastAPI, SQLAlchemy, Pydantic ✅ AI Integration with OpenAI — including exactly where it does and does not use function calling ✅ RAG & Corrective RAG with LangGraph ✅ Multi-agent workflow orchestration (and why it's not LangGraph) ✅ Production topics: exception handling, testing, performance, security, caching, configuration ✅ Several real, verified bugs and gaps found by reading the actual source — not hypothetical examples

What's Next?

  1. Work through the Exercises — every one is grounded in this codebase specifically.
  2. Fix the real bugs this course documents — the /stats endpoint, the empty-context crash in generate_rag_answer, the missing chat memory.
  3. Use it as an interview portfolio — see Interview Questions.
  4. Extend the system — add a new tool, a new endpoint, or close one of the documented gaps (background tasks, caching, authentication).

Reference · Backend Engineering Academy