Skip to content
WinterHana edited this page May 7, 2024 · 6 revisions

MVC-Project-SpringBoot

MVC 패턴을 연습하기 위한 쇼핑몰 사이트 만들기

프로그래밍 연습을 위한 미니 프로젝트입니다.

기본적인 구현이 완성된 후 지속적으로 리팩토링을 할 예정입니다.

  • 시작 기간 : 2024년 2월 13일 화요일
  • 마무리 기간 : 2024년 5월 3일 금요일

시나리오

1. 회원 관리

  • 구현
  • 코드 분석 및 이해

2. 상품 관리

  • 최근 본 상품 조회 (비회원, 회원, 관리자)
  • 상품 검색 (비회원, 회원, 관리자)
  • 상품 조회 (회원, 관리자)
  • 상품 상세 조회 (회원, 관리자)
  • 상품 등록 (관리자)
  • 상품 수정 (관리자)

3. 판매 관리

  • 구매 목록 조회(ListPurchaseAction)
    • 구매에 대한 상세 정보를 요청해야 한다. (GetPurchaseAction)
    • 구매 내역을 수정해야 한다.
  • 구매 (AddPurchaseAction)
    • 구매 내역에 들어갈 때, 정보를 가지고 들어가야 한다. (AddPurchaseViewAction)
    • 구매 상태 수정이 가능해야 한다. (UpdatePurchaseAction, UpdatePurchaseViewAction)
  • 판매 목록 조회 (ListSaleAction)
    • 배송 상태를 변경할 수 있어야 한다. (UpdateTranCodeAction)

Refactoring 내역

240219 - 240220 코드 최적화

  • 페이지를 눌러도 검색 조건을 유지할 수 있도록 하기
  • 페이지 전체가 뜨던 상황을 다시 바꾸기
  • 페이지를 가져오는 것에 대한 효율적인 쿼리문 변경 : userDAO의 makeCurrentPages() 확인
  • UserSerivce의 return값을 Interface로 변경
  • VO 관련 패키지를 domain으로 변경
  • Util Bean으로 null exception 대비

240221 - Advanced Tech 사용

User, Product, Purchase 부분의 view를 EL, JSTL로 변경한다.

  • User 변경
  • Product 변경
  • Purchase 변경

240222 - 논리상 맞지 않은 내용 수정

  • 각 역할에 따른 UI 개선

    • End User는 제품 번호, 등록일을 알 필요 없다. End User에게 필요한 내용만 걸러내도록 하자.
    • End User는 사진 별로 제품을 보여준다.
    • Admin에게는 더 다양한 정보를 제공할 수 있게 하고.
  • 알고리즘 개선

  • 상품 검색 시 제품명의 일부만 맞아도 검색 결과에 출력될 수 있도록 한다.

  • 상품 검색 시 가격의 범위를 지정해서 검색 결과에 출력될 수 있도록 한다.

  • 상품별 정렬 추가 : User와 Manager의 차이를 두자

  • 같은 상품에 대한 개수 추가

  • 같은 상품에 대한 개수도 추가해서 만약 상품이 전부 팔린다면 매진으로 출력한다.

  • 즉, 배송 상태는 각 유저의 구매 목록에서 확인할 수 있어야 한다.

  • 상품이 주문 완료 됐을 때, 관리자가 임의로 배송 상태를 조절할 수 있어야 한다.

  • 판매 완료 시, 상품 정보를 수정할 수 없어야 한다.

  • 배송 중일 때, 구매할 수 없어야 한다.

  • 배송 완료일 때, 모든 수정이 불가능해야 한다.

240302 - Spring, Mybatis를 이용한 Persistence Layer 간략화

  • User Component
  • Product Component
  • Purchase Component

240308 - Controller 최적화 및 Model과의 연결

  • User Component
  • Product Component
  • Purchase Component

240308 - Controller URI 수정

  • User Component
  • Product Component
  • Purchase Component

240315 - RestController 추가

  • User Component
  • Product Component
  • Purchase Component

240319 - jQuery로 View 수정

  • User Component
  • Product Component
  • Purchase Component

240409 - Spring Data JPA 변환 및 RestController 제작

  • User Component
  • Product Component
  • Purchase Component

240412 React로 View 다시 만들기, Client와 Server 분리

(미정)