- 본 레포지토리를 fork하여 과제를 수행하고, 완료시 PR을 보냅니다.
- 과제의 소스코드는 본인의 GitHub 레포지토리에 Public으로 올려주세요.
- 진행 간 문의사항은 이 레포지토리의 Issue로 등록해주세요.
- 구현 내용은 README.md 하단에 이어서 작성해 주세요.
- Spring Boot Framework를 활용하여 레스토랑 리뷰 앱을 구현합니다.
- Spring Data JPA를 활용하여 구현합니다. 그 외의 라이브러리는 자유롭게 선택이 가능합니다.
- 빌드 도구는 gradle를 사용해주세요.
- 일관된 코딩 컨벤션을 유지해주세요. (camelCase)
- REST API 규격을 맞춰주세요.
- 기능 당 커밋은 필수입니다.
- Restaurant
- Review
- 레스토랑 명, 리뷰 리스트를 내용을 반환합니다.
- 리뷰 리스트는 등록 순이나 역순으로 조회할 수 있고 pagination을 지원하며, 리뷰 제목과 내용으로 검색할 수 있습니다.
- 하나의 레스토랑명, 리뷰 제목, 리뷰 내용이 반환합니다.
- 리뷰를 수정할 수 있습니다.
- 리뷰에는 제목과 내용이 있습니다.
- 리뷰 삭제에서는 하나의 리뷰를 삭제합니다.
- Hard Delete를 통해 데이터를 삭제합니다.
- 레스토랑에는 레스토랑명, 레스토랑 카테고리 (한식, 중식, 일식 등)의 내용이 있습니다.
- 등록한 날짜를 기록해야 합니다.
- 레스토랑의 카테고리만 변경할 수 있습니다.
- 레스토랑의 전체 목록을 조회할 수 있습니다.
- 레스토랑 카테고리에 따른 레스토랑 목록 조회를 할 수 있습니다.
- 레스토랑 명, 카테고리, 음식점의 생성 일자가 반환 되어야 합니다.
- 레스토랑의 삭제로 인하여 작성된 리뷰들이 삭제 되면 안됩니다. (Soft Delete)