5. 판매 상품 게시글 페이지 (1) - 구상

2020. 12. 30. 00:41프로젝트/Salle(살래) 중고거래 웹

728x90

요약

  • NEXT TODO: 판매 게시글 페이지 - Service, Controller 구현. Product DB 수정

진행사항

  • Agenda: 판매 상품 게시글 페이지 구상


    • 레퍼런스: 당근마켓
      • DB
        • Product DB: IMG, Nickname, Region, Title, Category, Price, Detail, Date + (New) id(for Product board)
        • (New) Board DB: 찜(Bookmark), 조회수(viewCount)
      • Route
        • 게시글에 접근 가능한 경로: 검색(Search), 메인페이지(Recommendation), 카테고리(Category)
        • 썸네일이 있는 게시글일 뿐이다.
      • Page
        • 상품 등록하기 클릭 → .jsp 생성 → 메인 페이지 썸네일 생성, 게시글 생성
    • Page Arrange

     



    • (CSS) 구획은 Flex로 나눈다.
    • [x] Nav bar - <jsp:include page="home_navbar.jsp">(dynamic) or <%@include file="" %>(static) 둘의 차이는 included page가 실행돼야 하는 동적 페이지라면 dynamic을 사용해야한다. home.jsp은 정적 페이지 이므로 include file을 사용한다.

    • [ ] pr_img_1
      • Product Select문: product_id을 where 조건으로 이용해 모든 정보 받아서 Product 객체에 저장하는 메서드 생성. pr_img는 저장된 img_file 컬럼들만 Product 타입으로 불러온다.
      • 불러온 img_file 정보로 로컬 폴더 img_file을 product_info view에 저장한다.
        • 파일이 2개 이상일 경우, IMG들을 배열에 담아 btn_pre를 클릭하면 arr[index - 1] IMG 송출, btn_next를 클릭하면 arr[index + 1] IMG를 송출한다. 만일 index가 0이거나 length - 1이라면 버튼을 disable 처리한다.

    • [ ] nickName
      • Select + join문: Member, Prodcut Table의 공통되는 데이터 email을 이용해 두 Table을 join한 다음 해당 email을 가진 사용자 Member Table에서 nickName을 가져온다.
      • 클릭 시 내 상점과 유사한 profile이 뜨게 하는 기능은 내상점 페이지 할 때 같이 작업한다. ex) <a href="profile.jsp"...>
    • [ ] pr_region
      • Product Select문으로 받은 Product 객체 내 pr_region값을 받아서 송출시켜준다.

    • [ ] pr_title, pr_category, pr_price
      • pr_region과 동일
    • [ ] upload_date
      • if (현재 시간 - pr_reg_date) < 24시간 → n시간
      • else if (...) < 144시간 → (n시간 / 24) 일 전
      • else if (...) < 4320시간 → (n시간 / (24 * 7)) 주 전
      • else if (...) < 4320시간 * 12 → (n시간 / (24 * 30)) 달 전
      • else → (n시간 / (24 * 365)) 년 전

    • [ ] pr_detail
      • pr_region과 동일