HAMADAの語り草

興味のある技術のアウトプットをしたいと思います

学祭ハッカソンに参加した記録

はじめに

会津大学学部三年のHAMADAです。ブログを今年は頑張ると言ってずいぶん経ってしまいました。今回は、会津大学の蒼翔祭でハッカソンに参加したのでその振り返りをしたいと思います。記録としての側面が強いです。もし興味があれば、ご一読いただけると嬉しいです。

参加の経緯とメンバー集め

今まで色々ハッカソンには参加してきましたが、先輩方にお誘いいただいて参加することが多かったので、同級生や後輩を誘って開発をしてみたいということで、それにちなんだメンバーとハッカソンに参加しました。メンバーは、普段一緒にソフトテニスをやっている三年生の@M9oKp@wai_1002、フレッシュな一年生の@BurariHina524です。

ハッカソンの募集は夏休み前ごろで、当時学び始めていたJetpackComposeを使いたかったので、モバイルのアプリケーションが作りたいなと漠然と思っていました。三年生の二人に声をかけたところ快諾してくれました。@BurariHina524は、新入生向けの学内ハッカソンの際に、学祭ハッカソンの話をしていたことを覚えていてくれて、一緒に開発することとなりました。

開発内容の決定

今回のハッカソンのテーマは『会津をより良く、より便利に』ということで、初回のMTGでアイデア出しをした結果、高齢者や学生の移動の不便さを解決するようなプロダクトを作るという結論に辿り着き、ライドシェアアプリ『ATSUMARE』を作成することになりました。今回は、他のメンバーの技術スタックや興味、アプリケーションのプラットフォーム適正を考えて、モバイルアプリケーションを作ることに決定しました。

このアプリで解決したいこと

前述したように、会津若松市では高齢者や学生の移動の不便さが存在します。雪の季節には、車を持っていなければ、徒歩で移動するか公共交通機関を使うほかありません。そこで、目的地を共有する者同士でライドシェアすることでこの不便さを解消したいと考えました。また、地域の住民の方とお話をさせていただく中で、”会津大学の存在はもちろん知っているが、具体的に何をしているのかはよく知らない”というお話を耳にします。私自身も、住民の方のこと会津のことに関して、知らないことがたくさんあります。地域とのつながりを強くしお互いについて知ることで、より良い会津生活が送れるようになるのでは?と考えました。

使用技術の決定

今回はモバイルアプリケーションを作るということが決定したので、@wai_1002がSwiftUIを学んでいることと、私自身がJetpackComposeを学んでいることから、敢えてiOSAndroidを分けて実装することにしました。(FlutterやKMMも選択肢としてもちろんありましたが、学びたい技術を使用することもハッカソンの醍醐味だということで….)

また、バックエンド部分は私が触りやすいという安直な理由で、GoでGraphQLサーバーを実装しDynamoDBでデータの管理をすることにしました。

細かい技術の実装については、また別に記事にまとめたいと思います。

期間中にできたもの

アーキテクチャ

アプリロゴ

@BurariHina524が実装してくれました。

モバイルの画面

@wai_1002が実装してくれました。

バックエンド

GoでGraphQLサーバーを実装しました。乗客を集める際の要項を登録できるようにしたり、乗客がクリックした募集の内容を持って来ることができるようにしました。また、乗客が入力した名前や要望を、それに対応する募集のDBにリストとして登録できるようにしました。ドライバーが乗客のリストを取得するというところまでは、実装が間に合いませんでした。

デモ

youtu.be

反省点

今回は、チームリーダーとしてハッカソンに参加させていただきました。iOSAndroidを分けるという方法をとったことで、UIやロジックの共有がうまくいかなかったところが一番の反省です。特に、iOS側のメンバーに対してバックエンドでどのようなことをしているのか、適宜共有できていなかったことが悔やまれます。一方で、チームメンバーの理解がとても早く、チーム開発自体は円滑に進んだと感じています。私自身としましては、月並みではありますが、A-PxLでの活動や今までのチーム開発でのgitを使った経験を活かし、チームメンバーをサポートできたことは一つ嬉しい瞬間でした。また、チーム開発としての旨味を出すために、どのようにタスクを振るのか、どこまで自分が実装するべきかなど、今まであまり意識しなかったことを考えるきっかけにでき、一つ成長できたように思います。

今までのハッカソンでは、先輩方にたくさん助けていただきながらの実装が多く、全体を俯瞰してアプリケーションを実装するという経験がありませんでした。その結果、今回のハッカソンではガバガバな設計をしてしまい、後半かなり苦しむことになりました。皮肉にも去年の学祭ハッカソンでは、クリーンアーキテクチャを用いた開発をしていたので、先輩方の偉大さを痛感しました。今後は、設計について意欲的に学びたいと考えています。

反省は非常に多いですが、チームメンバーと楽しく開発できたことが一番大きな収穫です!一緒に開発してくれてありがとう!

反省を活かして、これからも精進したいと思います! ここまで読んでいただきありがとうございます!

所属サークル

https://twitter.com/aizu_PxL

私のTwitter

https://twitter.com/AHMOS_HMD

私のgithub

ahmos0 (HAMADA) · GitHub