내일배움캠프 프로젝트

최종프로젝트 (BuySell) 중고거래 플랫폼 서비스

공부처음하는사람 2024. 3. 7. 23:55

벌써 최종프로젝트 주차가 찾아왔다.

저번주부터 시작이었는데, 너무 바빠서 TIL 올릴 시간이 없었다. (핑계임)

프로젝트 기획을 두 번 하게 되었다....

첫 기획은 카카오지도 API를 이용한 배낭여행 코스추천 서비스였다.

안해본 지도API 기능을 사용해 무언가 만들고자 했던게 굉장히 재밌어보였는데, 까고보니 프론트였다

지도API를 사용을 부수적인 기능으로 두고, 백쪽을 조금 더 이용하기 편하게 지도API를 사용하려고 했으나

사실 지도API를 의존하는 서비스 형태가 되어버려서 엎고 새로 기획하게 됬다.

중고거래 플랫폼 BuySell

약 3달간의 커리큘럼에서 배운 내용을 모두 사용할 수 있는게 아무래도 게시판 혹은 쇼핑몰 형태의 서비스라고 생각되었다.
주제가 조금 진부할 수 있으나, 우리는 백엔드 공부를 하는 사람이니.. 주제가 뭐든 우리가 공부 해왔던 내용을 복습하며
녹여내는 프로젝트를 하는게 좋겠다고 생각해서 이 주제로 정하게 되었다.

서비스 기능

  • 필수 기능
    • 게시물 CRUD
    • 게시물 작성, 조회, 수정, 삭제
    • 게시물 페이지네이션
    • 사진 추가 (S3)
    • 마음에 드는 게시물 찜
    • 카테고리 CRUD
      • 관리자만 카테고리 등록, 수정, 삭제
      • 카테고리 별로 조회
    • 댓글 CRUD
    • 댓글 작성, 조회, 수정, 삭제
    • 리뷰 CRUD
    • 리뷰 작성, 조회, 수정, 삭제
    • 별점 기능
      - 별점으로 판매자의 평점 확인
    • 사용자 인증/인가 기능
    • 회원가입 - 로그인 / 로그아웃
    • 소셜로그인 (구글, 카카오, 네이버)
    • 인가 처리
    • 프로필 CRUD
      - 프로필 조회
    • 프로필 수정
      - 찜한 게시글 관리
    • 내가 쓴 글 관리
    • 회원탈퇴 (소프트)
      - 탈퇴 시 게시글, 댓글 전체 삭제
    • 결제방식
      - 계좌 충전방식

필수 구현내용은 이정도로 정했다. 기초 비즈니스 로직 작성 후 테스트코드를 작성하려고 했는데,

처음 기획할 때 한번 엎고 두번째 기획을 하다보니 급해져서 정책에 대한 내용을 제대로 정의하지 않고 시작한게

문제가 생겼다. 정책에 대한 내용이 계속 달라지는 것 같아 오늘 정책을 제대로 정하고 구현을 시작하니

확실히 어떤 것을 해야할지 파악하는게 쉬워졌다. 기획의 중요성을 또 한번 느낀다.

💊 제약 사항 Constraints 🧪

회원가입 & 로그인 제약 사항

게시글 & 댓글 제약 사항

주문 관련 제약 사항

결제 제약 사항

리뷰 제약 사항

회원 탈퇴 관련 제약 사항

 


 

깃허브를 사용하는게 아직도 익숙하지 않다.

이 또한 처음 기획 때 기능구현이 끝나면 테스트 후 PR을 올려서 dev에 merge하도록 정했어야 했는데,

이 기능 구현하다 연관관계때문에 다른기능 넘어가고.. 이런 반복적인 일 때문에

오늘 올린 PR이 고봉밥으로 쌓였다. 코드리뷰 할때도 너무 길어지고 기능이 여러개가 있어 집중도가 떨어지는 듯 하다.

그래서 오늘 다시 규칙을 정해서 도메인 기능 구현이 완료되었을 때 PR 올리도록 정했다.

 

내 코드를 남한테 설명하는게 참 어려운 것 같다. 내 머릿속에선 알고 있지만 입 밖으로 꺼내는 과정이 잘 안된다.

내가 코드를 이해하고 작성하지 않다는 증거이기도 하다. 이유를 생각하면서 코드를 작성하자.

다음 코드리뷰땐 팀원들이 내 코드를 보고 확실히 이해할 수 있도록 해보자..

 

데드라인 관련해서도 좀 엄격하게 관리하고 싶었는데 이것 또한 쉽지 않다. 왜 못끝냈냐고 구박하는것도 이상하고..

각자 맡은 역할에 책임감을 가지고 기한내에 끝내지 못하겠다면 미리 현재 상황을 공유하고 일정에 반영하게 끔 해야하는데

서로 코드짜기 바쁘다보니 놓치기 쉬운 것 같다. 프로젝트를 하면서도 아쉬운 부분이 자꾸 생긴다.

 

 

최종 프로젝트 때 팀장을 맡게 되었다. 실력도 많이 부족하고, 누군가를 관리(?)한다는게 참 어렵다.

팀장이라고 하면 사실 실력도 좋고 리더십도 있으면 좋겠지만,, 나는 일단 두가지 모두 부족하다보니 이러한 일들이 자꾸 생기는 것 같다.

무언가 진행이 안됬을 때 어쩔수 없죠~라는 늬앙스의 말을 좀 자제하는 편이 좋겠다. 당장 이 상황을 파악하고 해결을 해야 지체없이 

진행될 수 있을 것 같다.

서로 만난적도 없는 사람 4명끼리 프로젝트를 한다는게 쉬운일은 아닌거 같다. 

리더를 하는것도 애로사항이 정말 많다. 차라리 가까운 곳에 살았으면 만나서 밥이나 술이라도 한잔하며

얼굴을 트는게 좋을텐데 온라인 부캠 특성상 그럴 수 없다는게 너무 아쉽다.

다행히 부리더분이 실력도 좋으시고 많이 도와주셔서 그나마 이정도 하고 있는거 같다. 남은 4주정도 되는 기간동안 배울 게 많다.

 

계획을 조금 더 세밀하게 세우고 효율적으로 파트를 분배하는 방법을 생각해봐야겠다. 지금 당장 코드짜기 바쁘지만.. 

개발자가 코드만 짜는사람이 아니니.. 조금 다방면으로 고민을 할 필요가 있다.

 

짧다면 짧고 길다면 길지만 (짧은거같음) 좀 잘하고 싶다. 이왕하는거 좋은 결과물을 만들고싶은데 어렵다어려워