なぜなぜ分析(5 Whys)を行うためのWebアプリケーション。組織単位でユーザーを管理し、ボードを共有できる。
- ノードベースのビジュアル分析エディタ
- ドラッグ&ドロップによるノード作成・編集
- Root、Why、Cause、Actionノードによる分析構造化
- 組織(テナント)単位でのユーザー管理
- 3段階のユーザー権限(SUPER_ADMIN、TENANT_ADMIN、MEMBER)
- PNG形式での図の出力
- TOML形式でのデータインポート・エクスポート
- Next.js 14 (App Router)
- React 18
- TypeScript
- PostgreSQL
- Prisma ORM
- NextAuth.js
- React Flow v12
- Tailwind CSS
- Socket.io
- Docker & Docker Compose
cd whywhybord
# 環境変数設定
cp .env.example .env
# NextAuth用のシークレットキー生成
openssl rand -base64 32
# .envファイルを編集(必須項目):
# nano .env
# NEXTAUTH_SECRET=<生成されたキー>
# SUPERADMIN_EMAIL=admin@example.com
# SUPERADMIN_PASSWORD=<任意のパスワード>
# NEXTAUTH_URL=<your server IP or FQDN>:3000
# NEXT_PUBLIC_API_BASE_URL=<your server IP or FQDN>:3000
# アプリケーションビルド・起動
docker compose up -d
# マイグレーション実行
docker compose exec web npx prisma migrate deploy
# Prismaクライアント生成(任意)
docker compose exec web npx prisma generate
# アプリケーション再起動
docker compose restart web- http://your-server:3000 にアクセスしスーパーアドミンユーザーを作成
- テナントを作成
- ユーザーを招待(テナントアドミンおよびメンバー)
- 全テナントの管理
- システム設定の変更
- 自テナント内のユーザー管理
- テナント設定の変更
- ボードの作成・編集
- 自分の情報の変更
- 右ハンドルを空白にドラッグしてノード追加
- 右クリックでメニュー表示(追加・削除)
- ダブルクリックでテキスト編集
- 自動保存
- TOML形式でエクスポート・インポート
- PNG画像として出力
主要なテーブル:
Tenant- 組織情報User- ユーザー情報とロールBoard- なぜなぜ分析ボードNode- 分析ノード
詳細は prisma/schema.prisma を参照。
- MIT License