Bản đồ phụ thuộc
Sơ đồ dưới hiển thị mối quan hệ giữa các feature:
- Mũi tên đậm —
depends_on(feature A cần feature B có trước) - Mũi tên đứt —
impacts(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.