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

134 lines
4.7 KiB
Markdown

# 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
## Related Documents
- [Phase Handover 10.0](phase-handover/phase-10-0.md)
- [Delivery Roadmap](delivery-roadmap.md)
- [ADR-015](architecture/adr/ADR-015.md)
- [Module Registry](module-registry.md#delivery)
- [Progress](progress.md)