株式会社テクトレでTechCommitの運営や開発をしている井上です。
この記事は TechCommitAdventCalendar 25日目のものになります。
記事カテゴリをプレスリリースとしていますが、1年の振り返りも交えつつ、TechCommitの来年の動きなんかの告知もしていければと思います。
目次
2023年のTechCommitの開発の振り返って
一言で言うと『技術的負債などの返却』が主だった活動だったように思います。
TechCommitは、Ruby on RailsやVue.jsなどによって開発されており、
特に地味に先送りにしていたJavaScript周りの環境整備などにそれなりにコストを払うこととなりました。
まだまだ課題は多いものの、一旦機能追加等による価値提供が安定してできる状態には戻せました。
主な開発環境のアップデート
Vue2からVue3へのバージョンアップ
Vue2の基本的なサポートは2023年12月31日に切れるため、Vue3へアップデートする必要がありました。
https://ja.vuejs.org/about/faq#is-vue-2-still-supported
TechCommitでは部分的な機能(例えばMarkdownのリアルタイムプレビュー・タグのサジェスト・ボックスの並び替えなど)でのみVue2を使っておりました。
それでもVue3は、
– 破壊的変更が凄まじいこと
– 知見がないメンバーで作った密結合なコンポーネントが多いこと
– Vue3に対応していないライブラリ群の置き換えなどをやる必要があること
などで、当初の目算より大きく時間がかかることになりました。
とはいえ、サポート期限を考えると先送りに出来ないので地道な作業を進めて一旦懸念の解消はできております。
Frontendのテスト環境の整備
Jestなどのフロントエンド(Vueコンポーネント)の自動テストなどが元々多少はあったものの不十分でした。
https://jestjs.io/ja/
そこでテストを書くルールを見直し、スナップショットテストなども順次導入し、
以前より壊れにくいコンポーネント作成ができる環境が(ある程度)進んだかと思います。
DataDogによるAPM等の計測環境を作成
パフォーマンス改善・利用状況の確認・監視等を行いやすくするためDataDogを導入しました。
https://www.datadoghq.com/ja/
DataDogは何でもできる柔軟性と、カスタマイズしやすいダッシュボードが使いやすく、
パフォーマンスのボトルネックの発見や利用数のグラフ化などを行なって改善に役立てられるようになっています。
2023年の主な機能追加と今後の改善
TechCommitでは『場』が価値を持つようにプラットフォーム化を進めています。
各機能がまだ繋がっていないのでまだまだ不揃い感が否めませんが、来年中旬頃にはその価値を感じれもらえる状態まで持っていきたいと考えています。
今年の機能追加の分かりやすいところでは下記のようなものがあります。
メンバーのWebとのSlackIDの自動連携機能の追加
以前は新規メンバーの方は、TechCommit加入後に指定したtokenを含むコマンドをSlackに打ち込んでもらうことによって、
WebアプリとSlackを連携し、イベントリマインドやお知らせなどの通知をSlackで受け取れるようになると言う機能の提供の仕方をしていました。
しかし、この方法では自主的にコマンドを打ってくれない人も多く、(使えるようになる機能含めて)案内もわかりづらいという問題がありました。
現在はSlackEventを用いてSlack参加時に自動的にWebアプリと連携されるようになっているため、Slack参加時からコミュニティ参加時に該当のSlackチャンネルに自動招待される機能や、イベントのリマインドなどの案内を受け取れるようになっています。
コミュニティβの追加
TechCommit内でもさまざまな趣味・目的・興味から、メンバー同士て繋がったり、より活かせる情報を得やすい仕組みとしてコミュニティβを追加しました。
主な機能として現在下記のようなものがあります。
– 管理画面から新規コミュニティの追加などができる
– 新規コミュニティ作成時に全体に通知される
– 輪読会などの『週次イベント』や、単発の勉強会などの『イベント』をコミュニティ
– コミュニティの設定でSlackチャンネルを紐づけることができる
– Web上でコミュニティに参加すると、該当のコミュニティ用Slackチャンネルに自動招待される
– 参加コミュニティがプロフィール等に表示される
今後はファンレターなどのUX改善・各種週次イベントなどをユーザーが自分で作成できるようになる機能追加等も予定しており、
TechCommit内で目的に応じた関わり方をよりやっていきやすいようになる予定です。
イベントアーカイブの動画のセクションごとの再生
動画登録されているイベントで、右側に動画のセクションが表示され、クリックしたらそこから動画が再生できる機能追加がされています。
これによりLTや勉強会のイベント等でも見たい部分だけチェックしやすくなっています。
最近は運営メンバーの環境や勉強会で利用するツールの変更などによって動画化できているイベントが少なくなっているので、
この辺りも運用を改善して非同期でもイベントの内容を享受しやすい環境に改善する予定です。
ファンレターの追加
元々あった他己紹介という機能の名称や扱いが変更になり「ファンレター」という機能になりました。
個人開発を進めている人を応援したり、イベント開催している人を労ったり、疑問の解決を手伝ってくれた方に感謝を伝えたりすることができる機能です。
(現在はユーザー検索等が非常〜にやりづらいので、主に一部の運営が試験的に使うような形になっています…。)
送られたファンレターは一覧や、各月での月刊TechCommitに掲載もされます。
また、直近の機能追加で、Slack等からコマンドで感謝を伝えたりできるようにする予定で、かなり使いやすくなると思います。
サイドバーの追加
今後機能追加を予定しているプロジェクト機能(仮)に備えて、メニューが増えることから上部のナビゲーションバーからサイドバーに変更になっています。
また、WebからoViceやSlackへアクセスしやすいように導線なども追加されました。
部分的に公開ページとしてOGP等を設定
イベントアーカイブの詳細や一覧などはログインしなくても(一部を除いた)情報が見れるようになりました。
イベントの各種資料や動画などはメンバーの方しか見えないようになっていますが、TechCommitに参加していない人にもどのようなイベントが開催されているかなど見やすくしていく予定です。
またSEO的な改善も見据えています。
2024年のTechCommitの開発について
2023年は正直(技術的負債返却含む)基盤改善が主でやりたかった機能追加の進みが遅くなってしまっていました。
2024年はその分、価値を感じられる開発を進めて、TechCommitの理念のひとつである「相互扶助」を感じやすい状態を作っていければと思っています。
直近では、
– 「ありがとう」や「応援してる!」を気軽に形にできるファンレターの強化
– 趣味や興味を蓄積できるコミュニティ機能の強化
– 皆のキャリアやアプリ開発の成果物&プロセスを可視化して共有しやすくするプロジェクト機能(仮)の追加
を大きな柱にできるよう機能追加を行なっていく予定です。
最後に
今回はTechCommitの開発事情を中心にまとめてみました。
運用においてもオフ会なども増やせればいいなぁと思っているので、協力してくださる方も募集しています!
皆で楽しみながらも仕事に人生に進捗を出していきましょう!
