영화 리뷰 뉴스 피드 API
💵 GitHub
💵 UI/UX
💵 ERD
💵 프로젝트 간단 소개
- 저희 연봉 1조는 영화 리뷰 뉴스피드를 제작하였습니다.
- 영화진흥위원회에서 오픈 API를 파싱해서 Movie Entity와 매핑을 하여 실제 영화 정보들을 데이터베이스에 저장하도록 구현하였습니다.
- 필수 구현 기능인 사용자 인증 기능, 프로필 관리, 게시물 CRUD, 뉴스피드 기능과 추가 구현 기능인 댓글 CRUD 기능을 구현하였습니다.
- enum클래스와 @ExceptionHandler, @RestControllerAdvice 어노테이션을 사용하여 enum안에 각 클래스에서 발생할 수 있는 오류들의 값들이 담겨 있기 때문에 하나의 핸들러와 하나의 예외 클래스로 모든 비지니스 예외처리가 가능합니다.
💵 KEEP
-
- 예외처리를 하나의 예외 클래스와 하나의 Enum 클래스와 하나의 글로벌 예외 핸들러로 처리한게 너무 효율적이었다.
- 팀원분의 유기적인 역할분리로 팀 프로젝트가 발표까지 수월하게 이루어졌다.
💵 PROBLEM
- ERD 를 토대로 필수 구현 기능을 전부 구현하고, 이후에 추가하고 싶었던 좋아요 기능을 도입하려고 했는데 좋아요 기능을 사용하려면 좋아요 Entity를 따로 만들어야하는 것을 몰랐었습니다. 처음에 알았으면 구현하기 어렵지 않았는데 나중에 수정하려면 구현했던 코드를 전부 엎어야돼서 시간상 어려웠던 이 부분이 아쉬웠습니다.
- 코드컨벤션을 처음에 정확히 안 적어서, 수정 메서드의 같은 경우에는 updateBlaBla, editBlaBla 로 메소드명이 다 제각각이었습니다.
- 커밋 트리를 봤을 때 모여지는 부분이 진짜 거의 없었습니다. 이는 협업을 해야할 때 컨플릭 등의 오류를 발생하게 할 수 있는 원인입니다
💵 TRY
- 기능 구현을 하기 전에 기능 구현에 필요한 로직이나 데이터베이스에 저장될 형태들을 충분히 고민 후에 ERD를 작성하고 기능 구현을 시작해야 되겠다라고 생각했습니다.
- 코드 컨벤션에 대한 얘기를 더욱 깊게 얘기를 하고 시작하고, 기능 구현 하면서도 자주 대화를 하고 기록으로 남겨두는 것이 좋다고 생각합니다.
- 이 원인이 각자의 기능 개발 완료 시간이 달라서 생긴 문제라고 생각합니다. 이럴 때 일 수록 ETA의 중요성, 그리고, 역할분담의 중요성을 생각하고 다음 프로젝트를 기약하려 합니다.
일곱번째 프로젝트 KPT를 쓰는 중에 여섯번째 KPT 를 양식으로 작성했는데, 여섯번째 KPT를 지우고 올려버려서... 다시 발행했습니다!
'프로젝트 > Spring' 카테고리의 다른 글
여덟 번째 프로젝트 (팀) - 잼렐로 API KPT (0) | 2024.01.03 |
---|---|
일곱 번째 프로젝트 (팀) - 팔팔잇츠 API KPT (0) | 2023.12.11 |
다섯 번째 프로젝트 (개인) - ToDo 리스트 API KPT (0) | 2023.11.22 |
네 번째 프로젝트(개인) - 익명 게시판 API KPT (0) | 2023.11.06 |