Conversation
Summary of ChangesHello @hijjoy, 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! 이 Pull Request는 Aido 모바일 애플리케이션의 초기 기반을 다지고 핵심 인증 기능을 도입하는 데 중점을 둡니다. 카카오 소셜 로그인 기능을 완벽하게 통합하여 사용자 인증 경험을 제공하며, 견고하고 확장 가능한 모바일 아키텍처를 구축하여 향후 기능 개발을 위한 안정적인 토대를 마련합니다. 또한, 개발 편의성을 높이기 위한 UI 컴포넌트 시스템과 스타일링 가이드라인을 확립하고, 필요한 패키지들을 추가하여 개발 환경을 최적화했습니다. Highlights
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. Footnotes
|
There was a problem hiding this comment.
Code Review
이 PR은 카카오 소셜 로그인 기능 구현과 함께 모바일 앱의 클린 아키텍처 기반을 구축하는 중요한 변경 사항을 담고 있습니다. 전반적으로 코드 구조가 잘 잡혀있고, 특히 KyHttpClient의 토큰 갱신 로직과 expo-secure-store를 사용한 토큰 관리 등 보안과 안정성을 고려한 구현이 돋보입니다. Expo Go 환경을 위한 리다이렉트 URI 허용 등 개발 편의성을 높이는 변경도 적절합니다. 새로 추가된 UI 컴포넌트 가이드라인을 잘 준수하고 있으나, 한 곳에서 가이드라인을 따르지 않은 부분이 있어 수정을 제안합니다. 훌륭한 작업입니다!
- BoxProps에 flex, gap, p, px, py, pt, pb, pl, pr, m, mx, my, mt, mb, ml, mr 추가 - FlexProps가 BoxProps 상속하도록 타입 계층 구조 변경
- Clean Architecture 기반 auth feature 구조 (service, repository, hooks) - React Query를 사용한 인증 상태 관리
- exp:// scheme을 OAuth redirect URI whitelist에 추가
- style 배열 검증을 toContainEqual로 변경
fed3e89 to
2c45473
Compare
BREAKING CHANGE: import 경로 변경 - auth feature에 Clean Architecture 레이어 적용 (domain/data/application/presentation) - barrel export(index.ts) 15개 제거로 빌드 성능 개선 - shared 폴더로 공통 모듈 통합 (api, storage, ui, testing) - 테스트 인프라를 src/shared/testing/으로 재구성
|
요 작업 한번 마무리되면 머지해주세요!! |
- fill/weak variant - primary/danger/dark color - small/medium/large/xlarge size
- 6b1b0b1 폴더 구조 이동으로 인한 변경 적용
- 폴더 변경으로 인한 문서 수정 - 컴포넌트 추가 반영
|
/gemini review |
@dydals3440 변경사항이 많아 gemini 리뷰 한번만 받구, |
There was a problem hiding this comment.
Code Review
이번 PR은 카카오 소셜 로그인 기능 구현과 함께 모바일 앱의 아키텍처를 대대적으로 개선하는 중요한 변경사항을 담고 있습니다. 의존성 주입(DI)을 위한 컨테이너와 프로바이더 도입, 계층형 아키텍처(도메인, 애플리케이션, 데이터, 프레젠테이션) 적용 등은 매우 훌륭한 방향성이며 장기적인 유지보수성과 테스트 용이성을 크게 향상시킬 것입니다. 또한, tailwind-variants를 활용한 UI 컴포넌트 시스템 구축과 명확한 가이드 문서 추가도 인상적입니다. 전반적으로 매우 높은 품질의 코드이며, 아키텍처에 대한 깊은 고민이 엿보입니다. 몇 가지 아쉬운 점에 대해 중급(medium) 심각도의 의견을 남겼습니다. 하나는 SVG 파일에 비트맵 이미지를 내장하여 벡터 이미지의 장점을 활용하지 못한 점이고, 다른 하나는 HttpClient 인스턴스가 중복으로 생성되는 구조에 대한 개선 제안입니다. 이 부분들을 개선하면 더욱 완성도 높은 코드가 될 것입니다. 훌륭한 작업입니다!
| </Stack> | ||
| </HeroUINativeProvider> | ||
| </GestureHandlerRootView> | ||
| <AppProviders> |
There was a problem hiding this comment.
그리고 차후에 Provider들의 역할을 분리해보는 것도 좋아보입니다!
아키텍처 관점에서 관심사를 명확히 나누면 좋을 것 같아요.
core/provider(AppProvider): 테마, 설정 등 앱 실행 및 UI 전반에 필요한 Context 관리core/di(FeatureProvider): 의존성 주입(Dependency Injection)을 위한 인터페이스/구현체 주입 관리
이렇게 분리하면 '앱을 구동하는 설정'과 '비즈니스 로직을 연결하는 주입기'의 역할이 명확해져서 나중에 코드 규모가 커져도 유지보수하기 훨씬 수월할 것 같아요!
|
크게 이상 없으면 머지 한번 해주세요..! CI는 제가 서버 코드 수정한 부분이 있어서 추후에 한번 잡아볼게요~! |
📋 개요
카카오 소셜 로그인 기능 구현 및 모바일 앱 기반 아키텍처 구축
🏷️ 변경 유형
feat- 새로운 기능 추가fix- 버그 수정refactor- 코드 리팩토링docs- 문서 수정📦 영향 범위
apps/api- NestJS 백엔드apps/mobile- Expo 모바일 앱packages/validators- Zod 스키마packages/errors- 에러 패키지📝 변경 내용
API
exp://scheme redirect URI 허용Mobile
Packages
@aido/errors패키지 추가@aido/validators스키마 업데이트🧪 테스트
테스트 결과
✅ 체크리스트
작성자 확인
📸 스크린샷 (UI 변경 시)
버튼 UI 확인 (머지X)

💬 추가 정보
체리픽해서 나눠서 하려고했는데 폴더이동이 이 브랜치에 포함되어있기도해서 많은 부분꼬일 것 같아서 이번만 같이올립니다 🧎🏻♀️➡️