OperantKit のウェブフロントエンド。実験者向けダッシュボードと教育用シミュレータ UI を提供する。 セッションデータの可視化、実験設定の編集、ユーザ管理ページを含む。
Status: Next.js 16、React 19、Tailwind v4。
/— ダッシュボード(最近のセッション、概要統計)/login,/register— 認証/profile— ユーザプロファイル/settings— 実験パラメータ設定(FR / VR / FI / VI 等のスケジュール選択)/data— セッションデータの可視化(Recharts による累積記録・反応率チャート)
GET/POST /api/data— セッションデータGET/POST /api/settings— 実験設定
現状は Next.js 内のモックエンドポイントを返す。Python バックエンド(session-visualizer SSE 等)との 接続は将来作業。
ランタイムは mise で固定する。Node.js のバージョンは .mise.toml で
宣言済み(24 系 LTS)。
# 1. Node を取得
mise install
# 2. 依存をインストール(package-lock.json から再現)
mise exec -- npm ci# 開発サーバ(http://localhost:3000)
mise exec -- npm run dev
# プロダクションビルド
mise exec -- npm run build
# Lint
mise exec -- npm run lint
# 型チェック
mise exec -- npx tsc --noEmit
# E2E テスト(要 Playwright ブラウザ: mise exec -- npx playwright install chromium)
mise exec -- npm test主要依存(package.json 参照):
next^16.2 — React フレームワーク(App Router)react,react-dom^19 — UI ライブラリrecharts^3 — チャートswr^2 — クライアントサイドのデータフェッチ・キャッシュtailwindcss^4,@tailwindcss/postcss^4 — スタイリングtypescript^5 — 型チェック@playwright/test^1 — E2E テスト
- ランタイムは
miseで管理する。nvm/nodenv/asdfは使用しない。 - パッケージマネージャは
npmのみ(package-lock.jsonを再現性のため commit する)。pnpm/yarn/bunは使用しない。 - direnv の
layout node等の layout 系は使用しない(.envrcは防御的・最小限のみ)。 node_modules//.next//playwright-report//test-results/は.gitignore済み。