시간이 허락한다면 다른 팀들 피드백도 참고해봅시다!
우선 대용량 트래픽을 가정한 서비스를 구축하고자 하시는 모습에 감동 받았습니다..ㅎ
수많은 러닝커브가 발생할테고 그만큼 많은 이슈들에 부딪히게 될것으로 예상됩니다만
이번 프로젝트가 완료된다면 정말 많은 성장이 이루어진 상태일것이라고 생각합니다.
다만 우려되는점은 실시간 채팅이라는 점과 SSR 기술로는 구현하지 못하는 지도와 같은 프론트적 코드들에
꽤 많은 시간이 소요될것으로 예상합니다. 만약 추후 시간이 많이 부족하게 된다면
실시간 채팅이 아닌 모임 이라는 게시글의 댓글 형태로 채팅을 구현하는 방법도 고려해보시면 되겠습니다.
아래 몇가지 리뷰 남겨보겠습니다.
프론트 연결되는지 → CI/CD 구축 → 도메인 별 알아서
1.로그인 해서 헤더에 받아오는 것 확인 → 프론트 1차 완료
2.
CI/CD 하기 → 프론트하고 은채님 소셜로그인 뺴고 다 하고 같이 찾아보기
1.
3주차 까지의 MVP 목표에서 프론트는 개별적으로 만들어 진행하고자 하는것으로 보입니다.
러닝커브가 꽤 많은 시간 발생할테고 프론트 또한 배포가 이루어져야 하니 시간 설정에 고려해주세요!
2.
MVP 스펙에서 필수기능에 기능 수가 아주 많은것으로 보입니다.
로직적으로 어렵지는 않으나 많은 기능이 생기면 그만큼 많은 프론트 화면이 생기기에 이점도 고려해주시는것이 좋습니다.
만약 이로인해 시간이 부족해지면 기능 구현이 어려운것은 아니나 불필요하게 디테일한 요소들이나
추가적인 기능들은 제외하고 진행하는것이 시간 확보에 어느정도 도움이됩니다. → 저희 좀 정리가 되었죠.
3.
코드 컨벤션의 경우 네이밍 규칙 혹은 return 시 변수에 담지않고 return 하는 등 사소한 부분들에도 컨벤션들이 지정되어
최종적으로 팀 전체의 코드 스타일이 같아지는것이 협업에 아주 도움이 됩니다.
누군가는 람다식을 사용하고 누군가는 단순히 if문과 throw new를 한다와 같은 부분들도 좋은 협업의 결과라고는 할 수 없습니다.
조금 더 디테일한 코드 컨벤션과 코드 스타일을 수정해주는 라이브러리들도 활용해보시는것을 추천드립니다.
4.
git 컨벤션의 경우 git branch 전략, PR전 코드리뷰, git commit message 템플릿, git issue등의 활용법 등을 정확하게 지정해두고
팀 전체인원이 협의하여 사용하시는것을 추천드립니다! Conflict와 혼동을 방지하게 됩니다. → 적어라.
5.
프로젝트 기타 설정시 환경 변수로 빼두어 local 실행 환경을 통일시키는것 좋습니다. → 적어라
6.
Product Rules 의 개발환경에는 Spring, Spring Boot, java, 각종 라이브러리들 모두 버전과 해당 버전을 사용하게된 이유들을 명시해주세요.
선택 이유와 버전이 명시되어 있으면 많은 당황스러운 기술면접 질문들을 예방할 수 있습니다.
많은 시간이 소요되는것은 아니니 꼭 다듬어주세요 꼭! 꼭! 별표 다섯개 입니다. → 지피티한테 물어보자…. 너무 매몰되지 말고 이 라이브러리를 쓰는 이유부터 → 버전 메이저의 차이 순으로 차근차근 해봐라
7.
API 명세서상 USER API의 /profile/users 이 들어간 URL Mapping 들은 profile(entity) 즉, 자원(resource)이 아니기 때문에 Restful API에 적합하지 않습니다.
Restful API가 어떤것인지 이번 기회에 꼭 확립하고 넘어가주세요.
ex) GET /api/users/{userId} 와 같은 형태가 프로필 조회 URL이라고 할 수 있습니다.
1.
USER API에서 카테고리를 선택할 수 있도록 되어있으나 category는 엔티티로 구분되어 있음에도 카테고리를 CRUD하는 API가 존재하지 않습니다
어떠한 의도로 API들이 구성되었는지 알아보기 힘듭니다..! → Enum으로 뺀다.
2.
Party API에서 PathVariable인 {Party_id} 에 P는 소문자여야 합니다..!
3.
알림 기능은 어떤식으로 구현하는지에 따라서 난이도가 꽤 높은 작업이 될 수 있습니다. 어떤식으로 구현 예정인지 설명해주세요!
4.
위치기반이 어렵게 느껴지신다면 지역 카테고리에서 파티를 생성하고 글을 작성할 수 있느 형태로 풀어낼 수 있을듯 합니다.
담당 튜터님과 서비스에 대해 상의하여 가장 좋은 방법을 선택해주세요!