TorbatYar/docs/delivery-phase-10-0.md
Mortezakoohjani 5c6a2e78cf feat(platform): seed service registry, deploy all modules, and fix homepage catalog.
Register all active platform services and base features in core DB so admin can manage them, add delivery/hospitality/sports-center backend phases, update apps catalog and production deploy tooling.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 12:39:51 +03:30

4.7 KiB

Phase 10.0 — Delivery Platform Foundation

Field Value
Status Complete
Module delivery
Version 0.10.0.0
Database delivery_db
API Port 8007
ADR ADR-001, ADR-003, ADR-006, ADR-015
Commercial Product Torbat Driver

Goal

Establish the Delivery & Fleet Platform as a completely independent enterprise microservice foundation (commercial product: Torbat Driver).

Reusable by Hospitality, Marketplace, Store, Pharmacy, Clinic, Sports Center, and future services via API + Events only — no shared databases, no business logic duplication.

This phase implements foundation shells and discovery surfaces only. It does not implement driver workflows, dispatch, routing engines, tracking, or settlement engines.

Scope Delivered

In Scope

  • Service scaffold under backend/services/delivery (API → Service → Repository → Model)
  • Foundation aggregates: DeliveryOrganization, DeliveryHub, DeliveryRole, DeliveryPermission, ExternalProviderConfig, RoutingEngineRegistration, DeliveryConfiguration, DeliverySetting, DeliveryAuditLog
  • Health /health, Capability /capabilities, Metrics /metrics
  • Permissions delivery.* trees (foundation + planned leaves)
  • Publish-only events delivery.* (organization/hub/provider/routing/config/setting)
  • Platform provider contracts (Accounting, CRM, Loyalty, Communication, Notification, Storage, AI, Identity, RoutingEngine, Fleet)
  • Tenant isolation via X-Tenant-ID
  • Alembic 0001_initial + compose wiring (port 8007)
  • Tests: architecture, API/tenant, permissions, migration, dependency, security, docs

Out of Scope

  • Driver management (10.1)
  • Fleet / vehicle types (10.2)
  • Availability / shifts / zones (10.3)
  • Pricing / capability bundles (10.4)
  • Dispatch engine (10.5)
  • Routing / optimization execution (10.6)
  • Tracking / POD (10.7)
  • Settlement posting (10.8)
  • Merchant connector / app UI (10.9)
  • Analytics / AI (10.10)

Service Boundaries

Delivery owns Delivery does not own
Aggregates above Accounting / Posting Engine
Delivery HTTP APIs under /api/v1/* CRM sales entities
delivery.* permissions Loyalty ledger / points
Publish-only delivery events Communication / SMS providers / message delivery timeline
External provider & routing-engine registrations Vertical order aggregates
Tenant delivery configuration Identity / Storage blobs / AI inference

Published Events (Phase 10.0)

Event Aggregate
delivery.organization.created / updated organization
delivery.hub.created / updated hub
delivery.external_provider.registered / updated external_provider_config
delivery.routing_engine.registered / updated routing_engine_registration
delivery.configuration.created / updated configuration
delivery.setting.upserted setting

API Contracts

Resource Prefix
Organizations /api/v1/organizations
Hubs /api/v1/hubs
External providers /api/v1/external-providers
Routing engines /api/v1/routing-engines
Configurations /api/v1/configurations
Settings /api/v1/settings
Audit /api/v1/audit
Health / Capabilities / Metrics /health, /capabilities, /metrics

Permissions

delivery.* trees covering organizations, hubs, external providers, routing engines, configurations, settings, audit, plus planned leaves for drivers/fleet/dispatch/routing/tracking/settlement.

Architecture Decisions

  1. Database-per-service (delivery_db) — ADR-001 / ADR-015
  2. Row-level tenant_id — ADR-003
  3. Event publish contracts via EventEnvelope — ADR-006
  4. Vertical-agnostic logistics platform — no hardcoded Hospitality/Marketplace rules
  5. External routing/fleet providers behind Protocols — vendor logic outside business services
  6. Soft delete + actor audit + delivery audit log
  7. Optimistic locking on organizations, providers, routing engines, configurations

Folder Structure

backend/services/delivery/
  app/
    api/v1/
    core/
    middlewares/
    models/
    repositories/
    services/
    validators/
    schemas/
    events/
    permissions/
    providers/
    policies/
    specifications/
    commands/
    queries/
    tests/
  alembic/versions/0001_initial.py
  scripts/ensure_db.py
  README.md

Tests Executed

Architecture · API foundation flow · tenant isolation · permissions · migration · dependency · security · docs