見出し画像

Slackベースの社内ツールを作った話

開発会社なのに開発の話があまり出来てなかったので社内ツールを作ってるお話をしたいと思います!

開発のモチベーション

  • 会社のSlackに集ったメンバーにむけた情報共有の場が欲しかった

    • Slackのチャンネルだけだと情報が構造化されてないなど限界がある

  • メンバーの詳細な情報を共有する場が欲しかった

    • メンバーがどんなスキルを持っていて、このコミュニティでどんな立ち位置的なのかを閲覧したかった

  • コミュニケーションを活性化したかった

    • インタビュー形式の質問でメンバーの人となりを見て盛り上がりたい

開発方針

  • 認証はSlack

  • 全てのアクセスはmypage(Next.js)を通す(Sessionはサーバーで管理

  • フロントはローコードで既存コンポーネントの組み合わせ

  • 独自にデータを持ちたいところはGoogleSheetsで

何が出来るのか

Slackの延長にあるようなツール。
Slackに足りないメンバー情報の拡張だったり、CMSの機能をアドオンした感じ。

会社の活動情報一覧

何を解決しようとしてるのか

Job型雇用が増えていく中、色んなSlackに参加することが今後も増えるかと思います。
ワークスペースごとのにオンボーディングの仕組みはあれど、チャットの中だけでしか情報を表現しなければいけないため、情報を拡張する場合、Slackの外にコミュニケーションの場を作る必要があります。
KURUM mypageはSlackの認証を使い、参画いただいたメンバーに向けて情報を発信し、メンバープロフィールの拡張を行うことでコミュニケーションをより円滑にしていきます。

インタビュー

最後に今後の展望

将来的に経営、ビジネスのペインを解決するような(契約の執行とか工数管理、経費精算)機能を順次出来たらいいな。

mypage ログイン画面

おまけ:開発に使った各種構成要素

利用したサービス

  • 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(オーバーエンジニアリング中)