문제해결 및 일기장

코드스테이츠 2주 프로젝트 회고

he2mo 2021. 11. 23. 15:46

 

코드스테이츠 수업을 듣기 시작한 지 18주가 지났다.

이번에 4명이서 2주 동안 진행하는 팀 프로젝트를 진행하고 느꼈던 점들을 간략하게 적어보고자 한다.

 

 

프로젝트 진행 과정

 

프론트 2명 풀 스택 1명 백엔드 1명으로 역할을 나눴고 프로젝트에 대한 아이디어를 구상하는 것부터 시작했다. 주제를 정한 후엔 와이어프레임 및 DB 스키마를 작성하고 API 문서는 전체적으로 필요한 목록을 쭉 적어본 후 코드를 짜면서 세부적인 내용을 기입했다. 각자 코드를 작성하기 전에 프로젝트를 진행할 때는 배포부터 먼저 해서 helloworld를 띄워놓고 시작하는 게 좋다는 얘기를 들어서 다 같이 AWS를 이용한 배포부터 시작했다. DB는 RDS, 클라이언트는 S3, 서버는 EC2, 배포 자동화는 codebuild, codedeploy 서비스를 이용했다. 

 

배포 이후에는 각자 맡은 역할에 따라 코드를 작성하기 시작했다. 나는 백엔드를 맡아 express로 서버 기본 설정, sequelize의 migration 기능을 이용한 데이터베이스 환경 설정, express의 router를 사용하여 요청에 따른 라우팅을 해주고 코드를 작성했다. 인증 부분에서는 JWT 모듈을 사용하여 토큰을 쿠키로 발급하는 형식으로 했고 네이버와 카카오 소셜 로그인을 OAuth 2.0 으로 구현하였다.

 

 

오류 및 느낀 점

 

  • AWS를 이용한 배포자동화까지 진행하면서 생겼던 대부분의 문제들은 보안 그룹 설정에 관련된 부분이 많았고 문제를 해결하려고 이것저것 만지다가 인바운드 규칙과 아웃바운드 규칙을 반대로 설정해서 새로운 문제를 야기하는 경우도 있었다. 
  • sequelize를 사용하면서 model 관계설정과 foreign key 설정을 둘 다 진행해야 한다는 점을 숙지하지 못해 프로젝트 초반엔 include 옵션을 제대로 사용하지 못했다.
  • API에 대한 템플릿을 미리 작성하지않아 초반에 작성한 코드와 후반에 작성한 코드의 통일성이 없었다.
  • GET 요청에 많은 파라미터를 사용하여 서로 다른 GET 요청 사이에 충돌이 일어나는 경우가 있었다. 4주 차 프로젝트를 진행할 때는 GET 요청에 정보가 필요할 때는 파라미터 사용을 최대한 지양하고 쿼리로 구현하는 것이 좋겠다고 생각했다.
  • API 문서를 세세하게 작성하지 않아 수정요청이 많이 들어왔다. 분명히 처음 API 문서를 작성할 때는 최대한 세세하게 적었다고 생각했지만 추가해야 할 부분이나 수정해야 할 부분들이 많아서 수정하는데 시간을 많이 사용했다.
  • 같은 주제에 대해서도 구현방향이나 세부적인 부분들은 다들 다르게 생각하는 부분이 있어서 내가 당연하게 생각하는 부분들이 다른 사람에겐 당연하지 않을 수 있다는 걸 알게 되었다. 이에 따라 다른 팀원에게 내 의견을 전달할 때에는 최대한 자세하고 명확하게 하는 게 중요하다는 걸 느꼈다.

 

 

나에 대한 팀원들의 평가

 

장점

  • 회의시간에 팀원들 사이에서 나온 내용들을 모아서 깔끔하게 다시 정리해주는 점
  • 팀원들 의견 중 아니라고 생각하는 부분에 대한 적극적인 피드백
  • 구현이 어려워 보이더라도 일단 시도해보고 판단하겠다는 마음가짐
  • 에러발생 시 해결방안 탐색이 빠름
  • 자신의 진행 상황을 자주 보고하는 점
  • 본인이 잘못한 부분이 있다면 확실하게 사과하고 지나가는 점

 

단점

  • Git Flow 관리를 소홀히 하여 브랜치 관련 실수나 PR 실수로 공용 레포지토리에 오류를 발생시킴
  • API 문서 작성시 에러코드의 세분화가 부족함
  • 자신만의 확실한 기준을 가지고 처리하지 않고 프론트의 요청에 무조건 맞춰주려고 하는 점
  • 진행해야 될 문제들에 대한 리스트 작성의 소홀함과 변경사항에 대한 커뮤니케이션이 늦었음
  • 클라이언트와 서버를 실제로 연결하여 구현 과정을 확인할 때 데이터가 클라이언트에서 어떻게 활용되는지에 대한 구체적인 파악이 부족함

 

팀원들에게 최대한 객관적으로 평가를 작성해달라고 요청해서 내가 잘하고 있는 부분과 잘 못하고 있는 부분들을 인식할 수 있었다. 4주 차 프로젝트 때는 2주 차를 진행하면서 겪었던 문제들과 팀원들의 평가를 참고해서 더 성장한 모습을 보여줄 수 있도록 노력해야겠다.