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
数字に表れないメンバーの“密かな”がんばりと非認知能力を、AIが見える化。経営・マネージャーはメンバーを深く知り、本人も自分の強みに気づく。会社で使う組織開発/人事SaaS。
Translation pending
BusinessTypeScript · PLpgSQLGitHub @mackey55555OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
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