Ohnolja

호기성세균·2023년 12월 14일
0

Project

목록 보기
6/16
post-thumbnail

👤팀원 소개

Backend LeadBackendBackendBackend
최혜미이유상백인권안수지
최혜미이유상백인권안수지
💡회원가입, 탈퇴
💡이메일 인증
💡상세 페이지 조회
💡사용자 리뷰 조회
💡사용자 정보 수정
💡spring security
💡프로젝트 배포
💡장바구니, 결제
💡사용자 예약조회
💡로그인(OAuth2)
💡Querydsl
💡메인페이지 조회
💡오픈api 활용
💡리뷰 crud 기능
💡좋아요 등록, 취소
💡위시 리스트

📌기술스택 & 구현환경

  • Java : Java
  • FrameWork : Spring Boot Spring Security Spring Data JPA Spring Web
  • Build : Gradle
  • VCS : Git GitHub
  • Database : GCP Cloud SQL
  • DBMS : MySQL
  • 배포환경 : GCP VM
  • 컨벤션 : Code Convention
  • 브랜치 전략 : GitFlow

📌프로젝트 내용

📌실행환경 설정 방법

  • .env 파일을 만들어서 최상단 디렉토리에 위치하여야 합니다.
  • env 파일은 아래의 형식으로 만들어야 합니다.
JWT_SECRET_KEY1=key1key1key1key1key1key1key1key1key1key1key1key1key1key1key1key1key1key1
JWT_SECRET_KEY2=key2key2key2key2key2key2key2key2key2key2key2key2key2key2key2key2key2key2
JWT_SECRET_KEY3=key3key3key3key3key3key3key3key3key3key3key3key3key3key3key3key3key3key3
TEST_ID=id
TEST_ID_PASSWORD=password
TEST_ID_EMAIL=email
  • docker 실행 후 docker-compose.yml을 실행해 데이터베이스 환경을 만들어야 합니다.

📌패키지 구조

 com.example.yanolja  
 ├── domain  
 │   ├── user  
 │   ├── accommodation  
 │   ├── review  
 │   ├── reservation  
 │   ├── accommodationLikes  
 │   ├── basket  
 │   ├── wishlist  
 │   ...  
 └── global  
      ├── springsecurity  
      ├── entity  
      ├── config  
      ├── exception  
      ├── jwt  
      └── util  

⭐ERD

⭐FlowChart

flow chart

⭐Project Architecture

image


📗세부기능 구현

1. 회원인증

  • 회원가입
    • 이메일 인증 / 이메일 중복확인 / 정보 유효성검사 / 탈퇴 계정 복구
  • 회원탈퇴
  • 로그인 / 로그아웃
  • 소셜 로그인(네이버, 구글)

2. 좋아요, 리뷰

  • 좋아요 등록, 취소
  • 리뷰 CRUD
  • 리뷰 상세조회

3. 메인페이지

  • 숙소 조회
    • 전체 / 개별 숙소 조회
  • 숙소 검색
  • 로그인 전, 후 UI 변동
  • 숙박업체 카테고리별 필터링

4. 마이페이지

  • 예약 내역
    • 예약 취소
    • 내 예약 조회
  • 내 리뷰
    • 내 리뷰 조
  • 내 정보 관리
    • 개인정보(닉네임, 전화번호, 비밀번호) 변경

5. 상세페이지

  • 숙소 상세 조회/ 방 상세 조회
  • 인원, 날짜로 예약 가능 숙소 필터링(품절 여부 표시)
  • 숙소 옵션(인원, 체류 날짜) 선택
  • 상품 예약 or 장바구니에 추가

6. 장바구니

  • 담기 / 보기
    • 예약 가능, 예약 불가능 숙소 조회 / 삭제
  • 주문하기
  • 결제하기
  • 주문 결과 확인

7. 위시리스트

  • 사용자가 좋아요 등록한 숙소 조회
  • 좋아요 등록, 취소

🛠️리팩토링

  • 전체적인 코드 리팩토링(코드리뷰 반영)
  • OAuth2 추가(구글, 네이버)
  • 메인페이지 업체 조회시 QueryDSL 적용
  • 기존 주석 Javadoc으로 교체
  • 레디스 적용

🎀시연 영상

main

login

detail

reservation

basket

wishlist

reservationdetail

myreview

mypage

profile
공부...열심히...

0개의 댓글