중고거래 사이트는 판매자와 구매자 간의 중고 물품 거래를 할수있는 사이트입니다. 사용자는 개인적으로 물건을 사고 팔수있고 쇼핑몰을 운영할수 있습니다. 관리자는 admin으로서 모든 권한을 갖고 있습니다.
- Spring Boot 3.2.3
- Spring Security
- jwt
- Spring Data JPA
- Querydsl
- SQLite
본 Repository를 clone 받은 후, Intellij IDEA를 이용하여 clone 받은 폴더를 엽니다. MarketApplication.java
의 main 메서드를 실행하면 됩니다.
SQLite를 사용하며, 테스트 데이터를 넣어주기 위한 data.sql
이 첨부되어 있고 직접 실행시켜서 테스트가 가능합니다.
-
사용자 인증
- Spring Security를 사용해 jwt를 헤더에 첨부하여 사용자 인증을 수행
- WebSecurityConfig를 통해 JwtTokenFilter에서 jwt를 확인하여 권한 확인
- 최초 회원가입시 비활성 사용자가 되며 추가정보 기입시 일반 사용자로 자동 변경
- 사업자로 변경을 원할경우 관리자에게 변경신청 가능
- 관리자는 신청목록을 통해 사업자 승인 또는 거절 가능
-
중고 거래
- 일반 사용자는 물건(Item) 판매를 위해 등록 가능
- 판매자는 물건(제목, 설명, 가격, 이미지) 수정, 삭제 가능
- 물건(제목, 설명, 가격, 이미지)은 등록시 판매중 상태로 변경(비활성 사용자 제외 열람가능)
- 사용자는 판매자와 구매 제안 등록 가능
- 판매자는 구매 제안 수락 또는 거절 가능
-
쇼핑몰 개설
- 사업자로 변경시 준비중 상태인 쇼핑몰이 추가됨
- 쇼핑몰 추가정보(이름,소개,분류) 기입시 쇼핑몰 오픈 신청 가능
- 관리자는 신청목록 확인, 수락 및 거절 가능
- 수락시 쇼핑몰은 오픈 상태로 변경
- 거절시 거절 이유 명시하고 사업자가 확인할수 있음
- 사업자는 오픈된 쇼핑몰을 폐쇄요청 가능하고 관리자 수락시 폐쇄
-
쇼핑몰 관리
- 쇼핑몰 조회기능(이름, 분류로 검색, 최근 거래내역이 빠른순)
- 쇼핑몰 상품 검색기능(상품 이름, 가격 범위를 기준으로 상품 검색가능, 이때 조회되는 상품과 함께 쇼핑몰도 같이 조회돼야함)
- 상품과 구매수량을 정해서 구매요청가능
- 주인은 구매요청 수락 또는 거절 가능
- 수락시 상품재고 감소 및 매진시 매진상태로 변경