항해99 6주차 WIL
처음으로 백엔드와 협업해서 프로젝트를 만들었던 주간이다.
주제는 뉴스레터였고, 간단한 crud를 구현하면 되는 줄 알았으나 2가지의 기능을 더 추가했는데
1. 관리자만 글을 작성할 수 있음(일반 유저는 조회만 가능)
2. 이미지 파일 업로드
생각보다 관리자를 분리하는 로직짜기가 어려웠다.
팀원들이 각자 다양한 의견을 내보았고 매니저님들의 의견도 들어보고 나는 지인한테까지 물어 어떤 방법이 좋을까 찾아봤다.
수많은 의견 끝에 서버측에서 어드민 계정을 만들어 우리에게 알려주고, 유저 정보 조회 API를 추가했다.
결론만 놓고보면 쉬운 로직이지만 이 결론까지 도달하기가 참 어려웠던 것 같다.
이미지 파일 업로드도 formData 형식으로 보내야했는데,
보내본 적이 없어 알맞게 보내고 있는가도 헷갈렸다.
500에러가 나서 서버측 잘못인가싶어 팀원 모두 머리 맞대고 하나하나 찾아가며 결국엔 200엔딩✨
api가 다 배포되고 나는 프론트 2분이 코드를 머지해주셔야 내가 작업할 수 있는 상황이었는데,
다른 조원이 머지했더니 깃이 좀 빡세게 충돌이 나서 깃헙으로 충돌해결을 못하는 상황이었다.
rebase를 해야하는 상황이어서 늦은 밤이기도 하고 너무 막막했는데 깃을 잘 다루셨던 다른 조 수강생분이 기꺼이 도와주셔서 2시간 걸려 해결했다.
여기서 배운 점
1. 협업 시 main, develop 브랜치는 직접 건들지 말자. 각자 feature브랜치를 파서 작업한 후 머지할 것
2. pull을 생활화하자
3. pull을 받은 후 에러가 났다면 무조건 상황공유를 하고 팀원들 모두 같이 해결할 것. 혼자 판단하고 작업하면 안 된다.
여러 우여곡절을 겪고 순항하나 싶었지만 또 알 수 없는 cors 에러가 났다.
우리의 게시글 작성은
1. 파일을 선택하면 post요청을 보낸다.
2. 이미지 url을 스트링 타입으로 응답받는다.
3. 제목, 카테고리, url, 내용을 담아 게시글 post 요청을 보낸다.
이 흐름이었는데 같은 url임에도 불구하고 이미지는 200 전체 내용은 cors 에러가 났다.
도저히 해결이 안 돼서 서버 매니저님과 함께 해결하다 해결점이 안 보여 프론트 매니저님까지 합세해서 해결하기까지 5시간이 걸렸다.
백엔드 측 코드라 자세히는 모르겠지만 얼추 헤더의 문제였다고 하셨던 것 같다.
팀원들 모두가 친절하고 소통을 굉장히 잘했던 분들이어서 코드에 어려움이 있어도 함께 힘을 합쳐 금방 해결했던 것 같다.
문제 해결에 다들 두려움 없이 잘 참여해주셔서 너무 감사했다.
프로젝트 시작 전에는 어떻게 협업을 해야하나 너무 막막했는데
막상 좋은 분들과 협업해보니 재밌기도 하고 뿌듯하기도 하고 조금은 두려움이 사라졌던 시간이었다.