公式ウィッシュリストモジュール概要

説明

公式ウィッシュリストモジュールは、ユーザーが完全なサブスクリプション統合と高度な分析機能を備えたウィッシュリストグループを作成、管理、分析できる本格的なウィッシュリストシステムを表します。一時ウィッシュリストシステムとは異なり、このモジュールはサブスクリプションクォータを強制し、高度な分析のためのTV Python APIと統合し、リアルタイム監視とビジネスインテリジェンス機能を提供します。

このモジュールは、ユーザーが以下を行えるコア本番システムとして機能します:

  • サブスクリプション検証付きの公式ウィッシュリストグループの作成
  • ウィッシュリストコンテキスト内での商品、カテゴリ、検索クエリの管理
  • TV Python API統合による高度な分析用データセットの生成
  • リアルタイムステータス更新による分析進捗の監視
  • 包括的なランキング分析とAI搭載ビューポイントインサイトへのアクセス
  • グループベースのアクセス制御によるチームメンバーとの協力

アクティビティ図

---
config:
  theme: base
  layout: dagre
  flowchart:
    curve: linear
    htmlLabels: true
  themeVariables:
    edgeLabelBackground: "transparent"
---
flowchart TB
    %% Main components
    UserRequest[ユーザーリクエスト]
    AuthService(AuthService)
    SubscriptionService(SubscriptionService)
    WishlistService(WishlistService)
    TVPythonAPI((TV Python API))
    PusherService((Pusher Service))
    Database[(Database)]
    
    subgraph Controllers
        WishlistController[WishlistController]
        AnalysisController[AnalysisController]
    end
    
    subgraph Services
        DatasetService(DatasetService)
        RankingService(RankingService)
        ViewpointService(ViewpointService)
    end
    
    subgraph ExternalAPIs
        StripeAPI((Stripe API))
        OpenAIAPI((OpenAI API))
    end
    
    UserRequest --- Step1[
        <div style='text-align: center'>
            <span style='display: inline-block; background-color: #6699cc !important; color:white; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; font-weight: bold'>1</span>
            <p style='margin-top: 8px'>認証・サブスクリプション検証</p>
        </div>
    ]
    Step1 --> AuthService
    Step1 --> SubscriptionService
    SubscriptionService -.-> StripeAPI

    AuthService --- Step2[
        <div style='text-align: center'>
            <span style='display: inline-block; background-color: #6699cc !important; color:white; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; font-weight: bold'>2</span>
            <p style='margin-top: 8px'>ウィッシュリスト作成・データ管理</p>
        </div>
    ]
    Step2 --> WishlistController
    WishlistController --> WishlistService
    WishlistService --> Database

    WishlistService --- Step3[
        <div style='text-align: center'>
            <span style='display: inline-block; background-color: #6699cc !important; color:white; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; font-weight: bold'>3</span>
            <p style='margin-top: 8px'>データセット準備・TV Python統合</p>
        </div>
    ]
    Step3 --> AnalysisController
    AnalysisController --> DatasetService
    DatasetService --> TVPythonAPI

    DatasetService --- Step4[
        <div style='text-align: center'>
            <span style='display: inline-block; background-color: #6699cc !important; color:white; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; font-weight: bold'>4</span>
            <p style='margin-top: 8px'>リアルタイム監視・ステータス更新</p>
        </div>
    ]
    Step4 --> PusherService
    TVPythonAPI -.-> DatasetService
    
    PusherService --- Step5[
        <div style='text-align: center'>
            <span style='display: inline-block; background-color: #6699cc !important; color:white; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; font-weight: bold'>5</span>
            <p style='margin-top: 8px'>分析結果・ビジネスインテリジェンス</p>
        </div>
    ]
    Step5 --> RankingService
    Step5 --> ViewpointService
    RankingService --> Database
    ViewpointService -.-> OpenAIAPI

    RankingService --- Step6[
        <div style='text-align: center'>
            <span style='display: inline-block; background-color: #6699cc !important; color:white; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; font-weight: bold'>6</span>
            <p style='margin-top: 8px'>協力・結果共有</p>
        </div>
    ]
    Step6 --> WishlistController
    ViewpointService --> WishlistController
    
    %% Styling
    style UserRequest fill:#e6f3ff,stroke:#0066cc,stroke-width:2px
    style Database fill:#ffe6cc,stroke:#ff9900,stroke-width:2px
    style TVPythonAPI fill:#fcd9d9,stroke:#cc3333,stroke-width:2px
    style PusherService fill:#fcd9d9,stroke:#cc3333,stroke-width:2px
    style StripeAPI fill:#fcd9d9,stroke:#cc3333,stroke-width:2px
    style OpenAIAPI fill:#fcd9d9,stroke:#cc3333,stroke-width:2px
    style Controllers fill:#e6f3ff
    style Services fill:#f0f8e6
    style ExternalAPIs fill:#fcd9d9
    style Step1 fill:transparent,stroke:transparent,stroke-width:1px
    style Step2 fill:transparent,stroke:transparent,stroke-width:1px
    style Step3 fill:transparent,stroke:transparent,stroke-width:1px
    style Step4 fill:transparent,stroke:transparent,stroke-width:1px
    style Step5 fill:transparent,stroke:transparent,stroke-width:1px
    style Step6 fill:transparent,stroke:transparent,stroke-width:1px

