この記事を書いた経緯
こんにちは、初心者学生エンジニアのyuhcanです。
6月の初ハッカソンから何回かハッカソンに出場しその際、こうしてよかったな〜と思ったり、逆にこうしておけばもっと楽だったな〜と思うことがあったのでまとめていこうと思います。
技育ハッカソンなどに一人で参加で、かつリモートで参加するような同じ学生の参考になったら嬉しいです!
エンドポイントは決める!
ハッカソンに出場し、何を作るかを決め、いざ実装!となったときにおそらく初対面チームの場合はフロント、バックエンドを完全に分けるのではないでしょうか?(コンフリクトを避けるためなどで)
その際、このapiを叩いたときにこの処理をする、ということが決まっていないとかなりギリギリまでふんわりと進んでしまい、後からかなりめんどくさいことになります、、、(体験済み)
例えば、/api/about でGETして一覧を取得するということをフロント側の人がなんとなくであまり決めずに作成していた時、同時にバックエンドは/api/aboutで他の処理を書いていた
ということが起こってしまい後からの修正が結構めんどくさくなってしまう可能性があります。
そのようなことを避けるためにも初めから大体の設計を決めたり、また思っているだけにとどめず相談することも大事だと思います。(自分もそうだけど)
ブランチ名などGitHubの使い方は統一する!
これ、めっちゃ大事です。
特に初めてのチーム開発の場合、今まではコミットは全部mainでそのままpushというのが大体だと思います。
しかしチーム開発でこれをすると最悪数時間の努力を全て消し去る可能性があります、、、。
なので、とりあえずの簡単な考え方としてmainにはpushしない。
mainは全てのpushの集合体で、自分はmainからブランチを切ってpushしたものを後からmainに追加する。
という考え方で進めると最悪の事故は避けられるかなと思います!
ブランチ名としては、
自分の名前/自分のやること
と統一するとブランチ名でチーム全員が何をしているかがわかるのでおすすめです!
また、以下にとりあえずこれのようなコマンドで進めれば大丈夫かなというコマンド例を書くので参考にしていただきたいです!
git clone リポジトリ
git pull origin main
git checkout -b 自分の名前/自分のすること
//開発する
git add .
git commit -m "開発内容"
git push origin 自分の名前/自分のすること
//プルリクエストを作ってマージする、そして次の開発
git checkout main
git pull origin main
git checkout -b 自分の名前/自分のすること
....
このような流れでとりあえず大丈夫かなと思います。
またこの流れはチームによって違うかもしれないので相談しながら進めてください!
discordとgithubのリポジトリを繋げる!
おそらくチーム開発をする場合、discordで開発することが一番多いと思います。
そのときにgithub用のチャンネルを作成してチーム全員のcommitを通知で確認できるようになるとかなり便利だと思います!
なので以下からはその導入方法を解説していきます!
また、これはチャンネルの管理者権限でないと設定できないのでそこは注意してください。
次にgithubの設定です。
githubの選択したいリモートリポジトリ→setting→webhook→add webhook
最後にwebhookの設定で先ほどのURLをペーストして、URLの末尾に/githubを追加
→connect typeをapplication/jsonに変更
この設定でgithubのpush内容がチャンネルに作成されて確認することができます!
最後に
かなり当たり前だろ!みたいな内容ですがかなり大事なことだと思ってます。
また分からないままずっと止まっていると一日の進捗0みたいなことも起こりうるので、とりあえず聞く、相談する、単純だけどめっちゃ大事だと思ってます。
自分ももっとハッカソンに出たいと思っているので日々キャッチアップし続けて行きます!
何か間違っていることがありましたら教えてください!