Bỏ qua nội dung

Bản đồ phụ thuộc

Sơ đồ dưới hiển thị mối quan hệ giữa các feature:

  • Mũi tên đậmdepends_on (feature A cần feature B có trước)
  • Mũi tên đứtimpacts (sửa feature A có thể ảnh hưởng feature B)
graph LR
  admin_package_create["Admin tạo gói package"]
  click admin_package_create "/features/admin-package-create/"
  admin_package_list["Admin xem danh sách gói package"]
  click admin_package_list "/features/admin-package-list/"
  admin_package_statistics["Admin xem thống kê gói package"]
  click admin_package_statistics "/features/admin-package-statistics/"
  admin_package_subscribers["Admin xem subscriber của gói package"]
  click admin_package_subscribers "/features/admin-package-subscribers/"
  admin_package_update["Admin cập nhật gói package"]
  click admin_package_update "/features/admin-package-update/"
  admin_property_delete["Admin xoá mềm property bất kỳ"]
  click admin_property_delete "/features/admin-property-delete/"
  admin_property_detail["Admin xem chi tiết property bất kỳ"]
  click admin_property_detail "/features/admin-property-detail/"
  admin_property_edit["Admin sửa property bất kỳ"]
  click admin_property_edit "/features/admin-property-edit/"
  admin_property_list_search["Admin xem và tìm kiếm danh sách property"]
  click admin_property_list_search "/features/admin-property-list-search/"
  admin_user_detail["Admin xem chi tiết thông tin user"]
  click admin_user_detail "/features/admin-user-detail/"
  admin_user_list_search["Admin xem và tìm kiếm danh sách user"]
  click admin_user_list_search "/features/admin-user-list-search/"
  admin_user_role_management["Admin quản lý role của user"]
  click admin_user_role_management "/features/admin-user-role-management/"
  affiliate["Chương trình giới thiệu (Affiliate)"]
  click affiliate "/features/affiliate/"
  admin_user_ban_unban["Admin ban và unban user"]
  click admin_user_ban_unban "/features/admin-user-ban-unban/"
  auth_login_google["Đăng nhập bằng Google (OAuth 2.0)"]
  click auth_login_google "/features/auth-login-google/"
  auth_login_phone["Đăng nhập bằng số điện thoại"]
  click auth_login_phone "/features/auth-login-phone/"
  auth_logout["Đăng xuất (revoke refresh token)"]
  click auth_logout "/features/auth-logout/"
  auth_register_otp["Đăng ký tài khoản với số điện thoại (OTP)"]
  click auth_register_otp "/features/auth-register-otp/"
  broker_daily_listing_distribution["Phân bổ listings cho broker theo gói"]
  click broker_daily_listing_distribution "/features/broker-daily-listing-distribution/"
  contacts_create["Contacts - tạo contact"]
  click contacts_create "/features/contacts-create/"
  contacts_delete["Contacts - xoá hoặc lưu trữ contact"]
  click contacts_delete "/features/contacts-delete/"
  contacts_list["Contacts - xem danh sách và chi tiết contact"]
  click contacts_list "/features/contacts-list/"
  contacts_update["Contacts - cập nhật contact"]
  click contacts_update "/features/contacts-update/"
  extension_field_mapping["Map field listing V-Nexus sang field sàn (MuaBan/Chotot)"]
  click extension_field_mapping "/features/extension-field-mapping/"
  extension_listing_prefill["Prefill tin đăng V-Nexus sang sàn (MuaBan/Nhà Tốt)"]
  click extension_listing_prefill "/features/extension-listing-prefill/"
  extension_settings["Origin cố định, token tự đọc & phạm vi kích hoạt Extension"]
  click extension_settings "/features/extension-settings/"
  listing_crawl_external_sources["Crawl listings từ nguồn ngoài (Muaban, Nhà Tốt, Batdongsan)"]
  click listing_crawl_external_sources "/features/listing-crawl-external-sources/"
  listing_create["Listings - tạo tin đăng"]
  click listing_create "/features/listing-create/"
  listing_delete["Listings - xoá hoặc ẩn tin đăng"]
  click listing_delete "/features/listing-delete/"
  listing_favorite["Favorite listing - lưu và theo dõi tin yêu thích"]
  click listing_favorite "/features/listing-favorite/"
  listing_list["Listings - xem danh sách và chi tiết tin đăng"]
  click listing_list "/features/listing-list/"
  listing_update["Listings - cập nhật tin đăng"]
  click listing_update "/features/listing-update/"
  masking_unlock["Mở khóa số điện thoại trên listing"]
  click masking_unlock "/features/masking-unlock/"
  package_change["Cập nhật gói đang dùng (nâng cấp / hạ gói)"]
  click package_change "/features/package-change/"
  package_history["Lịch sử gói thuê bao của user"]
  click package_history "/features/package-history/"
  package_purchase["Mua gói package bằng V-Credits"]
  click package_purchase "/features/package-purchase/"
  package_renewal["Gia hạn và tự động gia hạn gói"]
  click package_renewal "/features/package-renewal/"
  package_view["Xem gói package và quyền lợi hiện tại"]
  click package_view "/features/package-view/"
  payment_order_detail_sync["Lấy chi tiết đơn hàng thanh toán"]
  click payment_order_detail_sync "/features/payment-order-detail-sync/"
  payment_sepay_ipn_webhook_realtime["Nhận IPN/webhook SePay và đẩy realtime trạng thái thanh toán"]
  click payment_sepay_ipn_webhook_realtime "/features/payment-sepay-ipn-webhook-realtime/"
  phone_registries["Phone Registries - quản lý định danh số điện thoại"]
  click phone_registries "/features/phone-registries/"
  properties_create["Properties - tạo bất động sản"]
  click properties_create "/features/properties-create/"
  properties_delete["Properties - xoá (soft-delete) bất động sản"]
  click properties_delete "/features/properties-delete/"
  properties_list["Properties - tìm kiếm và xem chi tiết bất động sản"]
  click properties_list "/features/properties-list/"
  properties_update["Properties - cập nhật bất động sản"]
  click properties_update "/features/properties-update/"
  user_account_deactivate_web["Vô hiệu hoá tài khoản cá nhân trên web"]
  click user_account_deactivate_web "/features/user-account-deactivate-web/"
  user_avatar_update_web["Cập nhật avatar hồ sơ trên web"]
  click user_avatar_update_web "/features/user-avatar-update-web/"
  user_profile_update_web["Cập nhật hồ sơ cá nhân trên web"]
  click user_profile_update_web "/features/user-profile-update-web/"
  user_profile_view_web["Xem hồ sơ cá nhân trên web"]
  click user_profile_view_web "/features/user-profile-view-web/"
  user_public_profile_listings_web["Xem public profile và tin công khai của user"]
  click user_public_profile_listings_web "/features/user-public-profile-listings-web/"
  user_upgrade_to_broker["Nâng cấp user lên broker"]
  click user_upgrade_to_broker "/features/user-upgrade-to-broker/"
  wallet_topup_cancel["Huỷ đơn hàng nạp ví theo providerOrderId"]
  click wallet_topup_cancel "/features/wallet-topup-cancel/"
  wallet_topup_create["Tạo đơn hàng nạp tiền ví V-credit (HTML)"]
  click wallet_topup_create "/features/wallet-topup-create/"
  wallet_topup_sepay_qr_webhook["Tạo đơn hàng nạp tiền ví V-credit (Webhook VietQR)"]
  click wallet_topup_sepay_qr_webhook "/features/wallet-topup-sepay-qr-webhook/"
  admin_package_create -.-> package_view
  admin_package_create -.-> package_purchase
  admin_package_list --> package_view
  admin_package_statistics --> package_view
  admin_package_statistics --> package_purchase
  admin_package_subscribers --> package_view
  admin_package_subscribers --> package_purchase
  admin_package_update --> admin_package_create
  admin_package_update -.-> package_view
  admin_package_update -.-> package_purchase
  admin_package_update -.-> package_change
  admin_property_delete --> admin_property_detail
  admin_property_delete --> properties_delete
  admin_property_delete -.-> admin_property_list_search
  admin_property_delete -.-> listing_list
  admin_property_detail --> admin_property_list_search
  admin_property_detail --> properties_list
  admin_property_detail -.-> admin_property_edit
  admin_property_detail -.-> admin_property_delete
  admin_property_edit --> admin_property_detail
  admin_property_edit --> properties_update
  admin_property_edit -.-> admin_property_list_search
  admin_property_edit -.-> listing_list
  admin_property_list_search --> properties_list
  admin_property_list_search --> auth_login_phone
  admin_property_list_search -.-> admin_property_detail
  admin_property_list_search -.-> admin_property_edit
  admin_property_list_search -.-> admin_property_delete
  admin_user_detail --> admin_user_list_search
  admin_user_detail -.-> admin_user_ban_unban
  admin_user_detail -.-> admin_user_role_management
  admin_user_list_search --> auth_login_phone
  admin_user_list_search --> auth_login_google
  admin_user_list_search -.-> admin_user_detail
  admin_user_list_search -.-> admin_user_ban_unban
  admin_user_list_search -.-> admin_user_role_management
  admin_user_role_management --> admin_user_detail
  admin_user_role_management -.-> admin_user_list_search
  admin_user_role_management -.-> admin_user_ban_unban
  affiliate --> auth_register_otp
  admin_user_ban_unban --> admin_user_detail
  admin_user_ban_unban -.-> auth_login_phone
  admin_user_ban_unban -.-> auth_login_google
  admin_user_ban_unban -.-> admin_user_list_search
  auth_login_google -.-> auth_logout
  auth_login_phone --> auth_register_otp
  auth_login_phone -.-> auth_logout
  auth_register_otp -.-> auth_login_phone
  broker_daily_listing_distribution --> listing_crawl_external_sources
  broker_daily_listing_distribution --> wallet_topup_create
  contacts_create --> phone_registries
  contacts_create -.-> listing_crawl_external_sources
  contacts_delete --> contacts_create
  contacts_delete --> contacts_list
  contacts_delete -.-> listing_crawl_external_sources
  contacts_list --> contacts_create
  contacts_update --> contacts_create
  contacts_update --> contacts_list
  contacts_update -.-> listing_crawl_external_sources
  extension_field_mapping --> listing_list
  extension_field_mapping --> extension_listing_prefill
  extension_field_mapping -.-> extension_listing_prefill
  extension_listing_prefill --> listing_list
  extension_listing_prefill --> extension_settings
  extension_listing_prefill -.-> extension_field_mapping
  extension_listing_prefill -.-> extension_settings
  extension_settings -.-> extension_listing_prefill
  extension_settings -.-> extension_field_mapping
  listing_create --> contacts_create
  listing_create -.-> listing_list
  listing_create -.-> listing_update
  listing_create -.-> listing_crawl_external_sources
  listing_delete --> listing_create
  listing_delete --> listing_list
  listing_delete -.-> listing_list
  listing_delete -.-> masking_unlock
  listing_list --> listing_create
  listing_list --> contacts_create
  listing_list -.-> masking_unlock
  listing_update --> listing_create
  listing_update --> listing_list
  listing_update -.-> listing_list
  listing_update -.-> masking_unlock
  masking_unlock --> auth_login_phone
  masking_unlock --> wallet_topup_create
  masking_unlock --> listing_list
  package_change --> package_purchase
  package_change -.-> package_renewal
  package_change -.-> affiliate
  package_change -.-> masking_unlock
  package_history --> package_view
  package_history --> package_purchase
  package_history -.-> package_renewal
  package_history -.-> package_change
  package_purchase --> package_view
  package_purchase --> wallet_topup_create
  package_purchase -.-> package_change
  package_purchase -.-> package_renewal
  package_purchase -.-> affiliate
  package_purchase -.-> masking_unlock
  package_renewal --> package_purchase
  package_view -.-> package_purchase
  package_view -.-> package_change
  package_view -.-> package_renewal
  payment_order_detail_sync --> wallet_topup_create
  payment_order_detail_sync --> payment_sepay_ipn_webhook_realtime
  payment_order_detail_sync -.-> wallet_topup_create
  payment_order_detail_sync -.-> wallet_topup_cancel
  payment_order_detail_sync -.-> payment_sepay_ipn_webhook_realtime
  payment_sepay_ipn_webhook_realtime --> wallet_topup_create
  payment_sepay_ipn_webhook_realtime --> wallet_topup_sepay_qr_webhook
  payment_sepay_ipn_webhook_realtime -.-> payment_order_detail_sync
  payment_sepay_ipn_webhook_realtime -.-> wallet_topup_create
  payment_sepay_ipn_webhook_realtime -.-> wallet_topup_sepay_qr_webhook
  phone_registries --> auth_register_otp
  phone_registries --> listing_crawl_external_sources
  phone_registries -.-> user_upgrade_to_broker
  phone_registries -.-> broker_daily_listing_distribution
  properties_create -.-> listing_create
  properties_create -.-> listing_crawl_external_sources
  properties_delete --> properties_create
  properties_delete --> properties_list
  properties_delete -.-> listing_create
  properties_delete -.-> listing_list
  properties_list --> properties_create
  properties_update --> properties_create
  properties_update --> properties_list
  properties_update -.-> listing_list
  properties_update -.-> listing_crawl_external_sources
  user_account_deactivate_web --> user_profile_view_web
  user_account_deactivate_web -.-> auth_login_phone
  user_account_deactivate_web -.-> auth_login_google
  user_avatar_update_web --> user_profile_view_web
  user_avatar_update_web -.-> user_profile_view_web
  user_profile_update_web --> user_profile_view_web
  user_profile_update_web -.-> user_profile_view_web
  user_profile_view_web --> auth_login_phone
  user_profile_view_web --> auth_login_google
  user_profile_view_web -.-> user_profile_update_web
  user_profile_view_web -.-> user_avatar_update_web
  user_public_profile_listings_web -.-> listing_crawl_external_sources
  user_upgrade_to_broker --> auth_login_phone
  user_upgrade_to_broker -.-> broker_daily_listing_distribution
  wallet_topup_cancel --> wallet_topup_create
  wallet_topup_cancel -.-> payment_order_detail_sync
  wallet_topup_create --> auth_login_phone
  wallet_topup_create --> auth_login_google
  wallet_topup_create -.-> wallet_topup_cancel
  wallet_topup_create -.-> payment_order_detail_sync
  wallet_topup_sepay_qr_webhook --> wallet_topup_create
  wallet_topup_sepay_qr_webhook -.-> wallet_topup_create
  wallet_topup_sepay_qr_webhook -.-> wallet_topup_cancel
  wallet_topup_sepay_qr_webhook -.-> payment_order_detail_sync
  wallet_topup_sepay_qr_webhook -.-> payment_sepay_ipn_webhook_realtime

Hướng dẫn đọc

  • Click vào node để mở chi tiết feature đó.
  • Cluster dày = nhóm feature có liên quan chặt chẽ, đổi 1 cái cần check cả nhóm.
  • Feature không có cạnh nào nối = độc lập, an toàn để sửa.