رفتن به محتوا
پروژهvivid-visual-platformنوعSpecificationنسخه0.1وضعیتپیش‌نویس

طراحی پایگاه داده

طراحی پایگاه داده Vivid Visual

Section titled “طراحی پایگاه داده Vivid Visual”

پایگاه داده اصلی PostgreSQL است و بر اساس دامنه‌ها به schema منطقی تفکیک می‌شود تا مالکیت داده و مهاجرت مستقل حفظ شود.

Identity:

  • users
  • roles
  • user_roles

Learning:

  • courses
  • course_sections
  • lessons
  • learning_paths
  • path_courses
  • enrollments
  • lesson_progress

Player:

  • watch_sessions
  • bookmarks
  • timeline_notes

Commerce:

  • products
  • product_variants
  • subscriptions
  • orders
  • order_items
  • payments
  • licenses
  • legacy_licenses (کلیدهای WP تا پایان grace period)
  • legacy_orders (سفارش‌های تاریخی read-only)
  • migration_external_ids (نگاشت user_id / order_id / SKU قدیمی)

CRM:

  • leads
  • lead_activities
  • opportunities
  • pipeline_stages

Talent:

  • job_posts
  • job_applications
  • resumes
  • portfolios

HR:

  • employees
  • attendance_logs
  • leave_requests
  • payroll_runs
  • payroll_items

Studio/PM:

  • studio_projects
  • project_phases
  • tasks
  • task_dependencies

Analytics:

  • event_stream
  • metric_snapshots

الگوهای رابطه‌ای نمونه

Section titled “الگوهای رابطه‌ای نمونه”

هر enrollment به یک user و یک course متصل است. هر order شامل چند order_item است و می‌تواند subscription ایجاد کند. هر job_application به یک job_post و یک resume نسخه‌دار اشاره می‌کند. هر leave_request پس از تایید، روی payroll_run بعدی اثر می‌گذارد.

soft delete برای موجودیت‌های غیرمالی. immutable log برای پرداخت، تغییر قیمت و داده حقوق. partition ماهانه برای event_stream جهت کارایی گزارش.