도서 판매 웹사이트
사용자와 관리자가 모두 이용할 수 있는 종합 도서 판매 플랫폼입니다. 사용자는 도서 검색, 상세 조회, 장바구니 담기, 도서 구매, 리뷰 작성 등의 기능을 이용할 수 있습니다. 관리자는 도서 등록·수정·삭제, 재고 관리, 주문 내역 관리, 사용자 관리 등 플랫폼 운영에 필요한 다양한 관리 기능을 제공받습니다.
- 도서 조회 및 검색: 전체 도서 목록 확인 및 키워드 검색 기능
- 회원가입 및 마이페이지: 일반 사용자 및 관리자 가입, 내 정보 수정
- 장바구니 및 주문: 상품 담기, 수량 변경, 직접 구매 및 장바구니 결제 기능
- 게시판 및 리뷰: 게시글 작성 및 도서 리뷰 관리
- 도서 관리: 신규 도서 등록, 정보 수정 및 삭제
- 회원 관리: 전체 회원 목록 조회 및 권한/정보 관리
- 현황 파악: 도서 판매 현황 확인
- Language: Java 1.8
- Framework: Spring Framework 5.3.33 / Spring Web MVC 5.3.8
- Security: Spring Security 5.8.10
- ORM/Library: MyBatis 3.5.19, Lombok, Jackson, Jsoup
- Database: MySQL 8.0.33
- Connection Pool: HikariCP 6.3.0
- View: JSP (JSTL 1.2)
- Framework: Vue.js
- Cloud: AWS (Elastic Beanstalk, S3)
- CI/CD: GitHub Actions
- Build Tool: Maven
src
├── main
│ ├── java
│ │ ├── bestseller # 베스트셀러 데이터 처리 및 뷰 관리
│ │ ├── board # 게시판 CRUD 로직
│ │ ├── cart # 장바구니 및 쿠키 서비스
│ │ ├── category # 도서 카테고리 분류
│ │ ├── login # Spring Security 기반 인증/인가 설정
│ │ ├── purchase # 결제 시스템 및 주문 스케줄러
│ │ ├── restapi # 비동기 처리를 위한 REST 컨트롤러
│ │ └── user # 사용자 관리 및 네이버 도서 API 연동
│ ├── resources # DB 접속 정보 및 API 키 설정 (properties)
│ └── webapp
│ └── WEB-INF
│ ├── views # JSP 페이지 구성 (Board, Manager, User 등)
│ └── web.xml # 서블릿 및 필터 설정
GET /
도서 목록 페이지로 이동(user/booklist)
GET /insertform
도서 등록 폼으로 이동POST /insert
도서 등록 처리GET /bookeditform?id={id}
도서 수정 폼으로 이동POST /bookedit
도서 정보 수정 처리GET /bookdelete?id={id}
도서 삭제 처리GET /booklist
도서 목록 조회GET /salesview도서 판매 현황
GET /managerview
회원 목록 조회GET /managereditform?id={id}
회원 수정 폼으로 이동POST /manageredit
회원 정보 수정 처리GET /managerdelete?id={id}
회원 삭제 처리
GET /booklist
도서 목록 조회 (검색어 포함)GET /bookdetail?id={id}
도서 상세 정보 조회
GET /registerform
사용자 회원가입 폼POST /register
사용자 회원가입 처리GET /adminregisterform
관리자 회원가입 폼POST /adminregister
관리자 회원가입 처리GET /mypage/{username}
내 정보GET /checkPasswordform
내 정보 수정 시 비밀번호 확인 폼GET /editform/{id}
내 정보 수정 폼
GET /loginform
로그인 폼GET /login?error=true
로그인 실패 시 메시지 포함GET /logout
로그아웃 처리 후 도서 목록으로 이동
GET /purchase
구매 페이지 이동GET /mypurchaselist
현재 로그인한 사용자의 구매 내역 조회
POST /add
장바구니에 상품 추가 (bookId,quantity포함)GET /
로그인한 사용자 장바구니 목록 조회POST /updateQuantity
장바구니 상품 수량 변경 (bookId,quantity포함)POST /remove
장바구니에서 상품 삭제 (bookId포함)
POST /direct
도서 상세/목록에서 바로 구매 요청 (bookId,quantity포함) → 결제 페이지 이동POST /cart
장바구니 전체 상품 구매 준비 → 결제 페이지 이동GET /checkout
결제 페이지 조회 (type: direct 또는 cart,bookId및quantity포함 가능)POST /confirm
결제 확정 처리 (직접 구매 또는 장바구니 구매)GET /success
결제 성공 페이지 표시
POST /direct
도서 상세/목록에서 바로 구매 요청 (bookId,quantity포함) → 결제 페이지 이동POST /cart
장바구니 전체 상품 구매 준비 → 결제 페이지 이동GET /checkout
결제 페이지 조회 (type: direct 또는 cart,bookId및quantity포함 가능)POST /confirm
결제 확정 처리 (직접 구매 또는 장바구니 구매)GET /success
결제 성공 페이지 표시
GET /category/{category}
카테고리에 따른 책 목록
-
GET /main
게시글 목록(자신이 작성한 글은 별 표시) -
GET /write
게시글 작성(작성자는 아이디로 자동 기입) -
POST /write
게시글 작성 처리 -
GET /view?id={id}
게시글 상세보기(자신이 작성한 게시글만 수정,삭제 가능 단, 관리자는 모든 글 삭제 가능) -
POST /edit?id={id}
게시글 수정 폼 -
POST /edit
게시글 수정 처리 -
POST /delete
게시글 삭제 처리
GET /insertform
도서 등록 폼으로 이동POST /insert
도서 등록 처리GET /bookeditform?id={id}
도서 수정 폼으로 이동POST /bookedit
도서 정보 수정 처리GET /bookdelete?id={id}
도서 삭제 처리GET /booklist
도서 목록 조회GET /salesview도서 판매 현황
GET /managerview
회원 목록 조회GET /managereditform?id={id}
회원 수정 폼으로 이동POST /manageredit
회원 정보 수정 처리GET /managerdelete?id={id}
회원 삭제 처리
GET /booklist
도서 목록 조회 (검색어 포함)GET /bookdetail?id={id}
도서 상세 정보 조회
GET /registerform
사용자 회원가입 폼POST /register
사용자 회원가입 처리GET /adminregisterform
관리자 회원가입 폼POST /adminregister
관리자 회원가입 처리GET /mypage/{username}
내 정보GET /checkPasswordform
내 정보 수정 시 비밀번호 확인 폼GET /editform/{id}
내 정보 수정 폼
GET /loginform
로그인 폼GET /login?error=true
로그인 실패 시 메시지 포함GET /logout
로그아웃 처리 후 도서 목록으로 이동
GET /purchase
구매 페이지 이동GET /mypurchaselist
현재 로그인한 사용자의 구매 내역 조회
POST /add
장바구니에 상품 추가 (bookId,quantity포함)GET /
로그인한 사용자 장바구니 목록 조회POST /updateQuantity
장바구니 상품 수량 변경 (bookId,quantity포함)POST /remove
장바구니에서 상품 삭제 (bookId포함)
POST /direct
도서 상세/목록에서 바로 구매 요청 (bookId,quantity포함) → 결제 페이지 이동POST /cart
장바구니 전체 상품 구매 준비 → 결제 페이지 이동GET /checkout
결제 페이지 조회 (type: direct 또는 cart,bookId및quantity포함 가능)POST /confirm
결제 확정 처리 (직접 구매 또는 장바구니 구매)GET /success
결제 성공 페이지 표시
POST /direct
도서 상세/목록에서 바로 구매 요청 (bookId,quantity포함) → 결제 페이지 이동POST /cart
장바구니 전체 상품 구매 준비 → 결제 페이지 이동GET /checkout
결제 페이지 조회 (type: direct 또는 cart,bookId및quantity포함 가능)POST /confirm
결제 확정 처리 (직접 구매 또는 장바구니 구매)GET /success
결제 성공 페이지 표시
GET /category/{category}
카테고리에 따른 책 목록
-
GET /main
게시글 목록(자신이 작성한 글은 별 표시) -
GET /write
게시글 작성(작성자는 아이디로 자동 기입) -
POST /write
게시글 작성 처리 -
GET /view?id={id}
게시글 상세보기(자신이 작성한 게시글만 수정,삭제 가능 단, 관리자는 모든 글 삭제 가능) -
POST /edit?id={id}
게시글 수정 폼 -
POST /edit
게시글 수정 처리 -
POST /delete
게시글 삭제 처리