詳細データフロー依存関係

ステップバイステッププロセス

ステップ1: サブスクリプション検証・ウィッシュリスト作成

  • 説明: ユーザーサブスクリプションステータスを検証し、クォータ強制付きの公式ウィッシュリストグループを作成
  • アクション: ユーザー認証、サブスクリプション検証、クォータ制限チェック、一意のスラッグでウィッシュリストグループ作成
  • 入力: ユーザー認証情報、ウィッシュリスト名、グループメンバーシップ、サブスクリプション詳細
  • 出力: アクティブステータスとサブスクリプションバインディング付きの公式ウィッシュリストグループ
  • 依存関係: ユーザー認証、グループメンバーシップ検証、サブスクリプションサービス
  • 外部サービス: サブスクリプション課金システム(Stripe API)、グループ管理サービス

ステップ2: データ投入・管理

  • 説明: 包括的な検証を伴う商品、カテゴリ、検索クエリでウィッシュリストを投入
  • アクション: 商品URL、カテゴリ選択、適切な検証ルールでの検索クエリを処理
  • 入力: 商品URL、カテゴリID、検索キーワード、モール固有データ
  • 出力: 商品、カテゴリ、検索クエリ関係を持つ構造化ウィッシュリストデータ
  • 依存関係: サマリーテーブルサービス、データ検証サービス、モール設定
  • 外部サービス: 商品検証API、カテゴリマッピングサービス

ステップ3: データセット準備・TV Python統合

  • 説明: 高度な分析用データセットを準備し、TV Python API統合を開始
  • アクション: ウィッシュリストデータ集約、TV Python API用フォーマット、データセット履歴レコード作成、分析開始
  • 入力: 完全なウィッシュリストデータ、分析パラメータ、ユーザー設定
  • 出力: 追跡IDと初期ステータス付きのデータセット作成リクエスト
  • 依存関係: データセット履歴サービス、TV Python APIクライアント、分析設定
  • 外部サービス: TV Python API、データセットストレージサービス、分析キュー管理

ステップ4: リアルタイム監視・ステータス追跡

  • 説明: リアルタイム更新とステータス通知で分析進捗を監視
  • アクション: TV Python APIステータスポーリング、データセット履歴更新、Pusher通知送信、エラー処理
  • 入力: データセット追跡ID、分析ステータス更新、エラー通知
  • 出力: リアルタイムステータス更新、進捗通知、完了アラート
  • 依存関係: データセット履歴サービス、通知サービス、エラー処理
  • 外部サービス: TV Python APIステータスエンドポイント、Pusherリアルタイムサービス、監視システム

