پروژهvivid-visual-platformنوعSpecificationنسخه0.1وضعیتپیشنویس
طراحی پایگاه داده
Rebati — Documentation System
Vivid Visual · ویوید ویژوال
طراحی پایگاه داده
28 — Database
- پروژه
- vivid-visual-platform
- نوع سند
- Specification
- نسخه
- 0.1
- وضعیت
- پیشنویس
محرمانه — فقط برای استفاده طرفین قرارداد
طراحی پایگاه داده Vivid Visual
Section titled “طراحی پایگاه داده Vivid Visual”اصول طراحی
Section titled “اصول طراحی”پایگاه داده اصلی PostgreSQL است و بر اساس دامنهها به schema منطقی تفکیک میشود تا مالکیت داده و مهاجرت مستقل حفظ شود.
موجودیتهای کلیدی
Section titled “موجودیتهای کلیدی”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 بعدی اثر میگذارد.
سیاستهای داده
Section titled “سیاستهای داده”soft delete برای موجودیتهای غیرمالی. immutable log برای پرداخت، تغییر قیمت و داده حقوق. partition ماهانه برای event_stream جهت کارایی گزارش.