Skip to content

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: maindevelopfeature/*