728x90

팀협업 프로젝트를 하며 초반에 무슨 준비를 해야할지 고민이 많았다.

혼자서 프로젝트를 진행할때와 달리 나는 서버만 만들고 클라이언트 개발자, 기획자, 디자이너가 서로 분업을 하기 때문에 초반에 세팅에 관해 모를 분들을 위해 백엔드(서버)개발자의 관점에서 글을 정리한다.

 

1. 팀 협업 레포지토리 및 소통 수단 협의

-팀 협업 레포지토리

선택의 부분인데 따로 레포지토리를 파도 문제는 없지만 추후 공식적인 부분을 고려해 처음부터 organization으로 팀레포지토리를 만들어 서로 레포지토리를 공유한다.

 

GitHub에서 협업 용 단체(Organization) 만드는 방법

GitHub의 계정 종류는 크게 개인 계정과 단체(Organization) 계정으로 나뉩니다. 이 글에서는 단체 계정을 생성하고 단체에 속한 저장소 생성 방법을 소개합니다.

www.lainyzine.com

위의 블로그글을 보고 레포지토리를 파면 된다.

 

getitdeveloper

getitdeveloper has one repository available. Follow their code on GitHub.

github.com

나의 경우, 위와 같이 만들어 하나의 레포지토리안에 client와 server를 분리하여 만들어 뒀다. 이부분은 팀원끼리 협의를 하면된다.

 

-소통 수단 협의

전체적인 팀협업 진행률 같은 경우, 노션을 만들어 매주마다 회의록을 적었으며 그주차에 해당하는 목표치를 todo형식으로 만들어 서로 진행률을 체크하며 프로젝트를 진행한다. 그리고 slack을 많이 사용한다고 하는데 이부분은 서로 대화가 가능한 수단을 만들어야 하는것이기 때문에 카톡이든 따로 문제는 없으니 협의를 통해 결정하면된다.

 

2. api 서버 개설 및 인프라 구축

-api서버 개설

GCP, AWS와 같은 클라우드 서비스를 이용해 추후 배포할 서버를 먼저 개설한다. 여기서 중요한것은 로컬에서 진행은 API가 유효한지 테스트로 활용후 테스트가 통과되면 배포서버에 즉시 업데이트를 해줘야 클라이언트에서 바로바로 테스트가 가능하기 때문에 로컬-POSTMAN(자가 테스트) -> 배포 서버-클라이언트 개발자 순으로 자가테스트를 한후 클라이언트 개발자와 테스트를 진행하게 된다. 즉, 처음엔 NGINX와 같은 웹서버를 통해 본인의 프로젝트를 공유한뒤 SWAGGER와 같은 명세서 자동화 라이브러리를 활용하여 API명세서를 찍어준다. 

 

API 명세서 작성하기

라이징 프로그래머2의 4주차 과제 중 두번째인 API 명세서 작성을 진행해보았다. 직전 포스팅에서 REST API가 무엇인가, 에 대해서 공부를 하였다면 이번엔 직접 URI 및 요청과 응답, HTTP Method까지 모

velog.io

명세서는 들어갈내용이 API주소, request, response data내용등이다. 이부분은 클라이언트 개발자가 개발을 할때 타입을 지정해줘야하기 때문에 서로 협의를 통해 필요한 데이터를 결정하고 예시를 적어준다고 생각하면 된다. 위의 블로그를 참고하면 좋다.

 

-인프라 구축

개발을 본격적으로 들어가기전에 인프라구축의 경우 nginx, apache와 같은 웹서버를 통한 배포 https적용, DB서버, S3연동등 앞으로 개발간에 바뀌지 않을 부분등을 미리 설정해주는 편이 좋다. 중간에 DB가 바뀌면 많이 곤란한 상황이 생기니 DB서버먼저 연결을 잘해줘야하며, 웹 기반 프로젝트의 경우, 가장먼저 cors지정을 해줘야 클라이언트와 협업이 가능하니 이부분을 먼저 허용해주고, 앱 기반 프로젝트의 경우, 경험상 따로 지정을 해주지 않아도 문제는 없다. 그리고 https즉 인증서 적용의 경우, 요즘 보안상 필수이니 적용을 해주어야 하면 route53과 같은 서비스를 통해 도메인 까지 ip에 연결해주면 모든것은 끝난다.

 

3. 기획자와 디자이너

사실 개발 관련한 사항은 준비할점이 많지만 왠만하면 기획자, 디자이너 분들과는 많은 소통을 하며 최대한 맞춰주는것이 좋다. 개발 관련 지식은 모르면 구글링을 통해 왠만하면 도움을 얻을수 있지만 기획과 디자인 모두 상당한 스트레스를 요구하게 된다고 느꼈다. 그래서 왠만하면 협업 툴이나 회의 관련한 피드백은 최대한 맞춰주는것이 프로젝트 진행사항이 긍정적인 방향으로 흐를수 있는 방법이 아닐까?생각한다.

 

4.정리 (백엔드 개발자)

-레포지토리 개설

-배포시(s3,db,etc...)인증서를 적용한 배포

-클라이언트 개발자와 통신 확인(웹 기반 프로젝트의 경우, cors확인필수, 방화벽도 꼭 확인)

-api명세서 구체화

-기획자와 디자이너분들의 니즈 최대한 맞춰드리기!!

728x90

+ Recent posts