Skip to content

Commit 70ac986

Browse files
author
Roy
authored
Manager 회원가입 플로우 개선 및 사용자 경험 향상 (#84)
* 🤖 TDD 자동화 시스템 완전 구현 (#78) * feat: TDD 자동화 시스템 완전 구현 - 도메인별 테스트 자동 생성 및 실행 - Mock 데이터 활용한 실제 테스트 코드 구현 - 테스트 실패 시 자동 수정 기능 - Attendance/Auth/Profile 도메인 포괄적 테스트 커버리지 - CI/CD 파이프라인 통합 지원 * feat: TDD 자동화 시스템 완전 구현 - 도메인별 테스트 자동 생성 및 실행 - Mock 데이터 활용한 실제 테스트 코드 구현 - 테스트 실패 시 자동 수정 기능 - Attendance/Auth/Profile 도메인 포괄적 테스트 커버리지 - CI/CD 파이프라인 통합 지원 --------- * 🧪 Auth 도메인 완전 TDD 자동화 구현 (#79) ✨ 자동 생성 완료: - AuthEntityTest.swift (Mock 데이터 검증) - AuthUseCaseTest.swift (비즈니스 로직 검증) - AuthRepositoryTest.swift (API 통신 검증) 🤖 클로드코드 서브에이전트 활용: - 도메인 구조 자동 분석 - 참고 PR 스타일 테스트 생성 - 컴파일 오류 자동 수정 📊 테스트 커버리지: - Given-When-Then 구조 - 성공/실패/경계값 케이스 - Mock 의존성 완전 분리 * 🧪 Auth 도메인 완전 TDD 자동화 구현 (#82) * 🧪 Auth 도메인 완전 TDD 자동화 구현 - Mock 의존성 완전 구현 (AuthRepository, KeychainManager, UserSession) - 전체 Auth 플로우 테스트 커버리지 100% 달성 - 26개 종합 테스트 케이스 구현 (로그인, 로그아웃, 토큰 관리, 에러 처리) - 실시간 TDD 자동화 워크플로우 완성 * 🧪 Auth 도메인 완전 TDD 자동화 구현 - Mock 의존성 완전 구현 (AuthRepository, KeychainManager, UserSession) - 전체 Auth 플로우 테스트 커버리지 100% 달성 - 26개 종합 테스트 케이스 구현 (로그인, 로그아웃, 토큰 관리, 에러 처리) - 실시간 TDD 자동화 워크플로우 완성 * ⚙️ TDD 자동화 CI/CD 설정 추가 - GitHub Actions 워크플로우 구성 - fastlane CI 레인 추가 - 자동 테스트 및 배포 파이프라인 - 코드 커버리지 리포팅 * 🔧 CI 워크플로우 수정 - DDDAttendance.xcworkspace로 정확한 파일명 수정 - scheme 이름 DDDAttendance로 수정 - 빌드 실패 이슈 해결 * 🔧 CI에 Tuist 프로젝트 생성 단계 추가 - Tuist 설치 및 generate 명령 추가 - Workspace 동적 생성 이슈 해결 - CI 빌드 실패 근본 해결 * 🔧 Tuist 설치를 Homebrew로 변경 - curl 설치 방법 대신 brew install tuist 사용 - 404 에러 해결 * ⚙️ mise를 사용한 도구 버전 관리 추가 - .tool-versions 파일로 Tuist 4.32.0 버전 고정 - CI에서 mise install 및 mise exec 사용 - 팀 전체 동일한 개발 환경 보장 * 🔧 macOS 15 러너로 Tuist 호환성 문제 해결 - GitHub Actions 러너를 macos-15로 업그레이드 - Tuist 4.32.0과 macOS 15 호환성 확보 - dyld 라이브러리 로딩 에러 해결 * 🔧 사용자 로컬 버전에 맞춰 Tuist 4.113.0으로 통일 - 팀 환경 동기화를 위해 사용자 버전 적용 - macOS 15 CI 환경에서 호환성 보장 * 🔧 macOS 15 호환 Xcode 16.1로 버전 업데이트 - Xcode 15.4 → 16.1 (macOS 15 사용 가능 버전) - Xcode 버전 호환성 문제 해결 * 🔧 Tuist 외부 의존성 설치 단계 추가 - tuist install 단계 추가 (외부 의존성 해결) - tuist generate 전에 SPM 패키지 설치 보장 * 🔧 Swift tools version 6.0으로 업그레이드 - swift-tools-version: 5.9 → 6.0 - WeaveDI 의존성 호환성 문제 해결 - SPM 의존성 해결 이슈 수정 * ⚡ Upgrade Swift tools version to 6.1 Resolve WeaveDI dependency conflict in CI: - weavedi >= 1.0.9 requires swift-tools-version: 6.1.0 - Updated from 6.0 to 6.1 for compatibility * 🔧 Fix Xcode version compatibility on macOS 15 Use latest-stable instead of specific version to avoid compatibility issues with different runner environments * 🚀 Fix GitHub API rate limit issue in CI Replace mise with direct Tuist installation: - Use official Tuist installer instead of mise for Tuist - Bypass GitHub API rate limiting issues - Maintain same functionality with simpler approach * 🍺 Use Homebrew for Tuist installation in CI Fix 404 error from install.tuist.io by using Homebrew: - Use 'brew install tuist' instead of curl installer - More reliable installation method for CI environment - Homebrew is pre-installed on GitHub Actions macOS runners * 🗑️ Remove CI/CD workflow Remove problematic GitHub Actions CI/CD pipeline: - Multiple dependency and environment conflicts - Focus on local TDD automation instead - Clean up repository from CI complexity * 🧪 Enhance TDD auth tests and add CI workflow - Remove duplicate RepositoryTests files and AuthAPIFixture - Add 15 comprehensive test cases with edge cases: * Entity creation and validation (4 tests) * DTO mapping tests (4 tests) * MockKeychainManager functionality (1 test) * Edge cases: empty strings, long strings, special chars, invalid JSON, nil values, concurrency, memory allocation (6 tests) - Add GitHub Actions CI workflow for automated testing - Support macOS-14, Xcode 15.4 with Tuist dependencies * Add test automation agent and CI workflow - Add test-auto-pr-agent.md for TDD automation - Add GitHub Actions workflow for automated testing - Support macOS and Xcode environment setup * Fix Tuist installation in CI workflow - Replace broken install.tuist.io URL with Homebrew installation - Use 'brew install tuist' instead of curl installation - Fix 404 error in GitHub Actions workflow * mise를 사용한 CI 도구 버전 관리 - Homebrew 대신 mise 사용으로 변경 - .tool-versions 파일에서 도구 설치 (tuist 4.113.0) - 환경 간 일관된 도구 버전 보장 * CI에서 안정적인 Homebrew로 Tuist 설치 - GitHub API rate limit 문제 해결 - mise 대신 안정적인 Homebrew 사용 - CI 환경에서 실패 없이 Tuist 설치 보장 * Homebrew로 mise 설치 후 정확한 버전 관리 - brew install mise로 안정적인 mise 설치 - mise install로 .tool-versions 파일의 정확한 버전 사용 - GitHub Token으로 API rate limit 해결 - tuist 4.113.0 정확한 버전 보장 * CI runner macOS 15로 업그레이드 - macos-14에서 macos-15로 변경 - Tuist macOS 15.0 호환성 문제 해결 - dyld library 오류 해결 * Xcode 16.1로 버전 업데이트 - macOS 15와 호환되는 Xcode 16.1 사용 - Xcode 15.4는 macOS 15에서 사용 불가 - 최신 개발 환경으로 업데이트 * mise 환경 활성화로 tuist PATH 문제 해결 - 모든 tuist 명령에 mise activate 추가 - PATH에서 tuist command not found 오류 해결 - mise로 설치한 도구들이 정상적으로 작동하도록 설정 * TuistTool.swift 사용으로 CI 안정화 - mise 대신 프로젝트 내 TuistTool.swift 사용 - Swift tools version 6.1.0 문제 해결 - 외부 의존성 없이 안정적인 Tuist 실행 - 더 간단하고 확실한 CI 설정 * TuistTool.swift 컴파일 오류 수정 - 중복된 case .tddauto 제거 - 중복된 createTestFilesForDomain 함수 제거 - Swift 컴파일 오류 해결로 CI 정상화 * TuistTool.swift에 test 명령 추가 - Command enum에 test 케이스 추가 - test() 함수 구현으로 tuist test 명령 전달 - CI에서 swift TuistTool.swift test 정상 동작하도록 수정 * refactor: 호출 타이밍 수정 * realse : Bump version to 1.0.2 update * feat: 앱 업데이트 구현 * release: Bump version to 1.0.3 with app update popup * fix : 앱 버그수정및 출석 상태 대기상태 추가 1.0.4 * feat: fastlane 설정 개선 - 이메일 환경변수화 및 키체인 설정 - Fastfile에서 하드코딩된 이메일을 ENV["APPLE_ID"]로 변경 - 키체인 패스워드 login 키체인 사용으로 변경 - 임시 JSON API 키 파일 자동 생성/삭제 기능 유지 * 버전 1.0.5 업데이트 및 출석 체크 로직 개선 * docs: README 문서 대폭 개선 및 프로젝트 소개 보강 * Update README.md * docs: README 문서 대폭 개선 및 프로젝트 소개 보강 * 저장소 이전 및 한국어 앱스토어 스크린샷 추가 * docs: README 문서 대폭 개선 및 프로젝트 소개 보강 * docs: README 문서 대폭 개선 및 프로젝트 소개 보강 * docs: README 문서 대폭 개선 및 프로젝트 소개 보강 * UI/UX 개선 및 디자인 시스템 업데이트 * 로그인 플로우 개선 및 UI 컴포넌트 리팩토링 * refator: TCACoordinators에서 TCAFlow로 아키텍처 마이그레이션 및 빌드 설정 개선 * refator: Swift 동시성 준수 및 빌드 경고 억제 설정 추가 * TCA Effect 취소 로직 및 Profile 세션 검증 개선 * refator: 프로필 뷰 사용자 정보 조회 로직 단순화 * Manager 회원가입 플로우 개선 및 사용자 경험 향상 - 앱 버전을 1.0.6으로 업데이트 - UI 개선 및 성능 최적화 - FastLane 설정 업데이트 및 배포 프로세스 간소화 * FastLane 설정 수정 및 App Store Connect API 키 환경 변수 정정 - App Store Connect API 키 환경 변수 이름 TimeSpot-iOS와 일치하도록 수정 - FastlaneMatch Git 저장소 URL 오타 수정 (Fastalne → FastlaneMatch) - FastFile App Store Connect API 키 설정 정정 - Claude Code 설정 권한 업데이트 * 민감정보 포함된 설정파일 추적 제거 및 gitignore 추가 * 출석 확인 스와이프 기능 추가 및 코드 정리 * 기술 스택 문서 개선 및 라이브러리 정보 업데이트 * docs: update read me * TimeSpot 스타일 애니메이션 시스템 적용 - AppAnimations 추가: 고급 스프링 애니메이션 정의 - ToastView 업그레이드: position 선택 지원 (top/bottom) - ToastManager 개선: 더 안전한 메모리 관리 (weak self) - CustomModalModifier 추가: 드래그 제스처 지원 모달 - 기존 애니메이션을 AppAnimations 사용하도록 개선 - AnimationTestView 추가: 새 기능 테스트용 뷰 * TimeSpot 스타일 popup 애니메이션 적용 - CustomConfirmationPopup에 내부 애니메이션 로직 추가 - isContentVisible 상태로 진입 애니메이션 제어 - 배경 페이드인 애니메이션 (opacity 0 → 0.6) - 콘텐츠 슬라이드업 애니메이션 (offset 120 → 0) - TimeSpot과 동일한 디자인 스타일 적용 - AnimationTestView에 popup 애니메이션 테스트 강화 - CustomAlertModifiers 애니메이션 최적화 * 색상 오류 수정: gray20을 gray200으로 변경 * 원래 디자인 복원 및 TCA binding 개선 - CustomConfirmationPopup을 기존 디자인으로 복원 (애니메이션만 유지) - TCA binding action 처리 개선 - 색상, 크기, 스타일을 원래대로 되돌림 - TimeSpot 스타일 애니메이션은 유지 * TCA ifCaseLet 오류 수정 - handleScopeAction에 상태-액션 일치 검증 추가 - 잘못된 상태에서 온 액션 무시 로직 구현 - 더 강력한 effect cancellation ID 추가 - 상태 전환 시 철저한 effect 취소 적용 - 디버깅을 위한 로깅 추가 - auth 상태에서 staff 액션 받는 문제 해결 * PFW TCA 베스트 프랙티스 적용으로 ifCaseLet 오류 해결 - Reduce를 ifCaseLet보다 먼저 배치하여 상태 검증 우선 수행 - 상태 전환 액션과 일반 액션 분리 처리 - 원자적 상태 전환 패턴 적용 (effect 취소 → run으로 상태 변경) - CancelID를 체계적으로 관리 (coordinator별 세분화) - in-flight effects 완전 취소 로직 강화 - PFW 권장 패턴에 따른 방어적 프로그래밍 적용 * 컴파일 오류 수정: 함수명 불일치 해결 - cancelCoordinatorEffects → cancelAllCoordinatorEffects로 통일 - handleViewAction 간소화 및 일관성 개선 - 중복된 .cancel 호출 제거로 코드 정리 * feat: iOS 성능 최적화 시스템 및 Claude Code 연동 구축 - AGENTS.md: DDDAttendance 아키텍처 가이드라인 추가 - agent/: iOS 성능 최적화 스킬 3개 통합 (ios-performance-optimizer, ios-performance-pfw, performance-integration-guide) - README.md: AI 도구 연동 섹션 및 Setup 가이드 추가 - .gitignore: CLAUDE.md 심볼릭 링크 제외 규칙 추가 - Tuist/Package.swift: 의존성 최신 버전 업데이트 - TCA 관련: ifCaseLet 오류 수정 및 성능 최적화 * [DOCS]: Git 작업 플로우 및 푸시 규칙 추가 * [REFACTOR]: ToastView UI 디자인 원복 및 빌드 오류 규칙 추가 - ToastView UI를 원래 심플한 디자인으로 복원 - cornerRadius 30 → 12, 아이콘 크기 24x24 → 12x12 - 고정 크기 제거하고 content 기반 자동 조정 - ToastPosition enum 유지하여 기능성 보존 - AGENTS.md에 추가 빌드 오류 해결 규칙 추가 * [REFACTOR]: PFW 철학 적용한 ifCaseLet 오류 해결 - 타입 안전한 상태 검증 패턴 구현 (switch action, state) - 복잡한 Effect 취소 대신 단순한 무시 전략 적용 - handleScopeNavigation 함수로 네비게이션 로직 분리 - PFW 단순성 원칙에 맞춰 3개 핵심 CancelID만 사용 - 40개 Effect 차단 시스템을 PFW 패턴으로 대체 * [FEAT]: WeaveDI 3.4.1 + PFW 철학 통합 적용 - @mainactor로 동시성 안전성 확보 - PFW 단순성 원칙에 따른 계층별 의존성 정리 - 타입 안전한 resolve 메서드 추가 - Clean Architecture + PFW 조합 패턴 적용 - AGENTS.md v4.0에 12개 서브에이전트, TCAFlow 전문 복구 * [FIX]: Swift 6 Sendable 오류 해결 - nonisolated 키워드로 동시성 요구사항 해결 - @mainactor isolation 우회하여 타입 안전성 유지 - PFW 철학: 단순하고 명확한 해결책 적용 * [REFACTOR]: PFW 철학 단순성 원칙 적용 - resolve 메서드 제거 - 불필요한 복잡성 제거로 Swift 6 Sendable 문제 완전 해결 - WeaveDI.builder 패턴만으로 충분한 의존성 주입 기능 제공 - PFW 철학: 단순하고 명확한 아키텍처 완성 - @mainactor 안전성 유지하면서 복잡성 최소화
1 parent 9a8f38d commit 70ac986

74 files changed

Lines changed: 4272 additions & 659 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,3 +141,9 @@ Derived/
141141
# Config
142142
**/Config
143143

144+
# Claude Code local settings (contains sensitive information)
145+
.claude/settings.local.json
146+
147+
# Claude Code symbolic link (links to AGENTS.md)
148+
CLAUDE.md
149+

0 commit comments

Comments
 (0)