ステップ5: 分析結果・ビジネスインテリジェンス

  • 説明: カテゴリランキングと検索クエリパフォーマンスの分析結果を処理
  • アクション: 分析結果取得、ランキングデータ処理、サブスクリプションベースフィルタリング適用
  • 入力: TV Python分析結果、ランキングデータ、サブスクリプション日付制約
  • 出力: サブスクリプション権限でフィルタリングされたカテゴリランキング、検索クエリランキング
  • 依存関係: ランキング分析サービス、サブスクリプション検証、アナライザーデータベース統合
  • 外部サービス: アナライザーデータベース、ランキング計算サービス

ステップ6: ビューポイント分析・AIインサイト

  • 説明: ビジネスインテリジェンス用の階層構造でビューポイントデータを処理
  • アクション: カテゴリビューポイント取得、詳細ビューポイント関係読み込み、特定ビューポイント処理
  • 入力: カテゴリデータ、ビューポイント階層、特定ビューポイント設定
  • 出力: カテゴリ、詳細、特定ビューポイント関係を持つ整理されたビューポイントデータ
  • 依存関係: ビューポイントリポジトリ、階層データ処理
  • 外部サービス: なし(内部データ処理)

ステップ7: 協力・結果共有

  • 説明: アクセス制御とエクスポート機能でチーム協力と結果共有を可能にする
  • アクション: グループアクセス管理、分析結果共有、サブスクリプションレベル別権限制御
  • 入力: グループメンバーシップデータ、共有設定、アクセス権限
  • 出力: 適切なアクセス制御付きの共有分析結果
  • 依存関係: グループ管理サービス、アクセス制御サービス、サブスクリプション検証
  • 外部サービス: ファイルエクスポートシステム、共有プラットフォーム

データベース関連テーブル・フィールド

データベース: gb_console, gb_analyzer

