Spring Boot, Spring Data JPA, Spring Security 등의 기술스택을 이용하여 하나의 쇼핑몰 서비스를 구현합니다. 사용되는 기술들에 대한 익숙한 활용과 전체적인 개발 흐름을 파악하는 것에 중점을 두고 프로젝트를 진행하였습니다.
- Java, Spring Boot, Spring Data JPA, Spring Security
- MySQL, Hibernate
- HTML, CSS, Javascript, Thymeleaf
- 회원가입, 로그인/로그아웃
- 역할(admin, user)에 따른 권한 설정
- 상품 등록 -
create- 상품 조회 -
read- 조회를 위한 조건 필터링 및 검색 기능
- 관리자와 일반 회원에 따른 조회
- 상품 관리 -
updatedelete
- 상품 주문 -
create- 주문 내역 조회 -
read- 주문 취소 -
delete
- 장바구니에 상품 추가 -
create- 장바구니 조회 -
read- 장바구니 상품 정보 수정 -
update- 장바구니에 있는 상품 삭제 -
delete- 장바구니에 있는 상품 주문
member: 쇼핑몰 회원 정보 테이블item: 상품 정보 테이블item_img: 상품 이미지 정보 테이블order: 회원들의 주문 정보 테이블order_item: 주문이 완료된 상품 정보 테이블cart: 회원들이 생성한 장바구니 정보 테이블cart_item: 장바구니에 담긴 상품 정보 테이블
| Method | URL | Description |
|---|---|---|
| GET | / | 메인 페이지 |
| Member | ||
| GET | /members/new | 회원가입 페이지 |
| POST | /members/new | 회원가입 |
| GET | /members/login | 로그인 페이지 |
| GET | /members/login/error | 로그인 실패 페이지 |
| Item | ||
| GET | /admin/item/new | 상품 등록 페이지 (관리자) |
| POST | /admin/item/new | 상품 등록 (관리자) |
| GET | /admin/item/{itemID} | 상품 수정 페이지 (관리자) |
| POST | /admin/item/{itemID} | 상품 수정 (관리자) |
| GET | /admin/items | 상품 관리 페이지 (관리자) |
| GET | /item/{itemId} | 상품 상세 페이지 |
| Order | ||
| POST | /order | 상품 주문 |
| GET | /orders | 주문 내역 조회 |
| POST | /order/{orderId}/cancel | 주문 취소 |
| Cart | ||
| POST | /cart | 장바구니에 상품 추가 |
| GET | /cart | 장바구니 조회 |
| PATCH | /cartItem/{cartItemId} | 장바구니 상품 수량 변경 |
| DELETE | /cartItem/{cartItemId} | 장바구니에서 상품 제거 |
| POST | /cart/order | 장바구니 상품 주문 |
