Slackベースの社内ツールを作った話
開発会社なのに開発の話があまり出来てなかったので社内ツールを作ってるお話をしたいと思います!
開発のモチベーション
会社のSlackに集ったメンバーにむけた情報共有の場が欲しかった
Slackのチャンネルだけだと情報が構造化されてないなど限界がある
メンバーの詳細な情報を共有する場が欲しかった
メンバーがどんなスキルを持っていて、このコミュニティでどんな立ち位置的なのかを閲覧したかった
コミュニケーションを活性化したかった
インタビュー形式の質問でメンバーの人となりを見て盛り上がりたい
開発方針
認証はSlack
全てのアクセスはmypage(Next.js)を通す(Sessionはサーバーで管理
フロントはローコードで既存コンポーネントの組み合わせ
独自にデータを持ちたいところはGoogleSheetsで
何が出来るのか
Slackの延長にあるようなツール。
Slackに足りないメンバー情報の拡張だったり、CMSの機能をアドオンした感じ。
何を解決しようとしてるのか
Job型雇用が増えていく中、色んなSlackに参加することが今後も増えるかと思います。
ワークスペースごとのにオンボーディングの仕組みはあれど、チャットの中だけでしか情報を表現しなければいけないため、情報を拡張する場合、Slackの外にコミュニケーションの場を作る必要があります。
KURUM mypageはSlackの認証を使い、参画いただいたメンバーに向けて情報を発信し、メンバープロフィールの拡張を行うことでコミュニケーションをより円滑にしていきます。
最後に今後の展望
将来的に経営、ビジネスのペインを解決するような(契約の執行とか工数管理、経費精算)機能を順次出来たらいいな。
おまけ:開発に使った各種構成要素
利用したサービス
Slack(認証、メンバー情報取得)
Notion(CMS)
Google Sheets(プロフィール、インタビュー情報管理)
Google Apps Script(プロフィール、インタビューAPI)
Vercel(KURUM mypageのホスティング、デプロイ)
Github Action(Google App Scriptへのデプロイ)
システム構成
KURUM mypage(フロントエンド)
next.js
typescript
material ui
Google Apps Script(API, Batch)
typescript
clasp/typescript(typescriptからgasファイルに変換してくれる)
DDD(オーバーエンジニアリング中)