見出し画像

2022 Dev Summer Camp(合宿)

合宿!!!

半年に一度開発合宿をやっております。
今回は、トスラブ館山にて開発合宿を行いました。
エンジニア合宿なので、チーム部署の垣根は超えての初合宿となりました。

今回の合宿の開発物について

チーム開発でアプリorゲームの開発(アプリの種類は問わない。web, mobile, desktop…)
今までは個人開発がメインでしたが、今回は人数が増えたこともあり、
チーム開発を合宿でやることにしました。

初の試みですが、4チームに分けて事前に作るものをそれぞれのチームで決定し、
合宿中に制作物を完成させるように分担して開発していきました。

開発前の仕様

Aチーム

製作物:
うさぎの2Dアクションゲーム
説明:
うさぎ「eve」を操作して、好物の野菜をゲットしてスコアを競うゲームです。 ステージが変わる度、ライバルうさぎ「jugem」が出現してeveの邪魔をしてくるので、うまく避けながら野菜をゲットしていく必要があります。
うさぎのゲームにしたモチベーションは、うさぎ好きなメンバがいたことです。当初はたまごっちのようなうさぎの育成ゲームを作成する予定でしたが、製作を進める中で2Dアクションゲームに変更しました。
効率よく作業を進めるため、メンバで議論し、スター数の多いphaser を使用することにしました。

言語:
 HTML + JavaScript

ライブラリ:
 phaser

Bチーム

ボタン1つでJIRAチケットへ作業時間を記録できるデスクトップアプリ
開発部のメンバーも増え、工数管理も細かくなってきているフクロウラボ。管理は大事だけれど作業時間を記録しておいて、後々登録するのはそれなりに手間です。そこでBチームではボタン1つで作業時間を記録 & 登録ができるデスクトップアプリを作成することにしました。 

バックエンドはGoを採用し、Wailsというフレームワークを用いました。
またフロントエンドはチーム全員が触ったことのあるVue3を選びました。

Cチーム

スプレッドシートで管理している社内書籍の貸し出し機能を、アプリケーション化する取り組みをしました。
また、延滞している人にはSlack通知がされるようにしました。
Backend、Frontend、DBでチーム内で役割分担をしました。
色々勉強になったのですが、特にnotionでのDB作成は初めてだったので、勉強になりました。

BackendGo
FrontendNext.js Typescript
DBnotion

Dチーム

Dチームは「食べにいく場所ルーレットアプリ」を作成することにしました。
このアプリはオフィス近辺にある、飲食店をGoogleMapAPIで取得し、ランダムに表示するものです。
メッセージの送信はLambdaを用いて行いました。


合宿スケジュール

以下のスケジュールにて行いました!

バスタ新宿

朝、バスタ新宿に集合してバスで館山駅まで向かいます!


館山駅

バスに揺られて館山駅到着直後です。
送迎バスが車で1時間程度の自由時間があったので各々買い出しに行ったり、食べ物を食べたりして自由に過ごしました。



到着&ランチ

トスラブ館山到着後、早速チェックインして昼食を取りました!
見晴らしもよく、芝生も広かったりといつもと違った自由で広々とした環境での開発となります。


開発

ランチの後は、机をセッティングして各々のチームでの開発となります。残念ながら参加できなかったメンバはリモートでの参戦となります。


夕飯

開発をひと段落終えて、夕飯と娯楽です。
リモートなことも多いため一同会しての食事は久しぶりでした。
トスラブ館山の美味しいご飯と楽しいひと時を過ごしました。


交流

ホテル・温泉とくれば卓球!

卓球設備があったので、交流もかねて勝負しました!


モルック!!

フクロウラボで今、流行っている(?)遊びもるっくを休憩がてらみんなでやりました!
よく分からないと思いますが、木のピンでやるボーリングだと思うとわかりやすいかもしれません。
違うポイントは、ピンごとにポイントが決まっているので
倒すピン定めることが大事になってきます。

こちらも6チームに分かれて対戦しました!!

成果物(実際にできたものの紹介)

Aチーム

うさぎの2Dアクションゲームが完成しました!
1日目にゲームの土台を作成し、2日目に「BGMの追加、難易度設定、スタート画面、エンドロール」などブラッシュアップしていきました。Phaser を使用したことで、クリエイティブな作業に集中することができました。スタート画面は一押しです!!🐰🐰

スタート画面
ゲーム画面

Bチーム

機能を凝ったので時間ギリギリまで実装を行い、なんとか完成させました。
まずアプリ初回起動時はメールアドレスとJIRAのトークン入力フォームが現れます。
これらを設定すると個人のJIRAアカウントとアプリの連携が完了します。

続いてメイン画面に移ります。
メイン画面では「自分にアサインされている」かつ「完了していない」JIRAチケットが一覧で表示されます。

マウスオーバー時に「Record Start」の文字が表示されるためこれをクリックすると指定したIssueの計測が開始されます。
再度クリックすると計測が終了され、計測時間がJIRAのTimeTrackingに自動で記録されます。

Cチーム

backendでnotionのDBの内容をFrontendにわたす機能が間に合わず、残念ながら完成しませんでした。

社内書籍の貸し出し一覧

ちなみにSlackの延滞者への通知機能は完成しました。

Slack通知

Dチーム

想定通りの構成で完成しました!
- GoogleMap APIの仕様把握+リクエスト実装チーム
- Slack疎通+Lambda実装チームに分かれて、実装を行いました!
想定よりも早く実装が終わったので、
呼び出した際の名前に合わせてslackアイコンを変更したり、
serverless flameworkでの実装を行ったりと、追加の実装をしたりしました!

以下は呼び出した際のレスポンスです。


最後に

いかがでしたでしょうか?
フクロウラボでは継続的に、合宿を行い、コミュニケーションと技術力チーム力の向上を今後も図っていきたいと思います。

この記事が気に入ったらサポートをしてみませんか?