Glossary¶
A¶
ADR¶
Architecture Decision Record; document that captures an important architectural decision along with its context and consequences.
AeroDataBox¶
Third-party flight tracking API providing real-time flight status via webhooks.
Alembic¶
Database migration tool for SQLAlchemy, used to version-control the database schema.
API Version¶
Versioning strategy using URL prefixes (/api/v1/, /api/v2/) to support multiple response formats.
AsyncIO¶
Python library for writing concurrent code using async/await syntax.
B¶
Bag¶
Shipment container used during transport; holds multiple shipments via BagShipment junction table.
BagFlight¶
Junction entity linking a Bag to one or more Flights (layovers support).
Backend Module¶
Self-contained unit following Clean Architecture (domain, application, infrastructure, presentation layers).
Bearer Token¶
HTTP Authorization header format: Authorization: Bearer <token>
C¶
Clean Architecture¶
Software design separating concerns into layers: Domain, Application, Infrastructure, Presentation.
Context Manager¶
Python protocol for resource management with __enter__ and __exit__ methods.
Courier¶
User role with permissions to manage bags and mark shipments as delivered.
D¶
DBML¶
Database Markup Language; DSL used to define and document the database schema (source of truth for ER diagrams).
DTO (Data Transfer Object)¶
Object used to transfer data between layers, typically in application layer.
F¶
Factory Method¶
Creational pattern where a static method creates an entity instance with generated defaults (e.g., User.create(email)).
Fernet¶
Symmetric encryption method using AES-128-CBC with PBKDF2 for key derivation.
Flight¶
Domain entity representing an aircraft journey with origin, destination, departure date, and status.
Flet¶
Python framework for building cross-platform applications (web, mobile, desktop).
Frozen Dataclass¶
Python dataclass with frozen=True making instances immutable; domain entities use this for state integrity.
H¶
Hybrid Entity Pattern¶
Pattern combining frozen dataclasses with with_* factory methods for immutable state transitions.
I¶
i18n¶
Internationalization system for multi-language support using translation JSON files.
J¶
JWT (JSON Web Token)¶
Compact, URL-safe token format for authentication containing claims like sub (user_id) and tenant_id.
M¶
Modular Monolith¶
Architecture combining modular design with a single deployment unit.
Multi-Tenancy¶
Architecture where a single instance serves multiple tenants with data isolation via RLS.
O¶
OAuth¶
Open standard for authorization, implemented for Google and GitHub login.
P¶
Package¶
Individual item within a shipment, with its own QR code, weight, category, and status.
PackageEvent¶
Event entity recording tracking events (scan, status change) for a shipment.
PRD¶
Product Requirements Document; defines product goals, features, and specifications.
Protocol (Python)¶
Structural type system for defining interfaces without inheritance.
Protocol-Based DI¶
Dependency injection pattern where use cases depend on Protocol interfaces instead of concrete classes.
Pydantic¶
Python library for data validation using Python type annotations.
Q¶
QR Code¶
Machine-readable code containing entity type, ID, and HMAC signature for secure scanning.
Quality Gates¶
Automated checks (tests, linting, security scans) that must pass before code can be merged.
R¶
Rate Limiting¶
Technique to control request rate per user/IP/endpoint.
Recipient¶
Person who receives a package/shipment; stored in Recipient table with name, email, phone, DNI.
Refresh Token¶
Token used to obtain new access tokens, rotated on every use.
RLS (Row Level Security)¶
PostgreSQL feature enforcing tenant isolation at database level.
S¶
ServiceLocator¶
Dependency injection pattern providing centralized access to services and controllers.
Shipment¶
Core domain entity representing a delivery with tracking ID, status, packages, sender, and recipient.
SQLModel¶
Library combining SQLAlchemy ORM with Pydantic validation.
SafeArea¶
Area respecting device safe areas (notch, home indicator).
Status Transition¶
Valid transition between shipment/bag/flight statuses, enforced by domain logic.
T¶
Tenant¶
Organization/customer in the multi-tenant system.
Token Encryption¶
Fernet/AES encryption for tokens stored in SharedPreferences.
Tracking ID¶
Public identifier for shipments: format TRK-[A-Z0-9]{8}
U¶
UUID¶
Universally Unique Identifier used for primary keys.
W¶
Webhook¶
HTTP callback triggered by external services (AeroDataBox, WhatsApp) to notify the platform of events.
WebSocket¶
Bidirectional communication protocol for real-time updates.
Workflow (Git)¶
Branching strategy: main → develop → feature/*