TorbatYar/docs/ai-framework/service-manifest.yaml
Mortezakoohjani e41ecfad4c Sync platform docs, infra, and module services with Accounting integration.
Include Loyalty/Communication/Sports Center backends and registry updates alongside production nginx and compose wiring.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-25 22:35:23 +03:30

653 lines
17 KiB
YAML

# Service Manifest
# Registry of independent deployable services for TorbatYar.
# Keep aligned with docs/module-registry.md and runtime compose ports when wired.
schema_version: 1
updated: "2026-07-25"
services:
- id: core-platform
name: Core Platform
owner: Platform
path: backend/core-service
database: core_platform_db
api_prefix: /api/v1
permission_prefix: core.*
dependencies:
- postgres
- redis
- celery
- shared-lib
events:
- tenant.*
- domain.*
- subscription.*
- feature_access.*
health_endpoint: /health
documentation:
- docs/architecture/
- docs/reference/
current_version: 0.4.x
current_phase: onboarding-4
status: active
- id: identity-access
name: Identity & Access
owner: Platform
path: backend/services/identity-access
database: identity_access_db
api_prefix: /api/v1
permission_prefix: identity.*
dependencies:
- keycloak
- core-platform
- shared-lib
events:
- user.registered
- tenant_member.added
- tenant_member.removed
health_endpoint: /health
documentation:
- docs/architecture/identity-architecture.md
current_version: 0.2.x
current_phase: identity-2
status: active
api_port: 8001
- id: accounting
name: Accounting
owner: Platform
path: backend/services/accounting
database: accounting_db
api_prefix: /api/v1
permission_prefix: accounting.*
dependencies:
- core-platform
- shared-lib
events:
- voucher.posted
- ledger.updated
- cash.received
- settlement.completed
- sales_invoice.posted
health_endpoint: /health
documentation:
- docs/phases/Accounting/README.md
current_version: 0.5.11.0
current_phase: accounting-5.11
status: active
api_port: 8002
- id: crm
name: CRM
owner: Platform
path: backend/services/crm
database: crm_db
api_prefix: /api/v1
permission_prefix: crm.*
dependencies:
- core-platform
- shared-lib
events:
- crm.lead.*
- crm.contact.*
- crm.organization.*
- crm.opportunity.*
- crm.pipeline.*
- crm.task.*
- crm.meeting.*
- crm.call.*
- crm.timeline.*
- crm.comment.*
- crm.mention.*
health_endpoint: /health
documentation:
- docs/crm-phase-6-3.md
- docs/phases/CRM/README.md
current_version: 0.6.3.0
current_phase: crm-6.3
status: active
api_port: 8003
- id: loyalty
name: Enterprise Loyalty Platform
owner: Platform
path: backend/services/loyalty
database: loyalty_db
api_prefix: /api/v1
permission_prefix: loyalty.*
dependencies:
- core-platform
- shared-lib
events:
- loyalty.program.*
- loyalty.tier.*
- loyalty.member.*
- loyalty.point_account.*
- loyalty.reward.*
- loyalty.campaign.*
health_endpoint: /health
documentation:
- docs/loyalty-phase-7-0.md
- docs/loyalty-phase-7-1.md
- docs/phase-handover/phase-7-1.md
- docs/phases/Loyalty/README.md
- docs/architecture/adr/ADR-011.md
current_version: 0.7.1.0
current_phase: loyalty-7.1
status: active
api_port: 8004
- id: communication
name: Enterprise Communication Platform
owner: Platform
path: backend/services/communication
database: communication_db
api_prefix: /api/v1
permission_prefix: communication.*
dependencies:
- core-platform
- shared-lib
events:
- communication.message.*
- communication.provider.failover
- communication.otp.*
- communication.queue.dead_letter
- communication.webhook.received
health_endpoint: /health
documentation:
- docs/communication-phase-8.md
- docs/architecture/adr/ADR-012.md
current_version: 0.8.10.0
current_phase: communication-8
status: active
api_port: 8005
- id: sports_center
name: Sports Center Platform
description: Independent multi-tenant sports club / gym / facility operations platform (members, memberships, coaches, attendance, booking, programs, competitions, integrations).
owner: Platform
path: backend/services/sports_center
database: sports_center_db
api_prefix: /api/v1
permission_prefix: sports_center.*
health_endpoint: /health
configuration:
- SPORTS_CENTER_DATABASE_URL
- AUTH_REQUIRED
- tenant resolution via X-Tenant-ID / shared middleware
- entitlement feature keys sports_center.*
dependencies:
- core-platform
- shared-lib
optional_dependencies:
- accounting
- crm
- loyalty
- communication
events:
- sports_center.member.*
- sports_center.membership.*
- sports_center.membership_type.*
- sports_center.membership_package.*
- sports_center.membership_plan.*
- sports_center.pricing_model.*
- sports_center.age_group.*
- sports_center.sport_category.*
- sports_center.membership_rule.*
- sports_center.renewal_policy.*
- sports_center.freezing_rule.*
- sports_center.expiration_policy.*
- sports_center.coach.*
- sports_center.attendance.*
- sports_center.booking.*
- sports_center.session.*
- sports_center.program.*
- sports_center.workout.*
- sports_center.competition.*
- sports_center.event.*
public_apis:
- /health
- /capabilities
- /api/v1/sports-centers
- /api/v1/membership-types
- /api/v1/membership-packages
- /api/v1/membership-plans
- /api/v1/pricing-models
- /api/v1/age-groups
- /api/v1/sport-categories
- /api/v1/membership-rules
- /api/v1/renewal-policies
- /api/v1/freezing-rules
- /api/v1/expiration-policies
- /api/v1/members
- /api/v1/family-members
- /api/v1/emergency-contacts
- /api/v1/medical-information
- /api/v1/membership-cards
- /api/v1/digital-memberships
- /api/v1/waivers
- /api/v1/member-documents
- /api/v1/memberships
- /api/v1/coaches
- /api/v1/facilities
internal_apis:
- service-to-service refs for Accounting / CRM / Loyalty / Communication (token-gated; not public)
tenant_aware: true
audit_enabled: true
documentation:
- docs/sports-center-roadmap.md
- docs/sports-center-phase-9-0.md
- docs/sports-center-phase-9-1.md
- docs/sports-center-phase-9-2.md
- docs/phase-handover/phase-9-2.md
- docs/phases/SportsCenter/README.md
- docs/architecture/adr/ADR-014.md
- docs/module-registry.md
current_version: 0.9.2.0
current_phase: sports-center-9.2
current_status: active
status: active
future_modules:
- members
- membership
- membership_types
- coaches
- attendance
- booking
- facilities
- equipment
- programs
- workouts
- competitions
- events
- medical
- nutrition
- locker
- mobile
- reports
- analytics
- integrations
- id: delivery
name: Delivery & Fleet Platform
description: Independent multi-tenant logistics platform (Torbat Driver) — drivers, fleet, dispatch, routing, tracking, POD, settlement intents, merchant connectors. Consumed by Restaurant, Marketplace, Pharmacy, Clinic, Sports Center, and future verticals via API/Events only.
owner: Platform
path: backend/services/delivery
database: delivery_db
api_prefix: /api/v1
permission_prefix: delivery.*
health_endpoint: /health
configuration:
- DELIVERY_DATABASE_URL
- AUTH_REQUIRED
- tenant resolution via X-Tenant-ID / shared middleware
- entitlement feature keys delivery.*
dependencies:
- core-platform
- shared-lib
optional_dependencies:
- accounting
- crm
- loyalty
- communication
events:
- delivery.driver.*
- delivery.fleet.*
- delivery.vehicle.*
- delivery.dispatch.*
- delivery.route.*
- delivery.tracking.*
- delivery.pod.*
- delivery.settlement.*
- delivery.shift.*
- delivery.zone.*
public_apis:
- /health
- /capabilities
- /metrics
- /api/v1 (phase-scoped resources)
internal_apis:
- service-to-service merchant connector and settlement refs (token-gated; not public)
tenant_aware: true
audit_enabled: true
documentation:
- docs/delivery-roadmap.md
- docs/phases/Delivery/README.md
- docs/phase-handover/phase-dp-reg.md
- docs/architecture/adr/ADR-015.md
- docs/module-registry.md
current_version: 0.0.0
current_phase: delivery-reg
current_status: registered
status: planned
api_port: 8007
commercial_product: Torbat Driver
future_modules:
- drivers
- fleet
- vehicle_types
- vehicles
- availability
- shifts
- working_zones
- pricing
- capabilities
- bundles
- dispatch
- routing
- optimization
- tracking
- proof_of_delivery
- settlement
- merchant_connector
- notifications
- driver_app_apis
- dispatcher_panel_apis
- customer_tracking
- fleet_analytics
- ai_hooks
- external_providers
- id: restaurant
name: Restaurant / Cafe
owner: TBD
path: backend/services/restaurant
database: restaurant_db
api_prefix: /api/v1
permission_prefix: restaurant.*
dependencies:
- core-platform
- loyalty
events:
- order.*
health_endpoint: /health
documentation:
- docs/phases/Restaurant/README.md
current_version: 0.0.0
current_phase: restaurant-foundation
status: scaffolded
- id: ecommerce
name: Ecommerce
owner: TBD
path: backend/services/ecommerce
database: ecommerce_db
api_prefix: /api/v1
permission_prefix: ecommerce.*
dependencies:
- core-platform
events:
- order.*
- product.*
health_endpoint: /health
documentation:
- docs/module-registry.md
current_version: 0.0.0
current_phase: ecommerce-foundation
status: scaffolded
- id: marketplace
name: Marketplace
owner: TBD
path: null
database: TBD
api_prefix: TBD
permission_prefix: marketplace.*
dependencies:
- ecommerce
- identity-access
- accounting
events: []
health_endpoint: TBD
documentation:
- docs/phases/Marketplace/README.md
current_version: 0.0.0
current_phase: marketplace-foundation
status: planned
- id: automation
name: Automation
owner: TBD
path: null
database: TBD
api_prefix: TBD
permission_prefix: automation.*
dependencies: []
events: []
health_endpoint: TBD
documentation:
- docs/phases/Automation/README.md
current_version: 0.0.0
current_phase: automation-foundation
status: planned
- id: academy
name: Academy
owner: TBD
path: null
database: academy_db
api_prefix: /api/v1
permission_prefix: academy.*
dependencies:
- core-platform
events: []
health_endpoint: /health
documentation:
- docs/phases/Future/README.md
current_version: 0.0.0
current_phase: academy-foundation
status: planned
- id: clinic
name: Clinic
owner: TBD
path: null
database: clinic_db
api_prefix: /api/v1
permission_prefix: clinic.*
dependencies:
- core-platform
events: []
health_endpoint: /health
documentation:
- docs/phases/Future/README.md
current_version: 0.0.0
current_phase: clinic-foundation
status: planned
- id: hotel
name: Hotel
owner: TBD
path: null
database: hotel_db
api_prefix: /api/v1
permission_prefix: hotel.*
dependencies:
- core-platform
events: []
health_endpoint: /health
documentation:
- docs/phases/Future/README.md
current_version: 0.0.0
current_phase: hotel-foundation
status: planned
- id: tourism
name: Tourism
owner: TBD
path: null
database: tourism_db
api_prefix: /api/v1
permission_prefix: tourism.*
dependencies:
- core-platform
events: []
health_endpoint: /health
documentation:
- docs/phases/Future/README.md
current_version: 0.0.0
current_phase: tourism-foundation
status: planned
- id: ai_assistant
name: AI Assistant
owner: TBD
path: backend/services/ai_assistant
database: ai_assistant_db
api_prefix: /api/v1
permission_prefix: ai_assistant.*
dependencies:
- core-platform
events:
- assistant.*
health_endpoint: /health
documentation:
- docs/architecture/ai-architecture.md
- docs/phases/AI/README.md
current_version: 0.0.0
current_phase: ai-assistant-foundation
status: scaffolded
- id: website_builder
name: Website Builder
owner: TBD
path: backend/services/website_builder
database: website_builder_db
api_prefix: /api/v1
permission_prefix: website_builder.*
dependencies:
- file_storage
events: []
health_endpoint: /health
documentation:
- docs/module-registry.md
current_version: 0.0.0
current_phase: future-services
status: scaffolded
- id: live_chat
name: Live Chat
owner: TBD
path: backend/services/live_chat
database: live_chat_db
api_prefix: /api/v1
permission_prefix: live_chat.*
dependencies:
- core-platform
events:
- conversation.*
health_endpoint: /health
documentation:
- docs/module-registry.md
current_version: 0.0.0
current_phase: future-services
status: scaffolded
- id: smart_messenger
name: Smart Messenger
owner: TBD
path: backend/services/smart_messenger
database: smart_messenger_db
api_prefix: /api/v1
permission_prefix: smart_messenger.*
dependencies:
- core-platform
events: []
health_endpoint: /health
documentation:
- docs/module-registry.md
current_version: 0.0.0
current_phase: future-services
status: scaffolded
- id: sms_panel
name: SMS Panel
owner: TBD
path: backend/services/sms_panel
database: sms_panel_db
api_prefix: /api/v1
permission_prefix: sms_panel.*
dependencies:
- core-platform
events: []
health_endpoint: /health
documentation:
- docs/module-registry.md
- docs/architecture/adr/ADR-012.md
current_version: 0.0.0
current_phase: sms-panel-future
status: scaffolded
notes: Prefer communication service for new messaging work (ADR-012).
- id: notification
name: Notification
owner: TBD
path: backend/services/notification
database: notification_db
api_prefix: /api/v1
permission_prefix: notification.*
dependencies:
- core-platform
events: []
health_endpoint: /health
documentation:
- docs/module-registry.md
current_version: 0.0.0
current_phase: future-services
status: scaffolded
- id: file_storage
name: File Storage
owner: TBD
path: backend/services/file_storage
database: file_storage_db
api_prefix: /api/v1
permission_prefix: file_storage.*
dependencies: []
events: []
health_endpoint: /health
documentation:
- docs/module-registry.md
current_version: 0.0.0
current_phase: future-services
status: scaffolded
- id: link_shortener
name: Link Shortener
owner: TBD
path: backend/services/link_shortener
database: link_shortener_db
api_prefix: /api/v1
permission_prefix: link_shortener.*
dependencies:
- core-platform
events: []
health_endpoint: /health
documentation:
- docs/module-registry.md
current_version: 0.0.0
current_phase: future-services
status: scaffolded
- id: frontend
name: Frontend
owner: Platform
path: frontend
database: null
api_prefix: consumes /api/v1
permission_prefix: UI gated by /me roles
dependencies:
- core-platform
- identity-access
- keycloak
events: []
health_endpoint: null
documentation:
- docs/frontend/README.md
current_version: Next-15.5.x
current_phase: onboarding-4
status: active