Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗密かにやっていることが、その人の才能になる。
密か(Hisoka)は、点数では測れない「非認知能力」を見つけて、伸ばすためのサービスです。
数学の点数のように数値化できる力ではなく、仲間をつくる力・場を和ませる会話力・気を利かせる力・ 自分の役割を掴む力——こうした力は、いろんなチームで人と関わり学び合う中で、 誰の中にも“密かに”育っています。
例えば、幼い頃からチームスポーツをやってきた人は、たいてい気が利く。チームで機能するには、 まわりに気を配り、自分の役割を掴む必要があるからです。そうやって身についた力は、テストには 出ないけれど、その人らしさ・強みそのもの。
密かは、目標・活動・振り返りの記録から、その人が密かに積み重ねてきた非認知能力を見つけ出し、 言語化し、伸ばす手伝いをします。見つけて伸ばすほど、その人の人生はもっと豊かになる—— それが密かの目指すところです。
npm install
.env.local ファイルを作成し、以下の環境変数を設定してください:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SECRET_KEY=your_supabase_secret_key # (任意) seed実行時に必要
SupabaseのAPIキー取得方法:
sb_publishable_...)→ NEXT_PUBLIC_SUPABASE_ANON_KEYに設定sb_secret_...)→ SUPABASE_SECRET_KEYに設定(seed実行時のみ必要)SupabaseのSQL Editorで、hisoka-design-doc.mdの「12. Supabase SQLスキーマ」セクションに記載されているSQLを実行してください。
npm run dev
Supabaseの Secret key を使って、Authユーザーと public.users、紐付け(trainer_trainees)を作成します。
注意: Secret keyは特権アクセス権限があるため、.env.localに設定する際は絶対にGitにコミットしないでください。
npm run seed
必要に応じて以下の環境変数で上書きできます:
SEED_ADMIN_EMAIL=
SEED_ADMIN_PASSWORD=
SEED_TRAINER_EMAIL=
SEED_TRAINER_PASSWORD=
SEED_TRAINEE_EMAIL=
SEED_TRAINEE_PASSWORD=
ブラウザで http://localhost:3000 を開いてください。
SuperAdmin はテナント(チーム)を発行できる運営側の特権ロールです。初期 SuperAdmin だけは、Supabase に直接 SQL を流して立てる必要があります。
⚠️ 取り扱い注意: SuperAdmin は全テナントのデータを横断して見られる強力な権限です。付与するユーザーは厳選してください。
通常のユーザー登録経路は「招待」のみのため、まず SuperAdmin にしたいユーザーを Supabase Auth に作っておく
npm run seed で作成した [email protected]、または手動で auth.users に作成Supabase Dashboard → SQL Editor で以下を実行(メールアドレスを差し替え):
UPDATE users
SET is_super_admin = true
WHERE email = '[email protected]';
そのユーザーで http://localhost:3000/login からログインすると、/super-admin にリダイレクトされる
/super-admin/teams/new から最初のテナントを発行できる
-- 全 SuperAdmin を一覧
SELECT id, email FROM users WHERE is_super_admin = true;
-- SuperAdmin を解除
UPDATE users SET is_super_admin = false WHERE email = '[email protected]';
hisoka/
├── app/ # Next.js App Router
│ ├── (auth)/login # 共通ログイン画面
│ ├── (super)/super-admin # 運営用 SuperAdmin ダッシュボード
│ ├── t/[slug]/ # チームスコープ業務画面(dashboard/goals/admin/trainer)
│ ├── teams/ # 所属チーム選択ハブ
│ ├── no-team/ # チーム未所属ユーザー向け案内
│ ├── invitations/[token] # 招待受諾画面
│ ├── auth/ # 認証 callback / set-password / signout
│ └── layout.tsx # ルートレイアウト
├── components/ # Reactコンポーネント
│ ├── ui/ # 基本UIコンポーネント
│ ├── features/ # 機能別コンポーネント
│ └── layout/ # レイアウトコンポーネント
├── lib/ # ユーティリティ
│ ├── supabase/ # Supabase 設定(server / client / admin)
│ ├── context/ # currentTeam 解決ユーティリティ
│ ├── actions/ # Server Actions(teamSlug を第1引数で受ける)
│ └── utils/ # ヘルパー関数
├── types/ # TypeScript型定義
└── public/ # 静的ファイル
Vercelにデプロイする場合:
MIT