Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[5기 박유진] SpringBoot Part3 Weekly Mission 제출합니다 #960

Open
wants to merge 44 commits into
base: eugene225
Choose a base branch
from

Conversation

eugene225
Copy link

📌 과제 설명

Screenshot 2023-11-03 at 2 09 57 AM [바우처 관리 페이지] : policy 별 바우처 조회 / policy, discount amount 입력해 바우처 생성 / delete 가능 / edit 가능
Screenshot 2023-11-03 at 2 10 20 AM [바우처 상세 페이지] : voucherId, policy, discount amount 정보 조회
Screenshot 2023-11-03 at 2 10 35 AM [바우처 수정 페이지] : policy, discount amount 입력해 바우처 정보 수정
Screenshot 2023-11-03 at 2 10 50 AM [지갑 관리 페이지] : 지갑 리스트 조회 / delete 가능
Screenshot 2023-11-03 at 2 11 17 AM [지갑 상세 페이지] : 지갑 id, 지갑을 보유한 고객 id, 지갑 안에 할당된 voucher 목록 조회 / 어떠한 지갑에도 부여되지 않은 바우처 해당 지갑 안에 추가 가능
Screenshot 2023-11-03 at 2 11 44 AM [고객 관리 페이지] : 전체 고객 리스트 조회 / delete 고객 삭제 / 이름과 블랙리스트 여부로 고객 추가 / 지갑을 가지지 않은 고객의 지갑 생성 가능

👩‍💻 요구 사항과 구현 내용

(기본) 바우처 서비스 관리페이지 개발하기

  • Spring MVC를 적용해서 thymeleaf 템플릿을 설정해보세요.
  • 커맨드로 지원했던 기능을 thymeleaf를 이용 해서 관리페이지를 만들고 다음 기능을 지원가능하게 해보세요
    • 조회페이지
    • 상세페이지
    • 입력페이지
    • 삭제기능

(기본) 바우처 서비스의 API 개발하기

  • Spring MVC를 적용해서 JSON과 XML을 지원하는 REST API를 개발해보세요

    • 전체 조회기능
    • 조건별 조회기능 (바우처 생성기간 및 특정 할인타입별)
    • 바우처 추가기능
    • 바우처 삭제기능
    • 바우처 아이디로 조회 기능
  • (보너스) 바우처 지갑용 관리페이지를 만들어보세요.

✅ 피드백 반영사항

  • toString 함수를 dto 키워드와 연결해서 view와 강결합 풀기
  • mapping table → wallet id + voucher id DB 강결합을 줄이고, 도메인을 생각하자
  • List → Optional X → Empty List → Optional키워드 없애기
  • deleteAll → deleteById
  • 서비스에서는 서비스보다 레포지토리 참조
  • insert할 때 예외 던지기도 함께하면 좋을까..? → 전체적으로 고민하자
  • 통합테스트 vs 단위테스트 찾기 → Mock stub → Mokito 사용

✅ PR 포인트 & 궁금한 점

  • (2차 코드 리뷰) 고객이 생성될 때 지갑이 함께 생성되지 않는다면 어떻게 처리할 것인지? → 고객 관리 페이지에서 지갑을 가지지 않은 고객 목록을 불러와, 직접 지갑을 생성할 수 있도록 구현하였습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant