GitHub - sihyun615/refrigerator: 식재료를 한눈에 관리가능한 보드 생성
와이어프레임 - figma board
API 명세서 - Team Notion
Postman token값 저장 https://velog.io/@jejjang/Postman에서-Token-값-저장하기
팀 이름 (2개씩)
프로젝트 주제 (2개씩)
프로젝트명
| > API 명세 < | > ERD 작성 < | > 역할 분담 및 스코프 적정성< |
|---|---|---|
| - url 에 단수 복수가 혼용되어 있네요. 대두분이 복수형 사용 시 다른 entity명도 복수로 작성하시길 바래요. card, comment, board 등 |
[고민해볼 것]
| > 역할 분담 <
> 스코프 적정성 <
과제 수고 많으셨습니다. 아쉬운 점을 제가 매우 길게도 적었지만, 진심으로 이 짧은 기간에 이만큼 만든 것 자체가 매우매우매우 잘 한 것입니다. 아쉬운 점의 내용은 질타가 아닌 보완해야하는 것으로 바라봐주시면 좋을 것 같습니다. 고생 많으셨어요!!!!
<잘한점>
01. git log의 "잔잔한 예외 멘트".. 귀엽... (실무에선 안타깝지만 이렇게 쓰시면 안 됩니다 ㅠㅠ)
02. @Transactional을 읽기/쓰기에 따라 잘 구분하여 사용하셨습니다. (ex. BoardService)
03. 상세한 git log 잘 작성하셨습니다.
04. TimeStamp를 공통으로 모든 엔티티에 적용하신 점 좋습니다.
05. 불필요한 setter, builder, 생성자를 사용하지 않은 점도 칭찬할 내용입니다.
<아쉬운점>
01. application.properties에 관련된 설정이 왜 하나도 없을까요? 코드의 기본은 다른 사람이 받아 갔을 때 실행할 수 있는 최소의 세팅을 해두는 것입니다. 민감한 데이터만 공유하지 않는 것이지 서버 기동에 필요한 key는 작성해야 합니다.
02. 패키지 구조가 프로젝트 사이즈에 비해서 너무 복잡합니다. 도메인형 구조 안에 다시 계층형 구조로 작성되어 있는데 오히려 복잡하고 가독성이 떨어집니다.
03. HomeController의 URI에서 css나 js는 일반적으로 이렇게 작성하지 않습니다. 제가 알기로는 static에 넣어두면 접근이 가능한 것으로 아는데 이렇게 쓴건 상대경로로 접근이 안 되서일까요?
04. UserController는 @Controller로 선언이 되어있습니다. 하지만 안에 API들을 보면 회원탈퇴나 로그아웃은 JSON 형태로 응답하기를 바라는 ResponseEntity로 리턴하고 있습니다. JSON으로 응답하는 API라면 @ResponseBody를 붙여야 합니다. @RestController와 @Controller의 차이점을 찾아보시면 좋을 것 같습니다.
05. SignupRequestDto에서 userName을 정규식으로 검증하고 있는데 정말 설명적혀 있는대로 패턴검증이 되는걸까요?
06. SignupRequestDto에서 @Setter가 적용되어 있는데 사용하는 곳이 없습니다. 실제 필요한 setter 일까요?
07. TokenError enum은 안 쓰는 것 같습니다. 안 쓰는 코드는 삭제해주세요.
08. CardService에 ColumnRepository, ColumnService를 둘 다 쓰고 있군요. 이유가 있을까요?
09. 스트림 사용하여 list로 받아올 때 .collect(Collectors.toList()) 대신 .toList()를 쓰시는게 좋습니다.
10. CardService.moveCard()에서 사용하지 않는 checkBoard 변수와 주석이 있네요. 안 쓰는건 삭제하는게 좋습니다. 안 쓰지만 꼭 필요한 것이라면 주석을 써서 있어야 하는 이유를 표기해주세요.
11. ColumnController.addColumn() 에서 DataCommonResponse는 제네릭 클래스인데 타입 지정이 안 되어 있습니다.
12. ColumnService에서 findById()가 readOnly 트랜잭션을 가지고 있는데, moveColumn()에서 호출되고 있습니다. moveColumn()은 그냥 @Transactional을 가지고 있네요. 이 때 2개의 트랜잭션이 적용된 것으로 보이는데 이럴 때 어떻게 동작하나요?
13. DataCommonResponse를 보면 멤버변수들에 노란줄이 그어져 있습니다. 내용을 보면 변경될 일 없는 변수들이라 final 처리하는게 좋다고 되어있습니다. 이 부분도 적용하면 좋겠습니다. 다른 클래스도 마찬가지입니다.
14. git log를 보면 "Update README.md" 라는 기록이 분단위로 여러개 올라와있습니다. 의미 없는 commit을 길게 적는건 좋지 않습니다. 만약 commit을 해야겠다면 local 브랜치에서 commit을 하고 마지막에 squash로 합쳐서 하나의 변경사항으로 push하시는게 좋습니다.
15. 코드 들여쓰기가 메소드의 매개변수와 로직이 시작하는 코드가 같은 들여쓰기를 하고 있어서 코드의 시작이 어디인지가 굉장히 헷갈립니다. 이건 구분하는게 좋을 것 같습니다.
🍚 점심시간 : 12시 ~ 2시 사이
🍙 저녁시간 : 6시 ~ 8시 사이
👻 우리 조 규칙 👻
1. 회의 때 마이크랑 카메라 꼭 키기
2. 자리 오래비울 경우 미리 이야기 해주기
3. 9시에 서로 인사하기
4. 점심 저녁시간 끝나고 스몰토크 시간 갖기
5. 모르거나 막히는 점이 있으면 사소한 것이라도 망설이지 말고 공유하기
6. 건강 챙기기
7. 말 이쁘게 하기
🤸♀️ 개인과제 및 팀프로젝트 완성해내기
🌟 내배캠 끝까지 함께 수료하기!
🫡오전 09:00 ~ 10:00
🫡점심 14:00 ~ 14:20
🫡저녁 20:00 ~ 20:20
필요 시 수시로!
https://www.figma.com/embed?embed_host=notion&url=https%3A%2F%2Fwww.figma.com%2Fboard%2FcAe3ygaCACfQvKXOlNugYI%2FTrell5%3Fnode-id%3D0-1%26t%3Dccd0WzHLztTmPjgg-0
