네이버 MyPlace 클론코딩입니다.
방문했던 음식점에 대한 리뷰를 작성하고, 다른 사람들이 남긴 리뷰를 확인할 수 있습니다.
마음에 드는 리뷰는 좋아요를 표시해보세요.
2023.03.03 ~ 03.09
Review
엔티티에서 Boolean 타입의 isPushed
필드를 만들고, 리뷰 조회 시 사용자가 해당 리뷰에 좋아요를 눌렀는지 확인하여 isPushed
값을 채워 리턴한다.member == null
)는 isPushed
를 false로 처리한다.boolean isPushed = (member != null) && likeRepository.existsByMemberAndReview(member, review);
Review
와 Keyword
의 연결 매핑 역할을 하는 ReviewKeyword
엔티티에 @Table(name="REVIEWKEYWORD")
를 붙여 실행하니, reviewkeyword
테이블과 review_keyword
테이블로 엔티티 하나에 테이블이 두 개 생성된 상황이다. 여기서 나는 @Table 옵션을 모두 지웠고 ddl-auto 옵션을 create
로 해서 다시 실행했다. @Table 어노테이션을 지우니 hibernate는 엔티티명대로 review_keyword
테이블을 drop 시키나, reveiwkeyword
테이블은 그대로 존재하게 된다. drop 시키려는 테이블 목록과 현재 DB에 남아있는 테이블 목록이 일치하지 않아 drop & create 가 실패한 것으로 보인다.이번주 진행한 클론코딩의 대상은 네이버 My Place 였다.
그동안 배운 CRUD를 잘 활용하여 만들 수 있을 것 같아 주제로 선정되었다.
와이어프레임을 그리고 API 명세서를 작성할 때, 참고할 대상 사이트가 있으니 좀 더 수월하게 작성할 수 있었다.
이번에는 기능 구현 전에 서버를 먼저 올려서 통신이 되는지 테스트도 먼저 해보고, 기능이 하나씩 구현되면 바로 서버에 올려 프론트가 테스트할 수 있도록 환경을 만드는 것이 목표였다.
서버 통신은 잘 되었으나, 프론트가 테스트하려면 먼저 구현되어야 할 조회 부분이 조금 늦게 구현되어 프론트의 테스트 시간을 많이 확보하지 못한 점이 아쉬웠다.
다음에 협업을 진행할 때는, API 기능 명세서를 프론트와 함께 보면서, 어느 기능이 먼저 구현되어야 프론트 테스트가 수월한지 정하고, 백엔드는 우선순위에 따라 기능을 구현해서 서버에 올려야겠다.