はじめに
今回、サポーターズさんのハッカソンにTEAM_真水として参加させていただきました!
テーマは「開発を効率化するアプリケーション」でした。
私事ですが賞もとれていないですが初めてのハッカソン参加でいろいろ感じたことを伝えたいなと思い、書かせていただきました。
アジェンダ
何を作ったか
Baby Step Up
なにか決めたモノゴトに手を付けるまでの行動を支援するアプリです!
フロントはFlutterでバックエンドはRuby on Railsで開発しました。
開発における問題点
開発を効率化するために挙げられる問題点として進捗の管理や人のコードがよめないとかいろいろあると思いますが、まず開発をはじめるのに時間がかかりませんか?
ちょっと布団から出れなかったり、PCを開いたもののYouTubeを見てしまったりとかあるあるですよね~
そんな時間を減らして開発に向き合う時間を増やせたら当然効率化につながりますよね!
ということでこのアプリを作りました。
アイコン
どうでもいいですが自分でアイコンを作りました。
かわいい^^
スライド
当日の発表スライドです!
よかったら見てみてください!
開発フロー
人数も二人と少なかったのでバチバチにアジャイルで開発しました。
手を動かすまで
アイデア出しが終わった後の流れとしては以下のようになります。
- 何の機能が必要かの案出し、整理(要件定義,機能設計)
- データ設計、ER図の作成
- 担当を分けて手を動かす
結構自然にこの流れができたのでめちゃくちゃよかったです!
挑戦
サポーターズさんから挑戦をしてほしい、とのことで自分の中でちょっとした挑戦ではなくやったことがないことをやろう!
ということで freezed + state_notifier + riverpod で状態管理をする手法をとってみました。
バックエンドの @mukusuke421 はRailsという保険もやるけどgo + ginで挑戦することにしました。
コーディング
保険もかねたRailsでAPIをサクッと作ってもらいそれをMock扱いして開発していきました。
しかしながら大した知識もなくやり始めたのでかなり難しい挑戦となりました。
ここで複数のリスト的なものは取得できたけどid指定の単独なものを取得できないみたいな悲しいことが起こってしまいました。。。
なのでそういうところは現在では古典的であろう FutureBuilder でごり押しました笑
苦労した点・ハッカソン初心者に向けて
苦労したところしかなかったのでハッカソン初心者には注意してほしいことがいっぱいあります。
事前準備がOKならしっかり準備しておけ
すでにチームができていてテーマも発表されている場合に限りますが、アイデアだし自体は前もってやっていていいと思います。
あとは本番発表するようのアプリではないテストアプリでやり方を学んでおくべきです。
きちんといつから開発していいかはルールにのっとりましょうね!
扱う技術についての勉強をしておこう
私はクリーンアーキテクチャに則ってやればいいんだなあ的な意識があったのでちょっと時間はかかりつつも流れを理解できたのでいいのですが、例えば Rails を使うならMVCってなに?くらいの理解はしておきましょう。
意識があるくらいではついていけないところが出てきてしまいました。。。
スケジュールをしっかりたてよう
これが一番大事かもです。
きちんと寝て、きちんと開発をしましょう。
一人でやっているならいいんですが、あくまでチームです。
一人ではなくチームだからこそ軌道修正が難しいのでスケジュールはしっかりたてましょう。
あとは私みたいに2徹しましたみたいになると口内炎いっぱいできます。
軌道修正がむずかしいのになんでチームっていいの?みたいな話はここじゃないところでしたいと思います。
感想
ハッカソン自体はめちゃくちゃ楽しかったです!
あんま思いつきもないので技育展には出ない予定なのですが、今後もこういうことをやっていきたいとは思いました!
あとは就職してからもこういうのにかかわっていけると楽しそうです!
楽しいことの裏には辛いことも当然あるのですがやり方次第で乗り越えられるものなのでハッカソンに参加したい人は徹夜して口内炎にならないように頑張ってください!
あとは、ハッカソンに参加するならやっぱりチームみんなで頑張れるといいです!
ちなみに舌の横側と下の歯の歯茎の裏と上唇の裏側の3か所に口内炎ができました。。。
舌にできた口内炎がバカ痛すぎてしんどいです。。。
あとがきみたいなものですが、NUTMEGという団体名をもっと広められると嬉しいです。
サポーターズさん、ハッカソンに出させていただいてありがとうございました!
また、ハッカソンに関してでも開発に関してでもコメントや質問くださるとうれしいです!