25.04.22 - 25.04.29
이 프로젝트는 유저와 사장님을 위한 배달 서비스 백엔드 시스템입니다. 회원가입부터 주문, 리뷰, 포인트 및 쿠폰 사용까지 배달 서비스 전체 흐름을 구현하였으며, 소셜 로그인(OAuth2) 및 토스 결제 연동으로 실제 서비스 수준의 기능을 목표로 합니다.
| 분류 | 기술 |
|---|---|
| Backend | Java 17, Spring Boot, Spring MVC, Spring Security, JPA, Hibernate |
| Database | MySQL, Redis |
| Infra | Docker |
| Build | Gradle |
| Tools | IntelliJ, Postman, Git |
- 네이버, 카카오 소셜 로그인 지원 (OAuth2)
- JWT 기반 로그인 처리
- 필터를 통한 인증 처리
- 탈퇴 후 ID 재사용 불가 / 복구 불가
- 키워드 기반 통합 검색 (가게, 메뉴)
- 가게 단건 조회 (메뉴 포함)
- 한 가게 메뉴만 담을 수 있음
- 가게 변경 시 장바구니 초기화
- 마지막 업데이트로부터 24시간 유지
- 장바구니에서 주문 생성
- 본인의 주문 내역, 단건 조회
- 포인트 사용 가능 (포인트로만 결제 가능)
- 토스 결제 API 연동을 통한 포인트 충전
- 🔔 알림 : 주문 상태 변경 시 알림 받기
- 리뷰 작성 및 조회, 삭제
- 각 메뉴별 리뷰 작성 가능
- 가게 생성 / 수정 / 폐업
- 가게 카테고리 설정 (한식, 중식, 일식 등)
- 메뉴 생성 / 수정 / 삭제
- 메뉴 카테고리 구성
- 주문 수락 / 취소 / 완료 처리
- 주문 상세 조회, 가게 주문 전체조회
| 이름 | GitHub | 역할 |
|---|---|---|
| 김정민 | @Juungmini0601 | 팀장 / 가게 및 메뉴 CRUD, 키워드 기반 통합 검색 |
| 성우영 | @SW00Y | 장바구니, 결제 기능 보조 |
| 정석현 | @sukh115 | 회원 / 인증기능 (소셜 로그인), 알림 기능 |
| 권새롬 | @Ksr-ccb | 장바구니, 결제 기능 |
| 이승현 | @SeungHyunLee054 | 포인트 충전( 토스 API), 리뷰 기능 |
+---java
| \---rider
| \---nbc
| | Nbc15Application.java
| |
| +---domain
| | +---cart
| | | +---controller
| | | | CartController.java
| | | |
| | | +---dto
| | | | +---request
| | | | | CartAddRequestDto.java
| | | | | CartUpdateRequestDto.java
| | | | |
| | | | \---response
| | | | CartItemResponseDto.java
| | | | CartListResponseDto.java
| | | |
| | | +---exception
| | | | CartException.java
| | | | CartExceptionCode.java
| | | |
| | | +---repository
| | | | CartRedisRepository.java
| | | |
| | | +---service
| | | | CartService.java
| | | |
| | | \---vo
| | | Cart.java
| | | MenuItem.java
| | |
| | +---menu
| | | +---controller
| | | | MenuController.java
| | | |
| | | +---dto
| | | | MenuCreateRequestDto.java
| | | | MenuResponseDto.java
| | | | MenuUpdateRequestDto.java
| | | |
| | | +---entity
| | | | Menu.java
| | | |
| | | +---exception
| | | | MenuException.java
| | | | MenuExceptionCode.java
| | | |
| | | +---repository
| | | | MenuRepository.java
| | | |
| | | \---service
| | | MenuService.java
| | |
| | +---order
| | | +---controller
| | | | OrderController.java
| | | |
| | | +---dto
| | | | +---requestDto
| | | | | OrderStatusRequestDto.java
| | | | |
| | | | \---responseDto
| | | | OrderResponseDto.java
| | | | OrderStatusResponseDto.java
| | | |
| | | +---entity
| | | | Order.java
| | | |
| | | +---enums
| | | | OrderStatus.java
| | | |
| | | +---exception
| | | | OrderException.java
| | | | OrderExceptionCode.java
| | | |
| | | +---repository
| | | | OrderRepository.java
| | | |
| | | +---service
| | | | OrderService.java
| | | |
| | | \---vo
| | | OrderMenu.java
| | |
| | +---payment
| | | +---constant
| | | | PaymentConstants.java
| | | |
| | | +---controller
| | | | PaymentController.java
| | | |
| | | +---dto
| | | | +---request
| | | | | PaymentCancelRequest.java
| | | | | PaymentRequest.java
| | | | |
| | | | \---response
| | | | PaymentFailResponse.java
| | | | PaymentResponse.java
| | | |
| | | +---entity
| | | | Payment.java
| | | |
| | | +---enums
| | | | OrderNameType.java
| | | | PayType.java
| | | |
| | | +---exception
| | | | | PaymentException.java
| | | | |
| | | | \---code
| | | | PaymentExceptionCode.java
| | | |
| | | +---repository
| | | | PaymentRepository.java
| | | |
| | | \---service
| | | PaymentService.java
| | |
| | +---review
| | | +---controller
| | | | StoreReviewController.java
| | | |
| | | +---dto
| | | | +---request
| | | | | StoreReviewCreateRequest.java
| | | | | StoreReviewUpdateRequest.java
| | | | |
| | | | \---response
| | | | StoreReviewResponse.java
| | | |
| | | +---entity
| | | | StoreReview.java
| | | |
| | | +---exception
| | | | | StoreReviewException.java
| | | | |
| | | | \---code
| | | | StoreReviewExceptionCode.java
| | | |
| | | +---repository
| | | | StoreReviewRepository.java
| | | |
| | | +---service
| | | | StoreReviewService.java
| | | |
| | | \---vo
| | | MenuReview.java
| | |
| | +---store
| | | +---constant
| | | | StoreConstants.java
| | | |
| | | +---controller
| | | | StoreController.java
| | | |
| | | +---dto
| | | | StoreCreateRequestDto.java
| | | | StoreDetailResponseDto.java
| | | | StoreResponseDto.java
| | | | StoreReviewsResponseDto.java
| | | | StoreUpdateRequestDto.java
| | | |
| | | +---entity
| | | | OperatingHours.java
| | | | Store.java
| | | | StoreAddress.java
| | | | StoreStatus.java
| | | |
| | | +---exception
| | | | StoreException.java
| | | | StoreExceptionCode.java
| | | |
| | | +---repository
| | | | StoreRepository.java
| | | |
| | | \---service
| | | StoreService.java
| | |
| | \---user
| | +---controller
| | | UserController.java
| | |
| | +---dto
| | | KakaoUserInfoResponse.java
| | | LoginRequestDto.java
| | | NaverUserInfoResponse.java
| | | ReissueRequestDto.java
| | | SignupRequestDto.java
| | | UpdatePasswordRequestDto.java
| | | UpdateUserRequestDto.java
| | | UpdateUserResponseDto.java
| | | UserResponseDto.java
| | | WithdrawRequestDto.java
| | |
| | +---entity
| | | Role.java
| | | SocialType.java
| | | User.java
| | | UserStatus.java
| | |
| | +---exception
| | | UserException.java
| | | UserExceptionCode.java
| | |
| | +---repository
| | | UserRepository.java
| | |
| | \---service
| | CustomOAuth2UserService.java
| | UserService.java
| |
| \---global
| +---aop
| | OrderLogAspect.java
| |
| +---auth
| | AuthUser.java
| |
| +---config
| | JpaConfig.java
| | RedisConfig.java
| | RestTemplateConfig.java
| | SecurityConfig.java
| | SwaggerConfig.java
| | TimeBaseEntity.java
| |
| +---exception
| | | BaseException.java
| | |
| | +---dto
| | | ValidationError.java
| | |
| | \---handler
| | GlobalExceptionHandler.java
| |
| +---handler
| | OAuth2LoginSuccessHandler.java
| |
| +---jwt
| | | JwtAuthenticationEntryPoint.java
| | | JwtAuthenticationFilter.java
| | | JwtTokenProvider.java
| | |
| | +---dto
| | | TokenResponseDto.java
| | |
| | +---jwtException
| | | JwtAuthenticationException.java
| | | JwtErrorResponse.java
| | | JwtExceptionCode.java
| | |
| | \---service
| | RefreshTokenService.java
| |
| +---response
| | CommonResponse.java
| | CommonResponses.java
| |
| \---util
| LogUtils.java
|
\---resources
| application-local.yml
| application.yml
|
\---static
toss.html

