실시간 입찰 시스템을 도입한 중고 경매 플랫폼입니다.
이메일 인증 기반의 회원 가입부터 상품 등록, 경매, 결제까지 전 과정을 지원하는 경매 플랫폼입니다. 정교한 입찰 시스템과 시간 제한 기반의 정산 절차를 통해 안전하고 투명한 거래 환경을 제공합니다.
- 회원 가입: 이메일 인증 후 가입, 비밀번호 패턴 검증, 닉네임 중복 체크
- 로그인: 소셜 로그인, 비밀번호 재발급 지원
- 회원 정보 관리: 닉네임 수정, 회원 탈퇴 (진행 중인 경매가 없을 때만 가능)
- 이력 조회: 판매 이력, 입찰 내역 확인
- 상품 등록: 상품명, 카테고리, 설명, 이미지(1-4장), 썸네일, 주소 입력
- 상품 제거: 낙찰 완료 전 상품 삭제
- 경매 시작: 경매 기간, 시작가 설정, 즉시 입찰가 옵션
- 응찰: 최고가 입찰자가 낙찰, 동일가격 시 시간순 우선
- 즉시 입찰: 설정된 즉시 입찰가로 바로 구매
- 경매 취소: 낙찰 전까지 가능
- 결제 프로세스: 배송지 입력 후 결제 진행
- 시간 제한: 낙찰자 24시간, 차상위 입찰자 48시간
- 차상위 입찰자 시스템: 1차(최상위) 낙찰자 결제 실패 시 차상위자에게 기회 제공
![]() Java 21 |
![]() Spring Boot 3.4.3 |
![]() React |
![]() Spring Security |
![]() Spring Data JPA |
![]() JWT |
![]() MySQL |
Git |
![]() GitHub |
![]() Notion |
![]() Swagger |
![]() Postman |
![]() AWS EC2 |
![]() AWS RDS |
![]() AWS S3 |
![]() Nginx |
PO | 백엔드 리더 | AWS | 팀원 | 팀원 |
---|---|---|---|---|
![]() 고지훈 |
![]() 김성원 |
![]() 박유한 |
![]() 정미광 |
![]() 진주열 |
이름 | 담당 기능 |
---|---|
고지훈 | 프로젝트 총괄 S3 이미지 업로드 인프라 설정 및 관리 락 설정 및 관리 알림 시스템 BugFix |
김성원 | 입찰 도메인 담당 리뷰 도메인 담당 웹 소켓 스케줄러 마이페이지 GitHub Action BugFix |
박유한 | AWS 담당 인프라 설정 및 관리 결제 및 주문 도메인 담당 정산 도메인 담당 스케줄러 작성 배송 도메인 담당 마이페이지 BugFix GitHub Action |
정미광 | 상품-경매 도메인 담당 위시리스트 도메인 담당 BugFix |
진주열 | 회원 도메인 담당 시큐리티 설정 및 보안 소셜 로그인(Oauth2.0) 연동 BugFix |


















-
이슈 생성
- GitHub 이슈를 통해 작업 항목 정의
-
브랜치 생성
dev
브랜치에서 이슈별 작업 브랜치 생성- 브랜치 명명 규칙 예시:
feat/이슈번호/JJY
-
PR 및 코드 리뷰
- 작업 완료 후 Pull Request(PR) 생성
- 팀원 간 코드 리뷰 진행
-
Merge 및 브랜치 정리
- 리뷰 완료 후
dev
브랜치로 Squash and Merge - 병합 후 해당 이슈 브랜치 삭제하여 브랜치 난립 방지
dev
브랜치 최신 상태 유지
- 리뷰 완료 후
스타일 가이드
패키지 구조
deal4u/
├── FourPleaseBeApplication.java # 스프링 부트 메인 실행 파일
├── config/ # 환경 설정 (보안, CORS, Swagger, 인코딩 등)
├── domain/ # 비즈니스 도메인 계층
│ ├── auction/ # 상품-경매 도메인
│ │ ├── controller/
│ │ ├── dto/
│ │ ├── entity/
│ │ ├── factory/
│ │ ├── mapper/
│ │ ├── reader/
│ │ ├── repository/
│ │ ├── rules/
│ │ ├── service/
│ │ └── validator/
│ ├── auth/ # 인증 도메인
│ │ ├── controller/
│ │ ├── dto/
│ │ ├── entity/
│ │ ├── filter/
│ │ ├── handler/
│ │ ├── model/
│ │ ├── repository/
│ │ ├── service/
│ │ └── token/
│ ├── bid/ # 입찰 도메인
│ │ ├── controller/
│ │ ├── dto/
│ │ ├── entity/
│ │ ├── mapper/
│ │ ├── repository/
│ │ └── service/
│ ├── common/ # 공통 도메인
│ ├── file/ # 파일 도메인
│ │ ├── config/
│ │ ├── entity/
│ │ ├── service/
│ │ ├── type/
│ │ └── util/
│ ├── member/ # 멤버 도메인
│ │ ├── controller/
│ │ ├── dto/
│ │ ├── entity/
│ │ ├── mypage/
│ │ │ ├── controller/
│ │ │ ├── dto/
│ │ │ ├── mapper/
│ │ │ └── service/
│ │ ├── repository/
│ │ └── service/
│ ├── notification/ # 알림 도메인
│ │ ├── email/
│ │ └── pushnotification/
│ │ ├── controller/
│ │ ├── dto/
│ │ ├── entity/
│ │ ├── exception/
│ │ ├── mapper/
│ │ ├── message/
│ │ ├── repository/
│ │ └── service/ # #
│ ├── order/ # 주문 도메인
│ │ ├── controller/
│ │ ├── dto/
│ │ ├── entity/
│ │ ├── mapper/
│ │ ├── repository/
│ │ ├── service/
│ │ └── util/
│ ├── payment/ # 결제 도메인
│ │ ├── config/
│ │ ├── controller/
│ │ ├── dto/
│ │ ├── entity/
│ │ ├── mapper/
│ │ ├── repository/
│ │ └── service/
│ ├── review/ # 리뷰 도메인
│ │ ├── controller/
│ │ ├── dto/
│ │ ├── entity/
│ │ ├── mapper/
│ │ ├── repository/
│ │ └── service/
│ ├── settlement/ # 정산 도메인
│ │ ├── controller/
│ │ ├── entity/
│ │ ├── mapper/
│ │ ├── repository/
│ │ └── service/
│ ├── shipment/ # 배송 도메인
│ │ ├── controller/
│ │ ├── dto/
│ │ ├── entity/
│ │ ├── mapper/
│ │ ├── repository/
│ │ └── service/
│ ├── wishlist/ # 위시리스트 도메인
│ │ ├── controller/
│ │ ├── dto/
│ │ ├── entity/
│ │ ├── mapper/
│ │ ├── repository/
│ │ ├── service/
│ │ └── validator/
├── global/ # 전역 설정
│ ├── exception/ # 전역 예외 처리 (GlobalExceptionHandler 등)
│ ├── lock/ # 전역 락 관련 처리
│ ├── properties/ # 전역 S3 관련 처리
│ ├── scheduler/ # 전역 스케줄러 처리
│ └── util/ # 전역 유틸리티 클래스 (암호화, 유효성 검증 등)
https://drive.google.com/file/d/1IE1btKPtBWgmXyU6UdWVOH_c1h7N-uWT/view?usp=sharing