팀 프로젝트 기간 : 10월 28일 ~ 11월 22일
팀 프로젝트 이름 : WeTrekking
팀 프로젝트 설명 : 등산 크루원 모집
사실 회고를 1일차 부터 쓰고 싶었지만 1일차 부터 정신이 없고 바빠서 제대로 쓰지 못했다. 그래서 수료 후에 어느정도 여유가 생겼을 때 마지막 정리 회고라도 써보자 생각하여 적게되었다.
첫 만남 ~ 회의 ~ 첫 시작?(10월 28일~10월 30일)
이전 기수들의 팀 프로젝트 회고록이나 여러사항을 참고 하였는데 기획을 빨리 결정해야 시간에 안쫓긴다는 얘기가 많아서 팀 프로젝트OT가 끝나자마자 우리 팀원들은 바로 회의에 들어갔다.
일단 자기소개를 서로 하였고 서로 맡을 역할을 정하게 되었다. 나는 Git관리자가 되었고 바로 서로의 프로젝트 아이디어를 꺼내놓기 시작하였다. 우리 팀은 아이디어뱅크 였는지 많은 아이디어들이 나왔고 투표를 통하여 등산 동호회 모집이 선택되었다.
어떤 프로젝트를 할지 결정한 후 대충이나마 어떤 기능들이 들어갈지 정한 후 페이지 구성을 어떤 식으로 할지 회의를 하였으며 와이어프레임을 대충이나마 정하였다.
1주차 (10월 31일 ~ 11월 6일)
본격적으로 팀 프로젝트가 시작되는 날이였는데, 첫 회의 때 정했던 기획을 바탕으로 구체적으로 만들어가기 시작했다.
첫 주차인 만큼 팀의 규칙을 정하였다. 출근 시간은 언제로 할지, 코어타임은 몇시 부터 몇시 까지로 할지, 주말에는 어떻게 할 것인지? 그리고 Git 전략은 어떻게 할 것인지? 같은 여러가지 규칙들을 정하였다. 그리고 노션을 통하여 규칙들과 회의록을 작성하였다.
기획이 구체적으로 만들어져 가면서 프론트엔드 분들은 디자이너님과 연락하면서 디자인 방향에 대해 정하였고, 내가 속한 백엔드에서는 어떤 API들이 필요할지 의견을 나누며 지금 까지 나온 API들을 바탕으로 API Docs와 ERD 작업에 바로 들어갔다.
나는 API Docs 제작과 Git관리자를 맡았기 때문에 현재까지 나온 API들을 바탕으로 Docs제작을 하였고, Git 브랜치 전략을 정하였다. 내가 정한 브랜치 전략은 위험성이 높지만 쉬운 방법으로 정하였다.
ERD와 API Docs가 얼추 완성된 후 기본적인 CURD 작업에 들어갔다. 그리고 주 마다 한번 ~ 두번 정도 개발자분들께 점검을 받는데 우리 팀은 뼈아픈 점검들을 많이 받았다. 그리고 중요한점!!!!은 질문이 많아야 한다는 것이다.
나의 경우에는 유저쪽 CURD 작업을 하던 도중 점검 때 메인기능이 우선시 되어야 한다는 얘기를 듣게 되어서 등산로 API작업과 채팅 API를 맡게 되었는데......... 멘붕의 연속이였다.
2주차 (11월 7일 ~ 11월 13일)
2주차가 되고나서 부터는 기본적인 CURD들은 완성이 되었고 추가적인 API 작업들이 이루어졌다. 그리고 배포시작을 위한 세팅도 시작하였다. 목요일쯤부터는 프론트엔드 분들은 퍼블리싱 작업이 마무리되어 본격적으로 백엔드 API와의 기능연결이 시작되었다.
나의 경우 1주차 부터 등산로 API를 하는데 정말 멘탈붕괴가 많이 되었다. 공공데이터포털에 들어가서 오픈 API를 사용하려고 하였지만 사용방법이 정말 불친절 한데다가 좌표도 지오메트리 좌표를 사용해야 해서 코딩 공부보다 좌표 공부를 더 했던 기억이난다.....
이때는 정말 포기하고 싶을 정도로 힘이 들었다. 더군다나 1주차 점검 때 개발자분께서 3일동안만 붙자아보고 안되면 과감히 포기하라고 하셨는데 자존심 때문인지 포기할 수가 없없다.
2주차 점검 때 들었던 피드백으로는 2주차 까지는 프론트와 백엔드간의 기능이 연결이 완료되어야 한다는 것이었다.
2주차 쯤에는 각자의 API에서 오류도 많이 나왔지만 제일 문제는 우리를 언제나 괴롭히는 CORS 에러였다. 구글링도 해보고 이 방법, 저 방법 써봐도 해결이 안되어 정말 힘들었던 기억이 떠오른다.
3주차 (11월 14일 ~ 11월 20일)
발표 준비 하기 전 마지막 주인데 정말 바빴던 기억이 난다. 기능들을 연결하였는데 오류들도 많았고, 갑자기 추가 구현해야할 API가 생겨 새벽까지 작업해야하는 경우가 많았다.
나의 경우에는 채팅 API는 어찌저찌 돌아가게는 구현을 하였지만 역시나 제일 큰 문제는 등산로 API 였다. 우리 프로젝트의 제일 중요한 메인기능 이였지만 완성이 안되었다. 이때는 정말 포기해야하나 생각도 들었는데 어떻게 완성이 되어(이 부분은 따로 작성예정) 3주차 마무리를 할 수 있게 되었다.
마무리 (11월 21일 ~ 11월 22일)
결론
우리 팀이 어찌저찌해서 1등이라는 결과를 얻게 되었는데 모두가 열심히 노력한 결과인거 같다. 팀 프로젝트를 하면서 내가 얻은 교훈은 팀 프로젝트의 기획 즉, 얼마나 참신한가 이런 쪽도 중요하다지만 나의 생각은 다르다. 나는 개인적으로 백엔드니까 기능 쪽이 중요하다고 생각하는데 API를 만들면서 단순히 수업 때 배웠던 코드들을 전부 쓰는게 아니라 새로운 기능들 이나 다른식으로 코드를 짜보는게 중요하다고 생각한다. 그러면서 배우는점들이 많다고 생각한다.
그리고 팀 프로젝트를 하면서 배운점이 있는데 프론트엔드와 백엔드 사이에 협업의 중요성이였다. 팀 프로젝트를 하면서 마지막으로 갈수록 우리 쪽에서는 되는데 왜 저쪽에서는 안되지? 하는 생각도 많이 들었고 어떤식으로 결과값을 반환해줘야 하는지도 고민이 많이 되었다.
어쨋든 뒷 기수분들이 이 글을 보실지는 모르겠지만 화이팅입니다....!