feature image

2024年7月11日 | ブログ記事

2024年度春ハッカソン 10班

この記事は6/15 ~ 6/16に部内で開催されたハッカソンの振り返り記事です。

メンバー

@pirosiki 23B チームリーダー、バックエンド
@noc7t 22B フロントエンド
@jippo 22B バックエンド
@Luftalian 22B バックエンド
@ogu_kazemiya 23B フロントエンド
@pippi0057 23B フロントエンド

円滑にスッと最高に日程調整ができるWebアプリ「すっケジュール」

今回私たちのチームで作成したのは、円滑にスッと最高に日程調整ができるWebアプリ「すっケジュール」です。

日程調整したいイベントができたら、イベントを作成します。traPのユーザーや、traQにすでにあるグループでの招待ができるようにしました。

日程の選択も簡単にできるように工夫しました。

イベントが作成されると、traQ上で参加者のグループを自動で作成してくれます。これにより、参加者への連絡などを楽に行うことができます。

部員のみですが、以下のURLからアプリを利用することができます。
https://h24s10.trap.show/

使用技術・実装

GitHubリポジトリは以下で公開しています。
https://github.com/traP-jp/h24s_10

フロントエンド

基本はVue + ViteのSPAで作りました。これはtraP内で一般的な技術でtraQなどでも使われている構成です。
これに加えてUIフレームワークとしてVuetifyを、通信のライブラリとしてTanstack Queryを、アイコン画像のキャッシュなどを実現するためにVite PWAを使用しました。
pirosikiくんがOpenAPI定義を書いてくれていたので、そこからコードを自動生成するためにorvalというツールを使いました。
デプロイはバックエンドと同様にNeoShowcaseを使いました。

バックエンド

バックエンドはtraPで最も使われているGo言語で実装しました。フレームワークとしてはEchoを使用し、oapi-codegenでOpenAPIからGoのコードの生成を行っています。
Dockerコンテナにして部内PaaSのNeoShowcaseにデプロイしました。
分担して実装がしやすいような構成になるように気を付けました。

準備期間

今回のハッカソンのお題は「さい」「えん」「す」で、これらをヒントに作るものを決めていきました。案を出していく中で、「えん」から「宴」を連想し、集まってご飯を食べるときにtraQ上のメッセージのみで日程調整をするのはつらいという意見が出て、そこから日程調整アプリを作ることに決めました。

開発に慣れていないメンバーもいたため、開発の流れや、Gitの使い方、GitHubでのプルリクエストの出し方などを練習しました。

当日

当日は事前に考えてきた機能を分担して実装を進めていきました。すべてスムーズにとはいきませんでしたが、最終的にはなんとかある程度の機能を実装しきることができました。

そして結果発表
今回のハッカソンの協賛をしていただいたEngineer Guildさんから、Engineer Guild賞をいただきました!現実の問題にうまく対処していること、traQのグループを作れるという点を評価してもらえました。うれしかったです。

感想

pirosiki

チームのリーダーと、バックエンドを担当しました。リーダーは初めての経験で、慣れていないことばかりでしたが、なんとか作品にすることができてよかったです。バックエンドに関しては、設計を考えるのが遅くなってしまったのを反省しています。もっとはやくから準備しておけばよかった... ただ、制作期間内でチームでうまく分担しながら、実装しきることができたのは本当に良かったです。

noc7t

VuetifyやVite PWA、Tanstack Queryなどの導入を自力で行ったことがなかったのでいい経験になりました。ただ、その導入に少し手間取って最初の方に他のフロントエンドのメンバーに暇な時間を作らせてしまったので、事前に技術選定をして導入の練習をしておくべきでした。
あと、OpenAPIの定義が途中まで完成していなくて、APIがどうなっているかなどについての余計なコミュニケーションが必要になってしまったのでもっと早く作っておくべきだったと思います。

jippo

バックエンドを触るのは初めてでわからないことだらけでしたが、pirosiki君とLuftalian君のおかげで楽しく開発することができました。
ありがとうございました!

pippi0057

フロントエンドは今回が初めてでしたが、ノクナートンさんの助けもあり、形にすることが出来て達成感がありました。とても楽しかったです。

ogu_kazemiya

フロントエンドを担当しました。終始ノクナートンさんに頼りきりでしたが、実際に開発する過程でコードを読んだり書いたりできてとても勉強になりました。

Luftalian

バックエンドを担当しました。アーキテクチャの設計の際、短期間での開発で初心者にもわかりやすい構成にするために、pirosikiくんと相談しました。実際の開発時には、初心者だったjippoさんにも比較的多くのコードを書いてもらうことができ、目的通りに進められたことは非常に良かったです。一方で、必要な機能、画面のイメージ、API設計についてフロントエンドと十分に連携が取れず、作業がぎりぎりになってしまったことは反省点です。それでも、メンバー間で分担ができ、時間内にWebアプリを完成させられたことは良かったです。

pirosiki icon
この記事を書いた人
pirosiki

23B。SysAd班でがんばってます

noc7t icon
この記事を書いた人
noc7t

Luftalian icon
この記事を書いた人
Luftalian

jippo icon
この記事を書いた人
jippo

22B 情報通信系 絵を描いてます。Webが難しくて低レイヤーに興味を持ち始めた

ogu_kazemiya icon
この記事を書いた人
ogu_kazemiya

パソコン初心者を脱却したい

pippi0057 icon
この記事を書いた人
pippi0057

アルゴ班とSysAd班に入ってます

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2023年12月11日
DIGI-CON HACKATHON 2023『Mikage』
toshi00 icon toshi00
2024年6月21日
ハッカソン参加記 4班"Slide Center"
Alt--er icon Alt--er
2023年7月15日
2023 春ハッカソン 06班 stamProlog
H1rono_K icon H1rono_K
2024年5月8日
2023 春ハッカソン 10班 『「」か』
Kasyu icon Kasyu
2024年1月16日
2023年冬ハッカソン参加記 チーム2 20%電電 "Orbit"
onkyi icon onkyi
2023年6月23日
2023 春ハッカソン 26班 『traP Mission』
Ras icon Ras
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記