メインコンテンツまでスキップ
バージョン: 2025-10-24

2.2. フロントエンド仕様

React (Vite) で構築されたシングルページアプリケーション (SPA)。ユーザーインターフェースの提供とバックエンドAPIとの通信を担います。

コンポーネント図​

コンポーネント説明
Pages各画面(ページ)を構成するコンポーネント。
Componentsボタンやナビゲーションバーなど、再利用可能なUI部品。
StoresZustandを使用してアプリケーション全体の状態(認証、グラフデータ等)を管理する。
ServicesAPIクライアントなど、外部との通信処理をまとめたモジュール。

画面一覧​

画面パス認証説明
HomePage/不要アプリケーションのトップページ。ログインや新規登録への導線。
LoginPage/login不要ログインフォーム画面。
RegisterPage/register不要新規ユーザー登録フォーム画面。
NetworkChatPage/chat必要グラフ可視化とチャットUIを統合したメイン画面。

状態管理 (Zustand)​

状態は機能ごとにストアに分割されています。

  • authStore.js: ユーザーの認証状態、アクセストークンを管理。login, logout等のアクションを提供。
  • networkStore.js: 表示中のグラフデータ (Cytoscape形式)、レイアウト情報等を管理。fetchNetwork, calculateLayout等のアクションを提供。
  • chatStore.js: 会話履歴、メッセージ一覧等を管理。sendMessage, fetchHistory等のアクションを提供。

API連携​

  • axiosをベースにしたAPIクライアント (services/api.js) が、全てのリクエストに認証トークンを付与します。
  • トークンが失効している場合は、自動的にログインページにリダイレクトします。