Skip to content

[#75] 옷장 리포트 리팩터링 · 통합 로깅 · 현지화 · 버그픽스 (v1.0.0 준비)#76

Open
Hrepay wants to merge 57 commits into
developfrom
fix/#75
Open

[#75] 옷장 리포트 리팩터링 · 통합 로깅 · 현지화 · 버그픽스 (v1.0.0 준비)#76
Hrepay wants to merge 57 commits into
developfrom
fix/#75

Conversation

@Hrepay
Copy link
Copy Markdown
Collaborator

@Hrepay Hrepay commented May 17, 2026

🔗 연결된 이슈

Resolved #75

✨ 주요 작업사항

이번 PR의 핵심 변경사항을 알려주세요!

🆕 옷장 리포트 (신규 기능)

  • 통계 API·UseCase, 도넛/막대 차트, 카드/툴팁/바텀시트 공통 컴포넌트 구축
  • 리포트 메인/상세 페이지 및 라우팅 구현, ViewModel을 UseCase 기반으로 리팩터링
  • 옷 카드 브랜드/이름 미입력 시 카테고리 fallback, 준비중 안내 처리

🔔 푸시 알림 / FCM

  • FCM 기반 푸시 설정(AppDelegate·프로젝트 구성), 로그인 시 토큰 전송
  • 알림 탭 → 게시물/프로필 이동, 설정 알림 토글 시스템 권한 연동 + 마케팅 동의 영속 저장

📝 기록 작성 / 피드

  • 기록 작성 날짜 선택 기능, 텍스트 120자 제한 + 카운터
  • 기록 완료 후 게시물 상세 바로 이동, 홈 배너 → 기록 플로우 연결
  • 오늘 기록 확인을 월간조회 → 전용 API로 변경

👗 룩북 / 코디

  • 다중 선택 삭제, 목록 복귀 시 자동 새로고침, 랜덤 코디 버튼
  • 새 코디 옷장 카테고리 선택·검색 연결, 캔버스 아이템 크기/회전 핸들
  • 최애 코디 더보기·상세 모달·빈 상태 처리

🖼️ 이미지 / 사진 편집 최적화

  • ImageIO 다운샘플링·병렬 로딩, 크롭 뷰 인라인 전환 + 메모리 캐시
  • 갤러리 선택 Set 기반 최적화, 배경 지우개/태그 드래그 UX 개선
  • AI 배경제거 성공 수 계산 버그 수정

🎨 공통 UX

  • 키보드 외부 탭 닫힘, 텍스트 필드 클리어/완료 버튼, 빈·에러 상태 문구
  • navigationBarHiddentoolbar(.hidden) deprecated API 일괄 교체

⚙️ 인프라 / 빌드

  • os.Logger 통합 로깅 도입 + 토큰 등 민감정보 마스킹 (print 제거)
  • ATS HTTP 예외 제거(전 통신 HTTPS 확인), Release entitlements 분리
  • 앱 현지화 한국어 단독(앱스토어 표시 언어 KO)
  • Crashlytics dSYM 스크립트 경로 수정, Scheme OS_ACTIVITY_MODE 설정

🐛 주요 버그 픽스

  • 마이페이지 달력에서 과거 날짜 기록 추가 시 "오늘 이미 기록함" 모달 오노출 수정
  • 빈 카테고리 랜덤 코디 시 빈 블록 생성 버그 수정

🔍 리뷰어에게 (선택)

  • ATS 예외 제거: BASE_URL·Kakao/Apple URL 전부 HTTPS, 평문 HTTP 호출 없음 확인 후 제거 — 검토 요청
  • 달력 중복모달 픽스: MainTabViewModel.checkAndNavigateToRecordAdd — 선택 날짜가 오늘일 때만 중복 체크하도록 변경
  • 현지화 ko 단독: en 제거 → App Store Connect metadata 영어 현지화도 별도 정리 필요(코드 외)
  • 커밋 57개 / 140파일로 큼 — 카테고리별 커밋 메시지 단위로 보면 리뷰 수월

Hrepay added 30 commits March 11, 2026 22:28
Hrepay added 24 commits April 13, 2026 20:29
@Hrepay Hrepay self-assigned this May 17, 2026
@Hrepay Hrepay added 📃 Feat 사용자를 위한 새로운 기능 추가 또는 개선 🛠️ Fix 버그를 수정하거나 문제를 해결하는 실제 개발 작업 🪄 Refactor 사용자에게 보이는 동작 변경 없이 코드의 내부 구조를 개선하는 작업 labels May 17, 2026
@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello, 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은 v1.0.0 출시를 대비하여 옷장 리포트 신규 기능 추가, 푸시 알림 시스템 구축, 이미지 처리 성능 최적화, 그리고 전반적인 코드 리팩터링 및 인프라 개선을 포함하고 있습니다. 사용자 경험 향상을 위한 공통 UX 개선과 안정적인 운영을 위한 로깅 시스템 통합이 핵심입니다.

Highlights

  • 옷장 리포트 기능: 사용자의 옷장 활용도와 카테고리별 선호도를 시각화하는 리포트 기능을 신규 구축했습니다.
  • 푸시 알림 및 FCM 통합: FCM 기반의 푸시 알림 시스템을 구축하고, 앱 실행 시 토큰 전송 및 알림 권한 연동을 구현했습니다.
  • 이미지 처리 최적화: ImageIO 다운샘플링 및 병렬 로딩을 도입하여 이미지 편집 및 로딩 성능을 대폭 개선했습니다.
  • 인프라 및 로깅 강화: os.Logger를 활용한 통합 로깅 시스템을 도입하고 민감 정보 마스킹을 적용했습니다.
  • 코드 리팩터링 및 버그 수정: ViewModel의 UseCase 기반 리팩터링, deprecated API 교체, 그리고 마이페이지 달력 중복 모달 등의 버그를 수정했습니다.
New Features

🧠 You can now enable Memory (public preview) 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 Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the 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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. 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.


옷장 속 가득한 옷들 사이로, 데이터의 빛이 통계로 피어나네. 성능은 가볍게, 알림은 빠르게, v1.0.0 향해 코드는 달린다.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

이 풀 리퀘스트는 푸시 알림 기능 추가, 옷장 통계 리포트 기능 구현, 그리고 기존 코드의 성능 및 안전성 개선을 포함하고 있습니다. 전반적으로 기능 구현은 잘 되어 있으나, 비동기 작업 시의 스레드 안전성, 메모리 관리, 그리고 하드코딩된 값들에 대한 개선이 필요합니다.

Comment thread Codive/Features/Feed/Presentation/Add/View/TaggableImageView.swift
Comment thread Codive/Features/Setting/Data/DataSources/SettingDataSource.swift
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📃 Feat 사용자를 위한 새로운 기능 추가 또는 개선 🛠️ Fix 버그를 수정하거나 문제를 해결하는 실제 개발 작업 🪄 Refactor 사용자에게 보이는 동작 변경 없이 코드의 내부 구조를 개선하는 작업

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Fix] QA 3차 수정

1 participant