erDiagram
    wishlist_to_groups {
        bigint id PK
        bigint group_id FK "グループ関連付け"
        bigint subscription_id FK "サブスクリプションバインディング"
        bigint created_by FK "ユーザー参照"
        string name "ウィッシュリストの名前"
        string slug "ウィッシュリストのスラッグ"
        integer status "0: 非アクティブ, 1: アクティブ, 3: キャンセル"
    }
    
    wishlist_products {
        bigint id PK
        bigint wishlist_to_group_id FK "ウィッシュリスト関連付け"
        bigint summary_wishlist_product_id FK "サマリー商品参照"
        integer status "0: 非アクティブ, 1: アクティブ"
    }
    
    wishlist_categories {
        bigint id PK
        bigint wishlist_to_group_id FK "ウィッシュリスト関連付け"
        bigint summary_wishlist_category_id FK "サマリーカテゴリ参照"
        integer status "0: 非アクティブ, 1: アクティブ"
    }
    
    wishlist_search_queries {
        bigint id PK
        bigint wishlist_to_group_id FK "ウィッシュリスト関連付け"
        bigint summary_wishlist_search_query_id FK "サマリー検索クエリ参照"
        integer status "0: 非アクティブ, 1: アクティブ"
    }
    
    wishlist_dataset_histories {
        bigint id PK
        bigint wishlist_to_group_id FK "ウィッシュリスト関連付け"
        string dataset_id "TV Pythonデータセット識別子"
        string slug "一意のスラッグ識別子"
        integer status "データセット処理ステータス"
    }
    
    wl_cat_vps {
        bigint id PK
        bigint wishlist_to_group_id FK "ウィッシュリスト関連付け"
        string category_id "モール内のカテゴリID"
        bigint mall_id FK "モールのID"
        integer status "0: 非アクティブ, 1: アクティブ"
    }
    
    wl_cat_vp_details {
        bigint id PK
        bigint wl_cat_vp_id FK "カテゴリビューポイント関連付け"
        string viewpoint "カテゴリのビューポイント"
        text content "ビューポイントの内容"
        integer status "0: 非アクティブ, 1: アクティブ"
    }
    
    wl_spec_vps {
        bigint id PK
        bigint wishlist_to_group_id FK "ウィッシュリスト関連付け"
        string name "特定ビューポイントの名前"
        text description "特定ビューポイントの説明"
        integer status "0: 非アクティブ, 1: アクティブ"
    }
    
    "gb_analyzer.category_rankings" {
        bigint id PK
        string mall_category_id "モール内のカテゴリID"
        string mall_category_name "モール内のカテゴリ名"
        integer mall_id "モール識別子"
    }
    
    "gb_analyzer.product_category_rankings" {
        bigint id PK
        bigint category_ranking_id FK "カテゴリランキング参照"
        integer ranking "ランキング内の位置"
        string mall_product_id "モール内の商品ID"
        string product_name "商品名"
        double price "商品価格"
        string shop_name "ショップ名"
    }
    
    groups {
        bigint id PK
        string name "グループ名"
    }
    
    subscriptions {
        bigint id PK 
        string name "サブスクリプション名"
    }
    
    wishlist_to_groups ||--o{ wishlist_products : "持つ"
    wishlist_to_groups ||--o{ wishlist_categories : "持つ"
    wishlist_to_groups ||--o{ wishlist_search_queries : "持つ"
    wishlist_to_groups ||--o{ wishlist_dataset_histories : "持つ"
    wishlist_to_groups ||--o{ wl_cat_vps : "持つ"
    wishlist_to_groups ||--o{ wl_spec_vps : "持つ"
    wishlist_to_groups }|--|| groups : "所属"
    wishlist_to_groups }|--|| subscriptions : "所属"
    wl_cat_vps ||--o{ wl_cat_vp_details : "持つ"
    "gb_analyzer.category_rankings" ||--o{ "gb_analyzer.product_category_rankings" : "持つ"

期待される成果

技術的成果

  • サブスクリプション統合ウィッシュリストシステム: クォータ強制と課金統合を備えた完全に機能する公式ウィッシュリスト管理
  • 高度な分析統合: データセット作成と高度な分析のための包括的なTV Python API統合
  • リアルタイムステータス監視: すべての分析操作のPusher通知によるライブ進捗追跡
  • 包括的データ管理: 最適化されたデータベース関係を持つ構造化商品、カテゴリ、検索クエリ管理
  • AI搭載ビューポイント分析: カテゴリ、詳細、特定ビューポイント組織を持つ階層ビューポイント構造
  • サブスクリプションベースデータアクセス: サブスクリプションレベルと権限に基づく日付制約付きランキングデータアクセス
  • スケーラブルアーキテクチャ: 適切なアクセス制御とサブスクリプション検証を備えたグループベース協力

ビジネス価値

  • 包括的市場インテリジェンス: パフォーマンスメトリクスとトレンド分析を備えたカテゴリと検索クエリランキング
  • 戦略的インサイト: 意思決定のための構造化ビジネスインテリジェンスを備えたAI搭載ビューポイント
  • サブスクリプション収益管理: 階層アクセスと使用追跡を備えた直接課金統合
  • チーム協力: グループベース権限と共有分析結果を備えたマルチユーザーアクセス
  • データ駆動意思決定: 商品、カテゴリ、検索クエリパフォーマンスの包括的分析
  • 競合分析: ランキング分析とビューポイント生成による市場ポジショニングインサイト
  • 合理化ワークフロー: ウィッシュリスト作成から高度な分析とレポートまでのエンドツーエンドプロセス

モジュール一覧

名前 概要リンク 説明
ウィッシュリストグループ管理 ウィッシュリストグループ管理 サブスクリプション検証付き公式ウィッシュリストグループのコアCRUD操作
データセット作成 データセット作成 高度な分析とデータセット管理のためのTV Python API統合
ウィッシュリスト商品管理 ウィッシュリスト商品 サマリー統合を備えたウィッシュリストコンテキスト内の商品管理
ウィッシュリストカテゴリ管理 ウィッシュリストカテゴリ モール固有処理と分析を備えたカテゴリ管理
ウィッシュリスト検索クエリ管理 ウィッシュリスト検索クエリ キーワード分析と最適化を備えた検索クエリ管理
ランキング分析 ランキング分析 ビジネスインサイト付きカテゴリと検索クエリランキング分析
ビューポイント分析 ビューポイント分析 AI搭載ビューポイント分析と詳細ビジネスインテリジェンス