CUEBiC TEC BLOG

キュービックTECチームの技術ネタを投稿しております。

【初開催】社内ハッカソン成果物一覧

6月に社内初めてのハッカソンを開催し、その中で生まれたプロダクトを今回は紹介します。是非どんな経歴のエンジニアが開発に携わったのかも見てください!

ハッカソン2日目

ハッカソンに実際に参加したSREエンジニアの記事もあるので読んでみてください! cuebic.hatenablog.com

チームメンバー紹介

3チームのメンバー紹介をしていきます!エンジニア歴やニックネームを紹介していきます!中には10年以上のベテランや数ヶ月しか経験が無い人がいます!

MMM

MMMチームのエンジニアとしての経歴等を紹介していきます!

メディア開発ハッティ
エンジニア歴:
Webエンジニア8年、PM・ディレクション6年

SREエンジニアmikiho
エンジニア歴: フロントエンド8年

SREエンジニアYuhta28
エンジニア歴: インフラエンジニア5年、SRE3年

ざわもと

ざわもとチームのエンジニアとしての経歴等を紹介していきます!

DXエンジニアとりざわ
エンジニア歴: 3ヶ月

SREエンジニアハシケン
インフラエンジニア歴15年

ポムの樹

ポムの樹チームのエンジニアとしての経歴等を紹介していきます!

コーポレートITエンジニアしみず
インフラエンジニア5年、コーポレートITエンジニア4年

Webエンジニアでろ
エンジニア歴: 新卒2年目

プロダクト開発tsubasa
Webエンジニア歴1ヶ月

プロダクト紹介

各チームの開発したプロダクトを紹介していきま〜す!

MMM

【共通コンテンツ一括管理システム】

開発背景

 弊社では複数のWPの運用を行っており、その中で共通で利用しているクライアント様のキャンペーン情報があります。
現状では人力で各メディアごとに情報を確認しメディアごとに管理を行なっていたために一つの情報の修正にメディア数分の工数がかかっていました。
工数削減を目的として、共通で利用している情報を中央管理できないのかという相談がマーケータ部門から上がっていました。

開発したもの

 microCMSを使いキャンペーン情報をAPI単位で管理した。
当初はNoSQLデータベースを構築し、その中にキャンペーン情報を保持して呼び出す方法も考案したがハッカソンという短い期間で作り込むには時間が足りないと考えたため、表示部分を持たないヘッドレスCMSであるmicroCMSを使うことでキャンペーン情報を保持するAPIを作り、社内管理用のWordPressにそのAPIを参照させるようにすることで今現在取り扱っているキャンペーン情報をすぐに確認できるようにしました。

アーキテクチャ
今後の展望

 運用面の課題ではWPごとに利用しているHTML/CSS(クラス)が統一されておらず、誤った編集を行った場合の影響範囲が広くなってしまうことです。システム面ではAPIの上限があるため利用方法によっては設計が必須となり、ジャンルごとに共通情報に差異があるため都度調整が必要となっています。

ちーむざわもと

【休暇データのGoogleカレンダー自動反映システム】

開発背景

 社内でたまに発生する「会議を設定するタイミング」と「被招待者がGoogleカレンダー不在設定するタイミング」が行き違いになってしまい、不在なのに会議が設定されており、行き違いが発覚したらもう一度会議を設定するということが起きていました。このような行き違いが起こらないようなシステム開発をしました。

開発したもの

 KING OF TIME(KOT)で休暇データを取得し、Google Apps Scriptを仲介させ、Googleカレンダーに反映させるシステムを開発しました。主にとりざわさんがChatGPtを駆使して、ハシケンさんが助言をするというチームワークを見せました。とりざわさんはプロンプトエンジニアとして大活躍を果たしました!

今後の展望

 KOTで承認済みの削除申請があった場合にカレンダーに反映しくれるようにしたり、取得項目を変えてインターンのシフト自動反映するツールにしたりすることです。

ポムの樹

【不要Slackチャンネルの自動アーカイブシステム】

開発背景

 現在、Slackのチャンネル数が多すぎて、情報の追跡と整理が困難であり重要な情報が埋もれたりしています。さらに整理するにも要否の判断を従業員ができないため整理がしにくくなっています。そのためこの課題を自動アーカイブシステムの導入により、チャンネル整理と情報の検索の簡易化により生産性の向上や従業員の負荷軽減も期待できると思い、このシステムを開発しました。

開発したもの

 全パブリックチャンネルのうち、1年以上メッセージの更新がないチャンネルをアーカイブにするものです。最終更新日の取得ができないため、1年分のSlackチャンネルデータをエクスポートし、エクスポートデータが無いチャンネルを削除対象としています。
 システムの概要としては、全パブリックチャンネルをGASを使って作成し、非アーカイブ対象の一覧もBashで一覧化を行います。そしてスプレットシートにデータを貼り付け、関数を使って特定を行います。つまり、
アーカイブ対象チャンネル=(全パブリックチャンネル)-(非アーカイブチャンネル)
として実現しました。そして最後にSlack APIアーカイブ対象のチャンネルIDを引き渡し実行を行います。

今後の展望

 アーカイブ処理の実装とアーカイブ対象チャンネルの抽出を完全自動化していきたいです。また、運用方法も考えていかないといけません。


3チームとも二日間お疲れ様でした!今回のハッカソンでは下にある記事で内容をまとめています。興味のある方は是非みてください。

まとめ

 初開催で3チームともプロダクトの開発をすることができ、まさにマラソンで走り切ってくれました!今後もできたプロダクトの概略を載せていき、詳しい成果物は参加者の方に書いていってもらおうと思っています。ハッカソンの運営面でも注意点などは下の記事にまとめています。 cuebic.hatenablog.com
これからは社外や大学生など、社内以外も巻き込んだハッカソンを行えるように企画しています。最後までご視聴ありがとうございました!

herp.careers