Skip to content

Feat/#2/destination search#10

Merged
ela-lee merged 13 commits intodevfrom
feat/#2/destination-search
Sep 30, 2025
Merged

Feat/#2/destination search#10
ela-lee merged 13 commits intodevfrom
feat/#2/destination-search

Conversation

@ela-lee
Copy link
Collaborator

@ela-lee ela-lee commented Sep 30, 2025

#️⃣ 관련 이슈

closes #2


💻 작업 내용

  • MainSearchView 및 기능 구현
  • VoiceSearchView 및 기능 구현
  • API Key 관리하는 SecretsLoader 추가

📝 코드 설명

이번 PR에서는 전체 검색 플로우를 위해 주요 뷰와 로직을 구현하고, API Key 관리 방식을 정리했습니다.
먼저 MainSearchView와 VoiceSearchView를 각각 구현하여 텍스트 검색과 음성 검색이 모두 가능하도록 했습니다.
실제 검색 API를 호출하는 기능을 연결하여 입력된 검색어에 따라 결과가 표시되도록 구현했습니다.
음성검색 및 장소검색은 Manager로 구현했고, 각각의 뷰 모델에서 사용가능하도록 구현했습니다.
민감한 정보를 코드에 직접 포함하지 않기 위해 SecretsLoader를 추가하고, Secrets.plist 파일에서 API Key를 안전하게 불러오는 구조를 적용했습니다.


🙋 리뷰 요구사항

지금 방식이 괜찮은지 확인 부탁드립니다!
뷰 코드가 너무길어서 나눴는데, 괜찮은지 확인해주세요:)


📁 참고한 내용 (선택)


✋🏻 잠깐! 확인하셨나요?

  • 컨벤션 확인
  • 기능 정상 작동 테스트 완료
  • 디버깅 코드 및 주석 제거
  • 사용하지 않는 코드/파일 정리
  • 작업 내용 및 코드 설명 작성

- API 데이터 받아와서 쓸 수 있도록 모델 추가
- DS.store 삭제 및 추적금지 설정 (음..성공했으려나)
- 뷰모델 및 매니저 추가
- UUID 부여방식 변경
- gitignore 수정
- Model에 위도경도 변환 변수 추가
- PlaceCard 컴포넌트 제작
- 상태에 따라 뷰 전환되도록 제작
- 추후 화면전달 및 확장성 고려하여 DTO 추가
- 음성검색을 위한 Manager 파일 생성
- info.plist에 권한 요청 설정
- 음성검색 View및 View모델 구현
- TextSearchViewModel 함께 공유하도록 AppNavigationView에서 수정
- 그외 발생했던 무수한 에러를 수정하기 위해 음성매니저 수정
- Lo-fi 에 맞게 뷰와 뷰모델을 수정
- git ignore 수정
- textsearch를 mainsearch로 모두 변경
- 긴 View파일을 분리
- API Key 설정을 위한 SecretsLoader 파일 생성
- 가독성을 위한 코드 분리 및 추가수정
- Component에 MainSearchView폴더 생성
NavigationStack(path: $coordinator.path) {
TextSearchView()
MainSearchView()
.environmentObject(mainVM)
Copy link
Collaborator

@nan-park nan-park Sep 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

다른 뷰모델에서 공통으로 쓰는 기능은 유틸리티로 빼면 좋을 것 같아요~

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

그거 빼면 괜찮~

NavigationStack(path: $coordinator.path) {
TextSearchView()
MainSearchView()
.environmentObject(mainVM)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

그거 빼면 괜찮~

Copy link
Collaborator

@minjeongkx minjeongkx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

어푸어푸

@github-actions github-actions bot added the 5-approvals-reached Reached 5 approvals label Sep 30, 2025
- MainSearchViewModel을 환경변수로 주입받지 않아도 사용할 수 있도록 싱글톤으로 변경했습니다.
- 그 외에 자잘한 오류를 수정했습니다
- 두번 빠구먹고 성공했습니다
- VoiceSearchViewModel과 MainSearchViewModel이 같은 Manager를 구성하도록 수정했습니다
@nan-park nan-park changed the base branch from main to dev September 30, 2025 07:16
@ela-lee ela-lee merged commit 19d77e7 into dev Sep 30, 2025
@nan-park
Copy link
Collaborator

2번 빠꾸 받으시고도 포기하지 않고 수정해주신 엘라 존경☺️ 수고하셨습니다~

nan-park pushed a commit that referenced this pull request Oct 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

5-approvals-reached Reached 5 approvals

Projects

None yet

Development

Successfully merging this pull request may close these issues.

검색기능 구현

6 participants