Skip to content

[Feature/#90] place api connect#93

Merged
leeseokchan00 merged 9 commits intodevelopfrom
feature/#90-maps-api-connect
Jul 16, 2025
Merged

[Feature/#90] place api connect#93
leeseokchan00 merged 9 commits intodevelopfrom
feature/#90-maps-api-connect

Conversation

@leeseokchan00
Copy link
Copy Markdown
Contributor

@leeseokchan00 leeseokchan00 commented Jul 16, 2025

📌 PR 요약

🌱 작업한 내용

🌱 PR 포인트

📸 스크린샷

스크린샷
파일첨부바람

📮 관련 이슈

Summary by CodeRabbit

  • 신규 기능

    • 장소 목록을 서버에서 동적으로 불러오는 기능이 추가되었습니다.
    • 지도 화면 이동 시 타운 ID와 장소 ID를 전달하여 위치 기반 내비게이션이 가능해졌습니다.
  • 기능 개선

    • 장소 카드 및 상세 이미지 UI가 개선되어 더 세련된 이미지 표시와 레이아웃을 제공합니다.
    • 메인 하단 바에 슬라이드 애니메이션이 적용되어 전환이 더욱 부드러워졌습니다.
    • 장소 목록 및 필터 관련 데이터 구조가 불변 리스트로 변경되어 안정성이 향상되었습니다.
  • 버그 수정

    • 장소 이미지 리소스 타입이 문자열 URL로 변경되어 이미지 표시 오류가 해결되었습니다.
  • 내비게이션

    • 지도 및 장소 관련 네비게이션 함수에 townId, placeId 파라미터가 추가되어 다양한 화면 이동이 지원됩니다.

@leeseokchan00 leeseokchan00 requested a review from a team July 16, 2025 22:31
@leeseokchan00 leeseokchan00 self-assigned this Jul 16, 2025
@leeseokchan00 leeseokchan00 added the 석찬🍚🦁 이석 찬찬찬찬 찬이야 ~ 완전 찬이야 ~ label Jul 16, 2025
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Jul 16, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

이 변경사항은 지도(맵) API 연동을 위한 데이터 구조, 리포지토리, 네비게이션, UI 컴포저블, DTO 및 서비스 계층에 새로운 메서드와 필드를 추가하고, 기존의 네비게이션 함수와 데이터 모델을 확장하여 타운 및 장소 ID를 전달하도록 전반적으로 개선하였습니다.

Changes

파일/경로 그룹 변경 요약
core/designsystem/.../SolplyPlaceCard.kt
feature/maps/.../PlaceDetailBottomSheet.kt
카드 및 바텀시트 이미지 컴포저블의 Modifier, ContentScale 등 레이아웃 및 렌더링 방식 개선
data/place/.../GetPlacesResponseDto.kt
domain/place/.../PlaceEntity.kt
장소 리스트 응답 및 엔티티용 데이터 클래스 신규 추가
data/place/.../PlaceEntityMapper.kt PlaceDto → PlaceEntity 변환 매퍼 함수 추가
data/place/.../PlaceRepositoryImpl.kt
domain/place/.../PlaceRepository.kt
data/place/.../PlaceRemoteDataSource.kt
remote/place/.../PlaceRemoteDataSourceImpl.kt
remote/place/.../PlaceService.kt
장소 조회(getPlaces) 관련 메서드, 인터페이스, 구현체, 서비스 신규 추가 및 확장
feature/main/.../MainNavigator.kt
feature/main/.../MainScreen.kt
feature/maps/.../MapsNavigation.kt
feature/maps/.../MapsScreen.kt
feature/place/.../navigation/PlaceNavigation.kt
feature/place/.../PlaceScreen.kt
네비게이션 함수 및 람다 시그니처에 townId, placeId 등 파라미터 추가, 전달 방식 변경
feature/main/.../MainBottomBar.kt 바텀바 등장/퇴장 시 슬라이드 애니메이션 추가
feature/place/.../PlaceContract.kt PlaceState의 샘플 데이터 제거, persistentList로 변경, intent 일부 삭제
feature/place/.../PlaceViewModel.kt intent 처리 방식 변경, loadPlaces 메서드 신설, fetchUserInfo 내 장소 로딩 추가
feature/place/.../model/PlaceData.kt PlaceData의 썸네일 타입 Int→String으로 변경

Sequence Diagram(s)

sequenceDiagram
    participant UI
    participant ViewModel
    participant Repository
    participant RemoteDataSource
    participant Service
    participant API

    UI->>ViewModel: fetchUserInfo()
    ViewModel->>Repository: getPlaces(townId, mainTagId, subTagAIdList, subTagBIdList)
    Repository->>RemoteDataSource: getPlaces(townId, isBookmarkSearch, mainTagId, subTagAIdList, subTagBIdList)
    RemoteDataSource->>Service: getPlaces(townId, isBookmarkSearch, mainTagId, subTagAIdList, subTagBIdList)
    Service->>API: HTTP GET /api/places
    API-->>Service: BaseResponse<GetPlacesResponseDto>
    Service-->>RemoteDataSource: GetPlacesResponseDto
    RemoteDataSource-->>Repository: GetPlacesResponseDto
    Repository-->>ViewModel: Result<List<PlaceEntity>>
    ViewModel-->>UI: Update placeList state
Loading
sequenceDiagram
    participant MainScreen
    participant MainNavigator
    participant NavController
    participant MapsScreen

    MainScreen->>MainNavigator: navigateToMaps(mapsType, townId, placeId, navOptions)
    MainNavigator->>NavController: navigateMaps(mapsType, townId, placeId, navOptions)
    NavController->>MapsScreen: MapsRoute(mapsType, townId, placeId)
Loading

Assessment against linked issues

Objective Addressed Explanation
지도 API 연동을 위한 데이터 구조, DTO, 리포지토리, 서비스, 네비게이션 함수 및 UI 연결 (#90)
지도 화면 이동 시 townId, placeId 등 파라미터 전달 및 관련 플로우 수정 (#90)
기존 샘플 데이터 제거 및 실제 API 데이터 연동 (#90)

Assessment against linked issues: Out-of-scope changes

Code Change Explanation
core/designsystem/src/main/java/com/teamsolply/solply/designsystem/component/card/SolplyPlaceCard.kt - 이미지 Modifier 및 ContentScale 변경 이미지 레이아웃 및 렌더링 개선은 지도 API 연동과 직접적인 관련이 없으며 UI 개선 범주에 해당함
feature/main/src/main/java/com/teamsolply/solply/main/MainBottomBar.kt - 바텀바 슬라이드 애니메이션 추가 지도 API 연동과는 무관한 UI 애니메이션 기능 추가임

Possibly related PRs

  • SOLPLY/SOLPLY-ANDROID#80: AdaptationImage 컴포저블 도입 PR로, 본 PR의 이미지 Modifier 및 ContentScale 개선과 직접적으로 연결됨.

Suggested labels

나경🐹🍙, 형석 🐧🍀

Suggested reviewers

  • ImHyungsuk

Poem

🗺️
토끼가 뛰노는 지도 위에
타운과 장소 ID 실어
API 따라 데이터 흐르고
바텀바는 슬라이드 춤추네
새로운 화면, 새로운 길
솔플리와 함께라면
어디든 갈 수 있지!
🐇✨


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between eea274c and eddb57f.

📒 Files selected for processing (20)
  • core/designsystem/src/main/java/com/teamsolply/solply/designsystem/component/card/SolplyPlaceCard.kt (2 hunks)
  • data/place/src/main/java/com/teamsolply/solply/place/dto/response/GetPlacesResponseDto.kt (1 hunks)
  • data/place/src/main/java/com/teamsolply/solply/place/mapper/PlaceEntityMapper.kt (1 hunks)
  • data/place/src/main/java/com/teamsolply/solply/place/repository/PlaceRepositoryImpl.kt (2 hunks)
  • data/place/src/main/java/com/teamsolply/solply/place/source/PlaceRemoteDataSource.kt (2 hunks)
  • domain/place/src/main/java/com/teamsolply/solply/place/model/PlaceEntity.kt (1 hunks)
  • domain/place/src/main/java/com/teamsolply/solply/place/repository/PlaceRepository.kt (2 hunks)
  • feature/main/src/main/java/com/teamsolply/solply/main/MainNavigator.kt (1 hunks)
  • feature/main/src/main/java/com/teamsolply/solply/main/MainScreen.kt (3 hunks)
  • feature/main/src/main/java/com/teamsolply/solply/main/component/MainBottomBar.kt (2 hunks)
  • feature/maps/src/main/java/com/teamsolply/solply/maps/MapsScreen.kt (2 hunks)
  • feature/maps/src/main/java/com/teamsolply/solply/maps/component/bottomsheet/PlaceDetailBottomSheet.kt (3 hunks)
  • feature/maps/src/main/java/com/teamsolply/solply/maps/navigation/MapsNavigation.kt (3 hunks)
  • feature/place/src/main/java/com/teamsolply/solply/place/PlaceContract.kt (1 hunks)
  • feature/place/src/main/java/com/teamsolply/solply/place/PlaceScreen.kt (4 hunks)
  • feature/place/src/main/java/com/teamsolply/solply/place/PlaceViewModel.kt (5 hunks)
  • feature/place/src/main/java/com/teamsolply/solply/place/model/PlaceData.kt (1 hunks)
  • feature/place/src/main/java/com/teamsolply/solply/place/navigation/PlaceNavigation.kt (1 hunks)
  • remote/place/src/main/java/com/teamsolply/solply/place/datasource/PlaceRemoteDataSourceImpl.kt (2 hunks)
  • remote/place/src/main/java/com/teamsolply/solply/place/service/PlaceService.kt (2 hunks)
✨ Finishing Touches
  • 📝 Generate Docstrings

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 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.

@leeseokchan00 leeseokchan00 merged commit 3e4db2c into develop Jul 16, 2025
1 check was pending
@coderabbitai coderabbitai bot mentioned this pull request Nov 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

석찬🍚🦁 이석 찬찬찬찬 찬이야 ~ 완전 찬이야 ~

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] 지도 api 연결

1 participant