Skip to content

[feat] Main 브랜치에 변경사항 반영#81

Merged
KiSeungMin merged 0 commit into
mainfrom
develop
Jul 29, 2025
Merged

[feat] Main 브랜치에 변경사항 반영#81
KiSeungMin merged 0 commit into
mainfrom
develop

Conversation

@KiSeungMin

@KiSeungMin KiSeungMin commented Jul 29, 2025

Copy link
Copy Markdown
Member

✔️ 연관 이슈

📝 작업 내용

  • main 서버 및 EC2 서버에 현재까지의 개발 진행 상황을 반영합니다

스크린샷 (선택)

Summary by CodeRabbit

  • 신규 기능

    • 사용자 회원가입, 로그인, 토큰 재발급, 로그아웃, 상세 정보 등록/수정 등 사용자 인증 및 관리 API 추가
    • 카카오 소셜 로그인 및 사용자 정보 연동 기능 추가
    • 웨이블존 검색, 추천, 저장, 상세 조회, 리뷰 등록 및 조회 등 주요 서비스 API 다수 추가
    • 리뷰 이미지, 시설 정보, 사용자 장소 저장, 추천 로그 등 다양한 엔티티 및 DTO 도입
    • Elasticsearch 기반 웨이블존 검색/추천, 도보 길찾기(TMAP 연동) 기능 추가
    • S3 파일 업로드, JWT 인증, Swagger(OpenAPI) 문서화, Spring Security 등 인프라/보안 기능 추가
    • Docker, Docker Compose, CI/CD 워크플로 및 환경설정 파일 추가
  • 버그 수정

    • 일부 오류 코드 및 예외 처리 개선
  • 문서화

    • API 문서 자동화(Swagger/OpenAPI) 및 예시/설명 추가
  • 리팩터링

    • 기존 예제/불필요 컨트롤러, 서비스, 템플릿 파일 삭제 및 구조 개선
  • 기타

    • .gitignore 및 빌드/의존성 관리 파일 수정
    • 테스트/예제 코드 제거 및 신규 코드로 대체

이 릴리즈는 웨이블 서버의 주요 기능과 인프라를 전면적으로 구현한 대규모 업데이트입니다.

@KiSeungMin KiSeungMin self-assigned this Jul 29, 2025
@KiSeungMin KiSeungMin added the 💡 feature 기능 구현 및 개발 label Jul 29, 2025
@coderabbitai

coderabbitai Bot commented Jul 29, 2025

Copy link
Copy Markdown

Caution

Review failed

Failed to post review comments.

Walkthrough

이 변경 사항은 Wayble 프로젝트의 백엔드 전체 구조를 대대적으로 확장 및 리팩토링합니다. 주요 내용은 CI/CD 파이프라인의 도커 기반 전환, AWS S3 및 Elasticsearch 연동, 사용자 인증(JWT, 카카오 로그인), 웨이블존 추천·검색·리뷰·장소 저장 등 도메인별 서비스와 API 구현, 그리고 관련 엔티티, DTO, 레포지토리, 설정 클래스의 대규모 추가 및 수정입니다.

Changes

