[game] toy project 시작...

myminimin·2023년 10월 10일
0

toyproject

목록 보기
8/17
post-custom-banner

Java, Spring boot 프레임워크를 이용한 프로젝트 진행 중

수업 중에 사용한 3개의 책들에서 구현된 기능들을 바탕으로 스팀과 같은 커뮤니티 기능이 포함된 복합 쇼핑몰을 만들기로 정했다.

일단은 책에 있는 기본 템플릿들을 이용하고 백엔드 구현 끝나고 프론트로 데이터 전이까지 다 확인이 되면 그때 여러 사이트들을 이용해서 꾸며?보기로 했다.

구현

  • DB 설계, ERD

  • 시큐리티 이용해 회원가입/로그인(admin/user 권한)
    /members/login : 로그인 페이지 admin으로 로그인 시 상품 등록, 관리 노출
    /members/register : 회원 가입 페이지

  • 관리자 모드일 경우
    /item/register : 상품 등록(파일 첨부 기능도 추가)
    /item/list : 상품 관리 페이지(list 정상 출력 확인 후 게시판 구현, 추후 U/D 구현할 예정)

  • 일반 사용자일 경우
    /review/list : 상품들의 후기 목록(member, review, item 다중 테이블에서 값을 가지고 오는데 예전에 spring에서 구현했던 것보다 매우 쉽게 구현이 됐다. 포스팅할 예정)
    /review/read : 상품 후기 번호 클릭 시 이동, 상세페이지
    /review/modify : 상품 수정(구현 중 403 에러가 떠서 해결 중이다)


쇼핑몰 책에는 리뷰와 게시판 기능이 없고, 리뷰가 있는 게시판에는 쇼핑몰이 없고, 게시판을 구현하는 책에는 쇼핑몰과 리뷰가 없다보니.... 셋에서 원하는 기능만 쏙쏙 가져와서 사용하면 되겠지? 라고 처음에 쉽게 생각을 했다. 그런데 막상 쇼핑몰 책을 메인으로 해서 기능을 구현하다보니 문제가 발생했다.

  1. 쇼핑몰 책
  • Entity클래스와 DTO 사이에서 데이터 변환을 수행하는 과정을 modelMapper를 이용함
  • builder 패턴을 사용하지 않음
  • 스프링 부트 2.5 버전
  • 시큐리티 csrf 사용
  1. 영화 리뷰 책
  • Entity클래스와 DTO 사이에서 데이터 변환을 dtoToEntity/EntityToDto를 사용함
  • builder 패턴을 사용
  • 스프링 부트 2.7 버전
  1. 게시판 책
  • modelMapper 이용
  • builder 패턴을 사용
  • 스프링 부트 2.7 버전
  • 시큐리티 csrf 미사용

다행이라고 해야하나 책을 쓴 저자의 카페를 가면 spring boot 3.0 이후 버전에서 적용할 수 있는 queryDSL이나 시큐리티가 있기는 했지만 ... 버전 차이에서 오는 오류가 너무 많았다. 나는 스프링 부트 2.7 버전으로 구현을 했는데 저자들의 github에는 3.0 이후 최신화가 되어있는 코드를 보고 구현을 하다 시큐리티 부분에서 막혔던 경험이 있다... (해결은 했지만)


한 번 다중 entity 클래스에서 데이터를 꺼내오는 걸(책에도 없다...) 쌩으로 해보니까 어느정도 패턴에 익숙해지고 코드들이 눈에 잘 들어와서 내가 컨디션이 무너지지만 않으면 이번 주내에는 백엔드쪽은 다 끝날 것 같다? (백엔드 완성하면 프론트도 좀 손보자... 너무 못생겼다)

리뷰 게시판 수정, 삭제 끝내고 메인 페이지에서 상품들 출력시킨 뒤에 장바구니/주문 쪽 코드만 조원들이 만든 거 참고해서 병합하면... 그럭저럭 완성은 될 것 같다. 여기에서 더 추가하고 싶은 기능은 너무 많지만 일단은 기본에 충실하기로 하자...

post-custom-banner

0개의 댓글