Commit 70ac986
Roy
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
- Plugins
- DependencyPackagePlugin/ProjectDescriptionHelpers/DependencyPackage
- ProjectTemplatePlugin/ProjectDescriptionHelpers
- Project+Templete
- Setting
- Projects
- App/Sources
- Di
- Reducer
- Data/Repository/Sources/Auth/Interceptor
- Domain/Entity/Sources/Error
- Presentation
- Auth/Sources
- AuthCoordinator
- Reducer
- View
- Components
- Login/Reducer
- Management/Sources
- AttendanceCheck
- Components
- Reducer
- View
- Coordinator
- Reducer
- View
- QrCode
- QRScannerManger
- View
- ScheduleModal/View
- Schedule
- Components
- Reducer
- StaffMain/View
- Member/Sources
- Coordinator
- Reducer
- View
- MemberMain/View
- OnBoarding
- Sources
- SelectPart/View
- Coordinator
- Reducer
- View
- InviteCode/View
- OnBoardingName/Reducer
- SelectManaging/View
- SelectTeam
- Reducer
- View
- Presentation
- Profile/Sources
- Coordinator
- Reducer
- View
- CreateApp/Reducer
- Main
- Component
- Reducer
- View
- Splash/Sources/View
- Web
- Sources/View
- Scripts
- Tuist
- agent
- fastlane
- metadata
- en-US
- ko
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
141 | 141 | | |
142 | 142 | | |
143 | 143 | | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
0 commit comments