-
Notifications
You must be signed in to change notification settings - Fork 0
[#39] API 1차 구현 #52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
[#39] API 1차 구현 #52
Conversation
- 카테고리 하드코딩으로 임시 구현 완료
- JSONDecoderFactory 생성하여 날짜 파싱 로직 공통화 - 4개 API Service에서 중복 제거
- AuthStatusResult enum 제거 - checkAuthStatus, reissueTokens 등 async throws로 변경
- SplashViewModel을 별도 파일로 분리 - TokenConfig enum 추가하여 expirationBuffer 상수화
- mapToCloth 헬퍼 메서드 추출 - CategoryConstants 로직을 Repository로 이동
- @mainactor 클래스 내 불필요한 MainActor.run 제거 - 에러 처리 TODO 주석 추가
- 옷 추가 시, CustomSuccessView가 뜨지 않던 버그
Summary of ChangesHello @Hrepay, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! 이 PR은 앱의 핵심 기능인 인증, 옷장, 기록 관련 API를 전반적으로 통합하고 기존 코드의 구조를 개선하는 데 중점을 두었습니다. 사용자 인증 흐름을 강화하고, 옷장 관리 기능을 서버와 연동하며, 기록 생성 기능을 구현하여 앱의 전반적인 안정성과 확장성을 향상시키는 것을 목표로 합니다. 또한, 공통 유틸리티와 동시성 처리 패턴을 개선하여 코드 품질을 높였습니다. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. API의 춤, 데이터 흐름을 엮어, 앱은 생명 얻네. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
전반적으로 API 연동을 위한 대규모 리팩토링 및 기능 구현이 잘 이루어졌습니다. 특히 인증, 옷장, 기록 등 핵심 기능들의 API 연동과 OIDC를 통한 카카오 로그인 구현, async/throws를 활용한 비동기 코드 개선 등 많은 부분이 인상적입니다. 몇 가지 위험성이 있는 부분(강제 언래핑, 에러 처리)과 보안 및 성능 개선점에 대한 피드백을 추가했습니다. 이 부분들을 보완하면 더욱 안정적인 코드가 될 것 같습니다. 수고 많으셨습니다!
🔗 연결된 이슈
Resolved #39
✨ 주요 작업사항
1. 인증 (Auth)
SplashViewModel을 통한 앱 진입 분기 처리AuthAPIService의 리턴 타입을async throws로 통일하고 불필요한 Result 타입 제거2. 옷장 (Closet)
[Season])로 변경하여 다중 선택 지원 (최신 작업)ClothDataSource중복 코드 제거 및mapToCloth헬퍼 메서드 분리CategoryConstants)을 Repository 레이어로 이동하여 의존성 분리3. 기록 (Record)
HistoryClothTag를RecordClothTag로 통일하여 데이터 구조 단순화4. 공통 및 유틸리티 (Common/Utils)
CodiveAPI패키지 세팅 및 오류 수정, 최신 버전 업데이트JSONDecoderFactory를 분리하여 날짜 파싱 등 디코더 설정 공통화 (중복 코드 제거)NavigationRouter등에서MainActor.run제거 및Task.sleep활용 등 Swift Concurrency 패턴 개선🔍 상세 커밋 내역
@MainActor활용)🔍 리뷰어에게 (선택)