Cohort / File(s) Change Summary
CI/CD 및 Docker 환경
.github/workflows/cd-develop.yml, Dockerfile, Dockerfile.elasticsearch, docker-compose.yml, docker-els.yml, .gitignore
CI/CD 워크플로우를 도커 이미지 빌드 및 EC2 컨테이너 오케스트레이션으로 전환, Elasticsearch 및 Spring Boot 앱용 Dockerfile/Compose 추가, gitignore 규칙 수정
빌드 및 의존성 관리
build.gradle
Spring Boot 버전 다운그레이드, springdoc, Elasticsearch, Querydsl, AWS SDK, JWT 등 다양한 의존성 추가 및 중복 제거, Querydsl 소스 생성 설정 제거
기본 설정 및 공통 기능
src/main/java/com/wayble/server/ServerApplication.java, .../common/config/*, .../common/dto/FacilityDto.java, .../common/entity/Address.java, .../common/entity/AgeGroup.java, .../common/entity/BaseEntity.java, .../common/swagger/ErrorResponseDoc.java, .../common/controller/RootController.java
어플리케이션 설정 어노테이션 추가, AWS, Elasticsearch, Querydsl, Swagger, WebClient 등 환경설정 클래스 신설, Address 등 엔티티 기능 확장, 공통 DTO/Swagger 응답 정의 추가
AWS S3 연동
.../aws/AmazonS3Manager.java, .../aws/converter/MultipartJackson2HttpMessageConverter.java, .../aws/domain/UuidEntity.java, .../aws/repository/UuidRepository.java, .../common/config/AmazonConfig.java
S3 파일 업로드 매니저, 멀티파트 메시지 컨버터, 업로드 이력 엔티티/레포지토리, AWS 설정 클래스 추가
Elasticsearch 연동 및 도메인
.../common/config/ElasticsearchConfig.java, .../explore/entity/EsAddress.java, .../explore/entity/EsWaybleZoneFacility.java, .../explore/entity/WaybleZoneDocument.java, .../explore/entity/RecommendLogDocument.java, .../explore/repository/RecommendLogDocumentRepository.java, .../explore/repository/WaybleZoneDocumentRepository.java, .../explore/repository/recommend/WaybleZoneQueryRecommendRepository.java, .../explore/repository/search/WaybleZoneQuerySearchRepository.java, .../explore/dto/search/request/SearchSliceDto.java, .../explore/dto/search/request/WaybleZoneSearchConditionDto.java, .../explore/dto/search/response/WaybleZoneDistrictResponseDto.java, .../explore/dto/search/response/WaybleZoneSearchResponseDto.java, .../explore/service/WaybleZoneDocumentService.java, .../explore/service/WaybleZoneSearchService.java, .../explore/exception/SearchErrorCase.java
ES 도큐먼트/엔티티/레포지토리/쿼리/DTO/서비스/에러케이스 일괄 추가, 기존 SearchErrorCase 위치 및 항목 변경
웨이블존 추천 시스템
.../explore/controller/WaybleZoneRecommendController.java, .../explore/dto/recommend/WaybleZoneRecommendConditionDto.java, .../explore/dto/recommend/WaybleZoneRecommendResponseDto.java, .../explore/service/WaybleZoneRecommendService.java, .../explore/exception/RecommendErrorCase.java
추천 API 컨트롤러, 추천 DTO, 서비스, 에러케이스 등 추천 기능 일괄 추가
웨이블존 검색/등록/상세
.../explore/controller/WaybleZoneSearchController.java, .../explore/dto/common/FacilityResponseDto.java, .../explore/dto/common/WaybleZoneInfoResponseDto.java, .../explore/dto/search/request/SearchSliceDto.java, .../explore/service/WaybleZoneSearchService.java
웨이블존 검색/등록/상세 API, DTO, 서비스 추가
리뷰 기능
.../review/controller/ReviewController.java, .../review/dto/ReviewRegisterDto.java, .../review/dto/ReviewResponseDto.java, .../review/entity/Review.java, .../review/entity/ReviewImage.java, .../review/repository/ReviewRepository.java, .../review/service/ReviewService.java
리뷰 등록/조회 API, DTO, 엔티티, 레포지토리, 서비스 구현 및 예제/테스트 엔드포인트 제거
도보 길찾기(TMAP) 연동
.../direction/controller/WalkingController.java, .../direction/controller/swagger/WalkingSwagger.java, .../direction/exception/WalkingErrorCase.java, .../direction/external/tmap/TMapClient.java, .../direction/external/tmap/TMapProperties.java, .../direction/external/tmap/dto/request/TMapRequest.java, .../direction/external/tmap/dto/response/TMapParsingResponse.java, .../direction/external/tmap/dto/response/TMapResponse.java, .../direction/external/tmap/mapper/TMapMapper.java, .../direction/service/WalkingService.java
도보 길찾기 API, Swagger 명세, DTO, 클라이언트, 매퍼, 서비스 등 TMAP 연동 전체 구현
사용자 인증 및 회원 관리
.../user/controller/UserController.java, .../user/controller/KakaoLoginController.java, .../user/controller/UserPlaceController.java, .../user/dto/*, .../user/entity/*, .../user/exception/UserErrorCase.java, .../user/repository/*, .../user/service/UserInfoService.java, .../user/service/UserPlaceService.java, .../user/service/UserService.java, .../user/service/auth/AuthService.java, .../user/service/auth/KakaoLoginService.java, .../common/config/SecurityConfig.java, .../common/config/security/*
JWT 기반 인증, 카카오 로그인, 회원가입/로그인/토큰/정보관리/장소저장 API 및 관련 DTO, 엔티티, 레포지토리, 서비스, 에러케이스, 시큐리티 설정 등 대규모 추가 및 리팩토링
웨이블존 도메인
.../wayblezone/controller/WaybleZoneController.java, .../wayblezone/dto/WaybleZoneDetailResponseDto.java, .../wayblezone/dto/WaybleZoneListResponseDto.java, .../wayblezone/dto/WaybleZoneRegisterDto.java, .../wayblezone/entity/WaybleZone.java, .../wayblezone/entity/WaybleZoneFacility.java
웨이블존 목록/상세/등록 API, DTO, 엔티티, 시설정보 등 도메인 확장 및 동기화 관련 메서드 추가
불필요/예제 코드 제거
.github/pull_request_template.md, src/main/java/com/wayble/server/search/controller/SearchController.java, src/main/java/com/wayble/server/search/service/SearchService.java, src/main/java/com/wayble/server/user/dto/UserRegisterDto.java
PR 템플릿, 예제/테스트 컨트롤러, 서비스, 빈 DTO 등 불필요 파일 삭제

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant API as Wayble REST API
    participant Auth as AuthService/JwtProvider
    participant DB as DB/ES/S3
    participant Ext as 외부 API(TMAP, Kakao)

    User->>API: 회원가입/로그인/카카오로그인/토큰발급
    API->>Auth: 사용자 인증/토큰 발급/검증
    Auth-->>API: 인증결과/토큰
    API->>DB: 사용자/토큰/리뷰/장소 저장 및 조회
    User->>API: 웨이블존 검색/추천/상세/리뷰/장소저장 요청
    API->>DB: ES/DB 질의, S3 업로드 등
    API->>Ext: TMAP/카카오 등 외부 API 호출
    Ext-->>API: 외부 API 응답
    API-->>User: 결과 응답
Loading

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~90+ minutes

Possibly related PRs

Suggested labels

⚙️ chore

Suggested reviewers

  • seung-in-Yoo
  • hyoinYang
  • zyovn
  • wonjun-lee-fcwj245

Poem

🐇
새벽 풀밭에 토끼가 뛰며
도커와 JWT, S3, ES를 품네
리뷰와 추천, 길찾기까지
웨이블존 세상에 생명 불어넣네
깃허브 액션도 춤추는 밤
코드의 숲에 변화의 바람
Review하러 오세요, 당근 한 입과 함께!
🥕✨

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch develop

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@KiSeungMin KiSeungMin merged commit f7c8e3a into main Jul 29, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

💡 feature 기능 구현 및 개발

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant