2차 프로젝트 회고록

Nicholas·2022년 7월 28일
1

회고록

목록 보기
2/3

1차 프로젝트에 이어 2차 프로젝트에 대한 회고를 남겨본다.

2차 프로젝트 소개

  • 글쓰기에 최적화 된 블로그 플랫폼 사이트를 제작하려하였고 모티브는 브런치이다.
  • 본 프로젝트는 1차프로젝트에 이어 2주간 진행했으며, 인원은 프론트 4명, 백엔드 2명이다.
  • 개발기간 : 2022/06/07~2022/06/17
  • 2차 프로젝트 github repo

2차 프로젝트의 나의 목표

  • 2차 프로젝트에서 나의 목표는 처음에는 외부API를 활용한 API 구현, 협업 두가지였다.
    이유는 1차프로젝트에서는 혼자했기때문에 백엔드간의 협업을 경험해보지 못하여 2차프로젝트는 꼭 같이해보고싶었다.

2차 프로젝트 진행방식

  • 일단 백엔드가 구현해야될 API를 쭉 나열해봤다.
    그 중 외부API를 사용해야될것들을 구분했다.
    1. 소셜로그인
    2. 이메일 제안보내기
    3. 사진 업로드(profile update, post upload, comment upload)
  • 외부API중 소셜로그인은 내가 담당, 이메일 제안보내기는 같이 진행했던 민정님이 하기로 하였고 사진업로드는 profile update는 내가, 나머지두개는 민정님이 진행하기로 하였다.
    그 이후에 각자 외부API를 이용하여 구현한 부분을 서로에게 알려주어 공유하기로 하였다.
  • 또한 먼저끝난사람이 그 이외의 API를 작업하기로 하였다.

2차 프로젝트의 첫번째 난관...

소셜로그인(kakao)

  • 이번프로젝트는 시작부터 난관이였다. 소셜로그인... ERD를 만들때 처음부터 일반회원가입기능은 1차프로젝트에서 경혐해봤으니 하지않기로 하고, 소셜로그인만 구현하는것을 목표로 진행하였다.
    처음에는 너무너무너무 좋은 한글로되어있는 공식문서를 통해 사실상 구현을 하는대는 어려움이없었다. 하지만 문제는 프론트와의 통신과정에서 나타났다.
    애초에 소셜로그인은 카카오에 요청하여 인증과 관련된 Code를 받고 그 코드를 다시 카카오에 요청하여 Access_token을 받아 유저의 정보를 요청하고 그 정보를 DB에 저장하는 구조로 진행하였는데 혼자할때는 아무 문제없이 잘되었다. 하지만 프론트랑 연결하니 잘되던 카카오요청에서 CORS관련 오류가 발생하기시작...
  • 어디서부터 잘못되었을까.
    그리고 결론... 프론트에서 카카오인증과 관련된 code라는 속성값을 받아 get메소드의 qurey string으로 값을 보내주면 그 값을 가지고 Access_token을 받으니 너무너무 잘되는것이였다.

교훈 : 프론트와 백엔드간의 소통이 정말정말 중요하구나... 한쪽이 모든것을 다하는것보다 적절하게 역할 맞게 하면 쉽게 해결할수 있는 일이 많다.

2차 프로젝트의 두번째 난관...

TEST Code

  • 첫번째 난관이 해결되고나서 두번째 난관은 생각보다 빠르게 찾아왔다.
    바로 소셜로그인 API에 대한 TEST code에서 바로 찾아왔다.
  • 이 Test code에서 4일이란 시간이 지날것이라는건 지나고나서 알았다.
  • 외부 API를 이용한 API는 mocked_requests가 별도로 필요한데 이부분에 대한 이해도가 너무 부족하여 MockedResponse에 가짜 데이터를 정의하고 API가 엔드포인트를 통해 Test가 요청이 되었을때 실제의 API가 아닌 MockedResponse안에 있는 데이터를 반환하여 API가 정상적으로 동작하는지 아닌지를 확인하는 것인데 MockedResponse의 데이터를 엉뚱하게 적어두고 왜안되지 하고있으니... 지금 이 회고록을 쓰는 시점에서는 어느정도 Test code에 대해 이해를 한 뒤에 작성하고있으니 어떠한 flow로 동작하는지 설명이 가능하지만 이때당시에는 MockedResponse안의 어떻게 정의해야되는지도 몰라 4일간 고민하다가 멘토님을 찾아갔다...
  • 사실 모를 수도있다. 처음하는 Test code.. 모르는게 당연하다. 하지만 내가 4일이 지나고나서 느낀것은 너무 많은시간을 고민했다는것이였다.
    1차 프로젝트에서 사실 혼자서의 긴 고민은 때때로 좋은쪽으로 작용한경우가 너무많아서 아주 긍정적으로 생각했었다. 하지만! 그것도 적당히라는 것이 있는건데. 프로젝트 전체의 절반을 소셜로그인 API 하나만을 위해 투자하는것은 사실은 조금 어리석었다. 이로 인해 그뒤에 계획이 점점 틀어지게되고 발표날 발표시잔까지 API를 못짠것들이 있어 일부 포기할정도로..
  • 이부분에 대해서는 사실 우리팀 프론트엔드 개발자분들께 다시한번 사과드리고 싶다.

    교훈 : 고민도.. 적당히라는것이 필요하다..

프로젝트 중 좋았던것

- Q객체

  • 1차 프로젝트 당시에는 카테고리가 없어서 Q객체를 사용해보지 못했었다. 하지만 이번 프로젝트에서는 메인카테고리와 서브카테고리가 존재하여 Q객체를 이용하여 글들에 대해 분류하는 것을 경험해봤다는점이 너무좋았다. 왜냐하면 Q객체의 활용은 개인적으로 한번은 꼭해보고 싶었던 것이여서 아주 깊게는 아니지만 사용한것에 매우 만족한다.

- 백엔드 동료가 있다는것

  • 1차는 혼자해서 동기들에게 물어보지만 사실은 기획부터, 수정사항, 데이터 등 서로간에 모르는 것에 물어보는것이지만 이번 2차 프로젝트는 같은것을 공유하고 서로 같이 성장하는 느낌을 많이받아 만족했다. 사람은 역시 사회적인동물이 확실한것 같다.

프로젝트를 마무리하며...

이번 2차프로젝트는 1차프로젝트에서 부족했던것을 보완하며 하고자 하였다. 하지만 역시 모든것을 만족할 수 없듯, API명세서를 만들어보고자 노력하였으나 그러지 못했고, 이로인해서 프론트엔드분들이 통신과정에서 어려움을 겪었다.
너무 내가 소셜로그인이니 AWS_S3를 활용한 이미지 업로드니에 집중하여 정작 프로젝트에서 가장중요한 프론트엔드와의 소통에서 너무 부족함을 느꼈다.

profile
WEB Developer

0개의 댓글