初めてチーム開発をした感想
初めてチーム開発を行ったので、その感想を書こうと思います。
皆様がチーム開発を行う際の参考になれば幸いです。
「自分たちの役に立つものを開発せよ」というお題でチーム開発をスタートさせました。チーム内で協議した結果「Tmatter(詰まったー)」というアプリを開発することが決まりました。このアプリは、学習記録をデータベースに保存することができ、検索によって素早く過去の学習履歴を取り出すことができます。
また、データベース上にある過去の学習履歴だけでなく、QiitaAPIを用いた情報取得も行い、始めて詰まった箇所でも対応できるアプリを目指しました。
担当箇所
自分が担当した個所は、検索画面の作成(HTML,CSS,JavaScript)とQiitaAPIを用いてQiita情報を取得しJavaScriptのDOM操作で表示させました。
検索画面では以下のような画面を作成しました。
検索ボタンと検索結果の表示領域を配置しました。
開発で悩んだところは
HTMLのformだけでは必要な情報を詰め込んだGET送信ができなかった(#Rubyなどの選択されたタグが特に...)ため、JavaScriptのaxiosを使ってサーバーにGET送信を送りました。
そこで、CORSエラーというエラーが発生しました。このエラーはウェブブラウザーのセキュリティ制限の一種で異なるオリジン(異なるドメイン、プロトコル、ポート)からのリソースへのアクセスを制限する仕組みです。Rubyでローカルサーバーを立て、GET送信をしていたのですが、送信元と送信先のドメインが異なるためエラーになりました。
ドメインを合わせるためにVS Codeの「Live Server」を使用してGET送信しました。
チーム開発を実感したところ
実は同じ開発メンバーが先ほどのCORSエラーに陥っており、情報を共有してもらうことで素早く解決できました。自分一人だけではドメインを合わせる方法を探すためにもっと時間を費やしていたと思いますし、開発を投げ出していたかもしれません。
※余談ですが、JavaScriptのaxiosでCORSエラーを回避できるみたいなので別途確認しておきます。
その他にも、
Dockerによる環境構築やGitHubでのコードの共有は個人開発では経験できないことがたくさんありました。例えば、GitHubでブランチを切って開発していたのですが、mainブランチとfeatureブランチの差が大きくなりすぎてしまい、コンフリクトが大量発生しました。
その際もチームメンバーのコードには目を通していなかったため、コードを見たときに目的をすぐに理解できなかったです。GitHubのプルリクエストを許可する段階でしかっりとメンバーのコードを確認して理解して、マージ許可をするべきでした。
まとめ
チーム開発ではコミュニケーションがとても大切だなと実感しました。各メンバーが各担当の部分のコードを要件通りに作成し結合したら完成ではなく、詳細な部分までの認識合わせが重要なことを学びました。
また、最終的に作成したアプリも実用までには足りない機能があることを知りました。
ユーザが満足するアプリを作るためには、CSSで見た目を整えることに特化した人、バックエンドの処理が得意な人、プロジェクト全体をうまく管理する人。様々は人の個性をうまく掛け合わせることで達成できるのではないかと思いました。
以上です、最後まで読んで頂きありがとうございました。