개발 기록/도서관 관리 시스템

[Library Management System] 25.10.08 (64일) | (UI) zustand, Header/Footer/Layout 컴포넌트화, 회원가입, (리팩토링) 리뷰 관련 api 기능 재정의

dev.jelee 2025. 10. 8. 12:24

[ 작업한 내용 ]

# Frontend

1. zustand로 사용자 인증 정보 관리

- zustand 설치

- useUserStore.jsx 생성하여 store create하기

- 유저 정보 불러오기, 유저 설정, 로그아웃 설정

 

2. Header, Footer, Layout 컴포넌트화 설정

- 중복되는 부분인 header, footer를 컴포넌트화 하기

- 홈, 로그인, 회원가입 화면의 위치는 공통적이기 때문에 Layout 컴포넌트를 생성하여 Header, Footer 사이에 Outlet을 두어 관리

 

3. 회원가입 화면 및 기능 구현

- 기존에 만든 FocusPlaceholderInput 컴포넌트 활용하여 입력칸으로 사용

- 회원가입 api 연결

 

4. 도서 전체목록 조회 후 페이징 기능 구현

- 도서 전체목록 api 연결


# Backend

1. 관리자: 책 리뷰 전체 목록 (페이징)

- Controller에서 RequestParam의 속성 name을 value로 변경.

- Controller와 Service 사이에서 반환과 결과를 저장할 때 Page타입에서 PageResponse로 수정.

- Service에서 Repository에서 조회한 값을 List로 형변환 하였는데 불필요하다고 판단하여 삭제하고 조회한 결과를 Page<AdminReviewListResDTO>로 맵핑하여 저장.

 

2. 관리자: 책 리뷰 타입별 검색 (페이징)

- Controller에서 RequestParam의 속성 name을 value로 변경.

- Controller와 Service 사이에서 반환과 결과를 저장할 때 Page타입에서 PageResponse로 수정.

- Service에서 불필요한 어노테이션 @Transactional 제거.

- Service에서 Repository에서 조회한 값을 List로 형변환 하였는데 불필요하다고 판단하여 삭제하고 조회한 결과를 Page<AdminReviewSearchResDTO>로 맵핑하여 저장.

 

3. 관리자: 특정 도서 리뷰 목록 (페이징)

- Controller에서 RequestParam의 속성 name을 value로 변경.

- Controller와 Service 사이에서 반환과 결과를 저장할 때 Page타입에서 PageResponse로 수정.

- Service에서 불필요한 어노테이션 @Transactional 제거.

- Service에서 Repository에서 조회한 값을 List로 형변환 하였는데 불필요하다고 판단하여 삭제하고 조회한 결과를 Page<AdminReviewBookIdResDTO>로 맵핑하여 저장.

 

4. 관리자: 리뷰 상세

- Controller에서 RequestParam의 속성 name을 삭제.

 

5. 관리자: 리뷰 삭제

- Controller에서 RequestParam의 속성 name을 삭제.

 

6. 공용: 특정 책 리뷰 전체 목록 (페이징)

- Controller에서 RequestParam의 속성 name을 value로 변경.

- Controller와 Service 사이에서 반환과 결과를 저장할 때 Page타입에서 PageResponse로 수정.

- Service에서 Repository에서 조회한 값을 List로 형변환 하였는데 불필요하다고 판단하여 삭제하고 조회한 결과를 Page<AllReviewListResDTO>로 맵핑하여 저장.


commit