True Grit Texture Supply 2차 클론 프로젝트 회고록

BLAKE KIM·2020년 10월 21일
1

프로젝트 소개

  • 포토샵 등과 같은 프로그램에서 쓰이는 붓 종류를 판매하는 페이지 클론 프로젝트
  • 개발기간: 2020년 8월 31일 ~ 2020년 9월 11일(약 2주)
  • 개발인원: 3 FrontEnd(김건우, 이도윤, 오승하), 2 BackEnd(김태수, 김현우)
  • FrontEnd Github
  • BackEnd Github

사용된 기술

FrontEnd

  • React
  • JavaScript
  • 자세한 내용 Github 참조

BackEnd

  • Python
  • Django Web Framework
  • AWS EC2, RDS
  • Docker
  • MySQL
  • Git, Github
  • Bcrypt
  • JWT
  • Unittest
  • Kakao Social Login

내가 맡은 역할/부분

모델링

User_App

회원가입 및 로그인(SignUp/SignIn)

  • Bcrypt 암호화
  • JWT 전송
  • Unittest

카카오 소셜 로그인(KakaoSignIn)

  • OAuth를 활용한 소셜 로그인 기능 구현
  • mocking과 patching을 활용한 Unittest

장바구니(Cart)

  • Login Decorator 구현
  • Django ORM을 활용한 CRUD 기능 구현
  • HTTP 통신 Method를 통해 작업을 구분하여 Restful하게 구현

Product_App

검색

  • Django ORM을 사용하여 검색 기능 구현
  • Unittest

잘한점 + 아쉬운 점 + 개선 방법

잘한 점

코로나 2.5단계 격상으로 인해서 온라인으로 프로젝트가 진행되었음에도 불구하고 온라인 상에서 원활한 의사소통이 이루어졌다는 점이 우리 팀의 잘한 점이라 생각한다. 분위기 역시 다른 팀과 비교했을 때도 가장 좋았다고 자부할 수 있다. 앞으로 어떤 환경에서 근무하게 될지 모르는 입장에서 재택근무를 경험할 수 있는 좋은 기회였다고 생각한다. 물론 팀원들 전원이 협조를 해주었기에 이런 결과를 가져올 수 있었다고 믿는다. 앞으로 재택근무를 하게 되더라도 오프라인만하진 못하겠지만 온라인으로도 부족함 없는 의사소통을 해 나갈 것이라는 믿음을 갖게 되는 좋은 경험이었다.

또한 처음을 두려워하지 않았다는 점이다. 이번 프로젝트에서 처음이라 생각되는 것은 카카오 소셜 로그인과 Docker가 있다. 이 두가지 모두 겁 먹고 다가갔다면 어려워서 허덕였을 과제들이라 생각한다. 그러나 겁 먹지 않고 공식 문서와 강의를 참고하여 잘 해쳐나갔다고 생각한다.

마지막으로 잘한 점은 unittest이다. 정말 endpoint 하나를 작성하는 것과 맞먹는 시간이 투자되었다. 지난 프로젝트에서는 endpoint 하나에 성공하는 것 하나만 작성하면 됬었고 mocking과 fetching이 필요하지 않았기 때문에 아주 쉽게 끝낼 수 있었다. 그러나 이번에는 이 두가지와 각 endpoint 당 3개 이상의 test를 작성했어야 했다. 이 점은 꽤 오랜 시간이 걸렸지만 중요함을 알게되는 계기였다. 이전에는 postman이나 터미널에서 httpie를 사용하여 테스트를 진행하였으나 이번에는 unittest를 통해 대부분의 오류를 잡아낼 수 있었다.

아쉬운 점

욕심과 의욕이 떨어졌다고 느꼈다. 1차 프로젝트를 할 때와는 달리 의욕이 사그라들었고 그만큼 시간이 남았다. 물론 1차 프로젝트와 별 차이를 못 느꼈으며 어려운 점보다는 시간이 오래드는 작업이 생겼을 뿐 새로운 지식을 1차 프로젝트보다 많이 알게된 점을 없다고 생각한다. 이 기간에 남들이 해보지 않은 기술을 한 번 사용해보고 더 공부했다면 나에게 더 이득이 되었을 것이라고 생각한다. 욕심을 가지고 새로운 것에 대한 탐구를 게을리 하지 않았으면 한다.

개선 방법

사실 아쉬운 점에 대한 개선 방법은 잘 떠오르지 않는다. 어떠한 동기 부여를 끊임없이 해야하고 개발자로써 역량을 키우기 위해 노력을 게을리 하지 않는 것. 그것이 개선 방법이 될 것이라 생각한다. 이러한 점은 나에게 숙제를 계속해서 부여하는 방법을 택하고 싶다. 우선 로드맵을 탐색하고 필요한 기술들을 시기에 맞춰서 과제로 부여하는 것이다. 책을 미리 사두고 알람으로 그 시기가 되었을 때 해당 책을 탐독하는 것 또한 좋은 방법이라 생각한다. 열심히 공부하고 남에게 도움되는 개발자가 되는 것이 나의 목표임을 잊지말자. 공부를 게을리 해서는 아니된다.

기록하고 싶은 코드/함수/로직

카카오 소셜 로그인

남들도 모두 완료한 코드이지만 처음으로 PR을 날리고 피드백 없이 한 번에 merge된 코드이다. 그냥 자랑.

장바구니

새롭고 기술적으로 뛰어난 코드여서가 아닌 기본에 충실한 코드이기 때문에 기록하고 싶다. 철저하게 method를 통해서 장바구니에 담긴 상품들을 가져오고 담고 수정하고 삭제하는 장바구니 API이다.

get

post

put

delete

profile
BackEnd

0개의 댓글