1. 개발환경
- 1. 프레임워크 및 라이브러리: Spring Boot3.2.2, Thymeleaf
- 2. 개발도구: IntelliJ IDEA
- 3. 데이터베이스: Mysql, redis
- 4. 운영체제: macOS
- 5. 화면구현: bootStrap, Javascript, JQuery
2. 기능설계
2.1. 회원 기능
- 회원가입
- 아이디는 이메일 사용 (이메일 인증 필수)
- 아이디 중복 불가
- 아이디, 비밀번호, 이름 비어있는지 확인
- 로그인
- 아이디, 비밀번호로 로그인
- 정보 수정
- 비밀번호, 이름 변경 가능
- 배송지 수정
- 다음 우편번호 API를 사용하여 우편번호, 도로명주소, 상세정보를 입력 받음
- 마이페이지
- 주문내역 확인 및 삭제
- 찜한상품 리스트 확인
- 장바구니에 담은 상품들 확인
- 내정보 확인 및 수정
- 배송지 확인 및 수정
2.2. 상품 기능
- 상품 리스트 조회
- 카테고리별 상품 리스트 출력
- 상품 이름으로 검색 기능
- 한 페이지에 10개씩 출력
- 상품 조회
- 리스트 페이지에서 상품 선택시 해당 상품 페이지로 이동
- 해당 상품의 상품명, 가격, 배송비, size 정보 출력
- 수량 선택 후 장바구니 또는 주문하기 버튼 클릭 시 해당 페이지로 이동
- 로그인 한 회원이면 해당 상품을 위시리스트에 추가할 수 있음
- 해당 상품의 리뷰 및 Q&A 리스트 출력
- 상품 생성
- 관리자만 글을 작성할 수 있음
- 상품 관련 정보 입력 기능
- 이미지는 여러장 업로드 가능하며 업로드한 이미지들은 업로드 이미지 버튼 클릭시 해당 화면에서 바로 확인 가능, 특정 이미지 삭제 및 추가 가능글 작성
- 상품 수정
- 관리자만 글을 수정할 수 있음
- 상품명을 제외한 상품 관련 정보 수정 가능
- 상품 삭제
- 해당 상품의 주문 내역이 없는 경우에만 삭제 가능
- 해당 상품과 연관된 이미지 모두 삭제
- 리뷰 및 Q&A 기능
- 로그인한 회원이라면 특정 상품에 대한 리뷰,Q&A를 작성할 수 있음
- 본인의 리뷰,Q&A를 삭제할 수 있음
- 관리자는 Q&A에 답글을 달 수 있음
2.3. 주문 기능
- 주문 생성
- 로그인 한 회원만 주문 가능
- 주문에 포함된 상품들 중 재고가 주문한 상품보다 적을 경우 수량부족 예외 발생
- 주문 리스트 조회
- 주문 ID, 주문일자, 주문상태, 배송상태 출력
- 마이페이지 내 주문내역 카테고리에서 주문리스트 확인 가능
- 배송상태가 READY일 경우 주문 취소 버튼 클릭 시 주문상태 CANCEL로 변경
- 주문 ID 클릭시 해당 주문의 상세정보 조회 가능 (주문일자, 구매한 상품 리스트, 수량, 가격, 총금액)
- 한 페이지에 10개씩 출력
2.4. 위시리스트 기능
- 위시리스트 생성
- 상품 상세페이지에서 wishlist버튼 클릭 시 위시리스트에 추가, 두번 클릭시 위시리스트에서 삭제
- 위시리스트 조회
- 마이페이지 내 찜한상품 카테고리에서 위시리스트 확인 가능
- 한 페이지에 10개씩 출력
2.5. 장바구니 기능
- 장바구니 생성
- 상품 상세페이지에서 cart 버튼 클릭시 장바구니에 추가, 동일한 상품을 두번 이상 추가할 경우 장바구니에서 해당 상품을 찾은 후 추가한 수량만큼 더한 후 저장
- 장바구니 리스트 조회
- 마이페이지 내 장바구니 카테고리에서 장바구니 리스트 확인 가능
- 장바구니 리스트 앞에 체크박스를 클릭하면 총 금액에 해당 상품의 금액이 더해져서 출력
- 주문할 상품의 체크박스를 클릭 후 주문하기 버튼 누르면 해당 상품들이 주문됨
2.6. 관리자 기능
- 관리자는 관리자 페이지에 접근 가능
- 모든 회원의 주문 확인 및 주문상태 변경, 배송상태 변경 가능
- 모든 회원의 Q&A 확인 및 답글 달 수 있음
3. 결과
3.1. 결과 설명
사진 출처
출처 Freepik
작가 grmarc 출처 Freepik
출처 Freepik
'web > Bakery Shop Project' 카테고리의 다른 글
쇼핑몰 구현 7 - 환경설정 (0) | 2024.02.23 |
---|---|
쇼핑몰 구현 6 - 라이브러리 설치, Entity 생성 (0) | 2024.02.23 |
쇼핑몰 구현 4 - API 엔드포인트 설계 (0) | 2024.01.31 |
쇼핑몰 구현 3 - db설계 (0) | 2024.01.31 |
쇼핑몰 구현 1 - 주요기능 (0) | 2024.01.31 |