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>
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
- Database-per-service (
delivery_db) — ADR-001 / ADR-015 - Row-level
tenant_id— ADR-003 - Event publish contracts via
EventEnvelope— ADR-006 - Vertical-agnostic logistics platform — no hardcoded Hospitality/Marketplace rules
- External routing/fleet providers behind Protocols — vendor logic outside business services
- Soft delete + actor audit + delivery audit log
- 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