개발 기록/기록 일지

[Library Management System] 25.07.17 작업 1일차

dev.jelee 2025. 7. 17. 01:19

1. 기능 정리

더보기

1. 공통 (auth)
- 회원가입 / 로그인 / 로그아웃 (User)
- 관리자 로그인 (Admin)

2. 일반 사용자 (User)
- 도서 검색 / 도서 목록 조회
- 도서 대출 / 도서 반납
- 마이페이지: 내 정보 수정 / 탈퇴

3. 관리자 (Admin)
- 도서 관리: 등록 / 수정 / 삭제 / 목록 / 검색
- 회원 관리: 목록 / 검색 / 권한 설정 / 수정 / 삭제

<< 보완하면 좋은 기능 제안 >>
1) 사용자 측 (user)
- 도서 대출 이력 조회: 자신이 언제 어떤 책을 빌렸고 언제 반납했는지 확인 가능
- 대출 연장 기능: 정해진 기간 내에 1회 연장 가능 (예: 7일 연장)
- 대출 기간 제한: 예: 최대 2주까지 대출 가능, 초과 시 연체 처리
- 연체 도서 알림: 연체된 도서가 있으면 대출 불가 및 경고 표시

2) 관리자 측 (admin)
- 대출 통계: 인기 대출 도서 순위, 월별 대출 수 등 간단한 통계
- 연체 관리: 연체 중인 회원 목록, 연체 일수 표시
- 대출 이력 조회: 모든 회원의 도서 대출 및 반납 이력을 조회 가능
- 공지사항 관리 (선택): 시스템 점검, 연체 방침 등 사용자 공지 등록
- 관리자 권한 추가 (선택): 서브 관리자 역할 부여 (예: 도서만 관리 가능 등)


2. ERD 정리

더보기
[User] 1 --- * [Loan] * --- 1 [Book]
   │                         │
   └── 1 --- * [Review] * ---┘

[User] 1 --- * [Loan]
[Book] 1 --- * [Loan]
[User] 1 --- * [Review]
[Book] 1 --- * [Review]

[User (ADMIN)] 1 --- * [Notice]

3. Spring Boot 프로젝트 생성


4. GitHub repo 생성 (mini-library-management-system)


5. .gitignore 파일에서 READM.me 업로드 막기 설정


6. 디렉토리 하위 폴더마다 .gitkeep 파일 생성

더보기

아래 이미지처럼 하위 폴더마다 .gitkeep 생성


7. build.gradle 초기화 (JPA, web, jwt, spring security, lombok, mysql 등)


8. Docker container local에 생성

더보기

3350 포트로 컨테이너 생성


9. database 생성 > 각 table 생성  

더보기

1) library_management_system 데이터베이스 생성

2) user, book, loan, review, notice 테이블 생성