公立はこだて未来大学で行われた学内ハッカソン、p2Hacksに参加しましたので参加記を残します。
Twitterのハッシュタグは #p2hacks,12/7にアイディアソンが、12/14-15に開発&発表会が行われました。
ハッカソンのテーマは 🎄クリスマス🎄.
3日分は一気に書ききれないため、1日目を今回書こうと思います。
作ったプロダクト “Santa EMP System”の紹介スライドはこちら
ログイン
自分らのチームは全員がB1でぼく(Atria)、ゆひ(@yuhi_dosei)、たつお(@i4mwh4ti4m)、あわあわくん(@materialofmouse)の4人編成。チーム名は普段使ってるDiscordサーバーの名前から”よわよわ”になりました。
そして全員が初ハッカソン。前日は楽しみで眠れませんでした。
班編成は
- フロントエンド
- あとりあ(内部実装寄り)
- ゆひ(UIなどの実装寄り)
- バックエンド
- たつお(APIサーバなど)
- あわあわくん(サーバとかRaspberry Pi、電子工作など)
という形を取ることにしました。
出てきたアイディア
自分らのチームでは「真面目なもの作っても面白くないよね」という理念のもと、ちょっとおかしなものを作ろうということになりました。
テーマはクリスマス🎄ということで、様々な話し合いの結果出てきたプロダクトのアイディアは
「サンタがプレゼントを配るのを支援するために、プレゼントを配る対象の家のブレーカーを落とし、部屋を強制的に暗くすることによって侵入を容易にする」
これが僕らのプロダクトなのか。
使用した技術(フロント)
今回自分はフロントエンド班に属し、モバイルアプリケーションの制作を担当しました。
もともと自分はAndroid開発においてC#のXamarin.Androidをメインで開発し、たまにJavaで書いていました。
しかし今回はチーム開発ということもあって、一度も触ったことのないKotlinで開発を進めることにしました。
普段触らない言語を触るというのはなかなか楽しいものです。
バックエンド側ではPythonを使いサーバーを立て、Raspberry Piを用いてブレーカーを落とすギミックを実装していたようです。
正直なところ詳細な部分は把握できていません。
バックエンド担当してくれた二人のどちらかがブログを書いてくれることを願います。
GitHubで遊び始める
さて、アイディアソンが始まると同時に自分らの班はGitHubを使って遊び始めました🤔
お腹が空いたときのためのissueタグ「HAREHERI(ハラヘリではない)」もあわあわくんの手によって実装されました。酷い。
お昼休憩
お昼はp2hacksの運営からラッキーピエロのチャイニーズチキンのり弁が配布されました。
チャイニーズチキンのり弁はボリュームがあって美味しくて最高でした!
でも、たつおくんにはちょっと辛かったみたいです。
アイディア出し、要件定義の再開
後半からは真面目に要件定義を行いました。
ユーザーストーリーから必要とされる機能を洗い出し、どの機能が重要かを話し合いました。
アイディアをまとめる為に運営から頂いた付箋を用い、アイディアを列挙した後に体系的に情報をまとめていきました。

そして出てきたタスクを割り振りながらissueに落とし込みます。

モバイルアプリとサーバー間の通信手段についても話し合い、GitHubのWikiを更新していきました。

チーム全体の進捗管理にはGitHub Project を用いました。

結局この日は上流工程を行うのみで終了しました。
当時は「ちょっとスピードが足りないのではないか」などと考えていましたが、今考えると大正解です。
ここで行ったドキュメンテーションなどは、開発終盤で大きな効力を発揮してくることになります。
開発終盤で疲れ、自分が何をすべきなのかを見失った時にドキュメンテーションに助けられ、自分は初めて上流工程の重要性を身を持って感じます。
1日目で学んだこと
一日目に学んだことはこんな感じ
- 上流工程は大変
- ユーザーストーリーを考えたり、データ構造を考えたり、Wikiに書いたり…
- コーディングとはまた違った頭の使い方をする。疲れる。
- GitHubはめちゃめちゃ便利
- 自由度がとても高い。issueを乱立して遊ぶことでコミュニケーションを図ることもできる。
- GitHubプロジェクトのカンバンが使いやすいんじゃ…
- アイディアを出すときには付箋が便利
- 位置を移動できるので体系化が容易
- アイディアを出す時は何も考えずにポンポン書けばいい
- ハッカソン楽しいかも…?(気づき始める)