Skip to content

Comments

Setting/#1 프로젝트 세팅#4

Merged
y-eonee merged 5 commits intodevelopfrom
setting/#1-프로젝트-세팅
Jan 5, 2026

Hidden character warning

The head ref may contain hidden characters: "setting/#1-\ud504\ub85c\uc81d\ud2b8-\uc138\ud305"
Merged

Setting/#1 프로젝트 세팅#4
y-eonee merged 5 commits intodevelopfrom
setting/#1-프로젝트-세팅

Conversation

@y-eonee
Copy link
Contributor

@y-eonee y-eonee commented Jan 3, 2026

🔗 연결된 이슈

📄 작업 내용

  • 클린아키텍처 기반 폴더링을 했습니다
  • 리퀴드글라스 관련 설정 추가완료했습니다.
  • 미니멈 타겟은 16.6입니다

💻 주요 코드 설명

image

각 파일은 그냥 빈파일이고 나중에 가면 제가 지울게요 !!
내일 미미나 때 더 자세하게 설명드리겠습니다
코디네이터는.. 따로 이슈파서 할게요

image

Summary by CodeRabbit

Release Notes

  • New Features

    • Launched new iOS application with basic user interface displaying a welcome greeting
  • Chores

    • Initialized project structure and Xcode build configuration
    • Configured app icons, accent colors, and metadata settings
    • Established code ownership for the project

✏️ Tip: You can customize this high-level summary in your review settings.

@y-eonee y-eonee self-assigned this Jan 3, 2026
@y-eonee y-eonee added 나연🐹 Setting 프로젝트 세팅 시 사용 labels Jan 3, 2026
@y-eonee y-eonee linked an issue Jan 3, 2026 that may be closed by this pull request
1 task
@coderabbitai
Copy link

coderabbitai bot commented Jan 3, 2026

📝 Walkthrough

Walkthrough

Initializes a new iOS Swift project with Xcode configuration, SwiftUI app entry point (ContentView), asset catalog definitions, and a multi-layered architecture structure (Core, Data, Domain, Presentation) with placeholder files ready for future implementation.

Changes

Cohort / File(s) Summary
Xcode Configuration & Build Setup
.github/CODEOWNERS, Cherrish-iOS/Cherrish-iOS.xcodeproj/project.pbxproj, Cherrish-iOS/Cherrish-iOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata
Project file defining build targets, configurations (Debug/Release), deployment settings, and team code ownership assignment.
Asset Catalog Configuration
Cherrish-iOS/Cherrish-iOS/Assets.xcassets/AccentColor.colorset/Contents.json, Cherrish-iOS/Cherrish-iOS/Assets.xcassets/AppIcon.appiconset/Contents.json, Cherrish-iOS/Cherrish-iOS/Assets.xcassets/Contents.json
Defines app icon with dark and tinted variants, accent color, and asset catalog metadata.
SwiftUI App Entry Point
Cherrish-iOS/Cherrish-iOS/App/Cherrish_iOSApp.swift, Cherrish-iOS/Cherrish-iOS/Presentation/Feature/ContentView.swift
Main app struct with WindowGroup entry point and basic ContentView displaying "Hello, world!"
Architecture Layer Scaffolding
Cherrish-iOS/Cherrish-iOS/Core/CherrishLogger.swift, Cherrish-iOS/Cherrish-iOS/Core/DIContainer.swift, Cherrish-iOS/Cherrish-iOS/Data/Persistence/KeychainService.swift, Cherrish-iOS/Cherrish-iOS/Data/Persistence/UserDefaultService.swift, Cherrish-iOS/Cherrish-iOS/Data/Repository/Repository.swift, Cherrish-iOS/Cherrish-iOS/Domain/Interface/Interface.swift, Cherrish-iOS/Cherrish-iOS/Domain/Model/Entity.swift, Cherrish-iOS/Cherrish-iOS/Domain/UseCase/Usecase.swift, Cherrish-iOS/Cherrish-iOS/Presentation/Global/Component.swift
Placeholder files establishing clean architecture directory structure with standard headers; no functional implementation.
Project Configuration
Cherrish-iOS/Cherrish-iOS/Info.plist
Sets UIDesignRequiresCompatibility to false for app compatibility configuration.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • wotjs020708
  • sum130

Poem

🐰 Hop, skip, and a hop—a project takes shape!
Folders organized in a clean escape,
SwiftUI bundles and architecture so neat,
Scaffolding ready—the foundation's complete! 🎉

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Setting/#1 프로젝트 세팅' clearly indicates the pull request is setting up project structure, directly related to the main objective of establishing project architecture and foldering based on clean architecture.
Linked Issues check ✅ Passed The pull request implements the primary coding requirement from issue #1: establishing project foldering and structure based on clean architecture, with all necessary file scaffolding and Xcode configuration.
Out of Scope Changes check ✅ Passed All changes are within scope of issue #1's requirements: project structure setup, foldering organization using clean architecture, Xcode configuration, and Info.plist settings for iOS deployment.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b4450d9 and f801b57.

📒 Files selected for processing (1)
  • Cherrish-iOS/Cherrish-iOS/Presentation/Feature/ContentView.swift
🔇 Additional comments (1)
Cherrish-iOS/Cherrish-iOS/Presentation/Feature/ContentView.swift (1)

10-17: LGTM! Clean initial setup.

The basic ContentView structure is correct and appropriately placed in the Presentation layer, aligning with your Clean Architecture approach. This standard SwiftUI boilerplate provides a good starting point for the project.


Comment @coderabbitai help to get the list of available commands and usage tips.

@y-eonee y-eonee requested review from a team, soseoyo12, sum130 and wotjs020708 and removed request for a team, soseoyo12, sum130 and wotjs020708 January 3, 2026 16:18
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (13)
Cherrish-iOS/Cherrish-iOS/Domain/Interface/Interface.swift (1)

1-8: Well-positioned Domain layer placeholder.

The file correctly imports Foundation and is positioned in the Domain/Interface layer. When implementing protocols/interfaces here, consider using more specific names (e.g., UserRepository.swift, AuthenticationInterface.swift) to improve discoverability.

Cherrish-iOS/Cherrish-iOS/Core/DIContainer.swift (1)

1-7: Consider adding a placeholder comment or basic structure.

This empty file serves as scaffolding for future dependency injection implementation. While acceptable for initial setup, adding a brief comment or a basic class/protocol skeleton would help clarify the intended design for team members.

Example placeholder structure
 //
 //  DIContainer.swift
 //  Cherrish-iOS
 //
 //  Created by 이나연 on 12/31/25.
 //
 
+import Foundation
+
+// TODO: Implement dependency injection container
+final class DIContainer {
+    // Dependencies will be registered here
+}
Cherrish-iOS/Cherrish-iOS/Domain/UseCase/Usecase.swift (1)

1-8: Consider renaming file to follow Swift naming conventions.

The filename "Usecase.swift" could be renamed to "UseCase.swift" (capital C) to better align with Swift naming conventions for compound words. This is a minor style consideration for consistency.

Cherrish-iOS/Cherrish-iOS/Info.plist (1)

5-6: Remove obsolete Info.plist key.

The UIDesignRequiresCompatibility key is a legacy setting from the iOS 3/4 era related to Interface Builder compatibility. For a modern project targeting iOS 16.6+, this key is unnecessary and should be removed to keep the Info.plist clean.

Suggested change
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
-	<key>UIDesignRequiresCompatibility</key>
-	<false/>
 </dict>
 </plist>
Cherrish-iOS/Cherrish-iOS/Core/CherrishLogger.swift (1)

1-7: Placeholder for future logger implementation.

This file is appropriately structured but currently empty. Consider adding a brief comment documenting its intended purpose, or remove it now if not immediately needed. Per the PR description, many scaffolding files may be removed later.

Cherrish-iOS/Cherrish-iOS/Presentation/Global/Component.swift (1)

1-8: Remove unused import or add intent comment.

The import Foundation statement is not used. For a placeholder file, consider either removing it or adding a brief comment documenting the intended use of this component module. Alternatively, remove this file now if it's not immediately needed.

Cherrish-iOS/Cherrish-iOS/Presentation/ContentView.swift (1)

10-17: LGTM! Standard SwiftUI template.

The ContentView implementation is correct and appropriate for initial project setup.

Optional: Add PreviewProvider for better development experience

Adding a preview provider enables live previews in Xcode Canvas:

 struct ContentView: View {
     var body: some View {
         VStack {
             Text("Hello, world!")
         }
         .padding()
     }
 }
+
+#Preview {
+    ContentView()
+}
Cherrish-iOS/Cherrish-iOS/Data/Persistence/UserDefaultService.swift (1)

1-8: Consider deferring empty scaffolding files until implementation.

This file currently contains only the import statement with no implementation. While you've noted that empty files may be removed later, consider either:

  • Adding a basic protocol/class definition to clarify the intended structure
  • Removing scaffolding files until they're ready for implementation

This approach helps maintain a cleaner project structure and reduces confusion about which files are actively used.

Example: Basic protocol definition
//
//  UserDefaultService.swift
//  Cherrish-iOS
//
//  Created by 이나연 on 1/3/26.
//

import Foundation

protocol UserDefaultServiceProtocol {
    // TODO: Define UserDefaults storage methods
}

final class UserDefaultService: UserDefaultServiceProtocol {
    // TODO: Implement UserDefaults operations
}
Cherrish-iOS/Cherrish-iOS/Data/Repository/Repository.swift (1)

1-8: Consider deferring empty scaffolding files until implementation.

Similar to other scaffolding files in this PR, this file contains only the import statement. Consider removing empty scaffolding files until you're ready to implement them, or add basic protocol/class definitions to clarify the intended architecture pattern.

Cherrish-iOS/Cherrish-iOS/Domain/Model/Entity.swift (1)

1-8: Consider deferring empty scaffolding files until implementation.

This Domain layer file follows the same pattern as other scaffolding files in the PR. As you've acknowledged that these may be removed later, consider establishing a team convention: either defer creating files until implementation begins, or include basic protocol/struct definitions to document the intended architecture.

Cherrish-iOS/Cherrish-iOS/App/Cherrish_iOSApp.swift (1)

10-17: SwiftLint flags underscore in type name Cherrish_iOSApp.

Xcode auto-generates this name from the project name containing a hyphen. To resolve the SwiftLint warning, consider either:

  1. Renaming the struct to CherrishIOSApp (and the file accordingly)
  2. Adding a SwiftLint disable comment or exclusion rule for this file

Since this is standard Xcode scaffolding and doesn't affect functionality, this can be addressed later if the team adopts SwiftLint.

Cherrish-iOS/Cherrish-iOS.xcodeproj/project.pbxproj (2)

193-193: Deployment target mismatch: project-level uses 18.2, target-level uses 16.6.

The project-level IPHONEOS_DEPLOYMENT_TARGET is set to 18.2, while the target-level correctly uses 16.6 as stated in the PR. The target-level setting takes precedence, so the app will deploy to iOS 16.6. However, this inconsistency can cause confusion during maintenance.

Consider aligning the project-level deployment target to 16.6 for consistency.

Also applies to: 250-250


268-268: Hardcoded DEVELOPMENT_TEAM may cause signing issues for other contributors.

The development team ID CG37U6CMKP is hardcoded. Other team members will need to update this locally or configure automatic signing with their own team. This is typical for initial setup, but consider documenting this in the README or using .xcconfig files to manage team-specific settings separately.

Also applies to: 299-299

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 38e33f1 and b4450d9.

📒 Files selected for processing (18)
  • .github/CODEOWNERS
  • Cherrish-iOS/Cherrish-iOS.xcodeproj/project.pbxproj
  • Cherrish-iOS/Cherrish-iOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  • Cherrish-iOS/Cherrish-iOS/App/Cherrish_iOSApp.swift
  • Cherrish-iOS/Cherrish-iOS/Assets.xcassets/AccentColor.colorset/Contents.json
  • Cherrish-iOS/Cherrish-iOS/Assets.xcassets/AppIcon.appiconset/Contents.json
  • Cherrish-iOS/Cherrish-iOS/Assets.xcassets/Contents.json
  • Cherrish-iOS/Cherrish-iOS/Core/CherrishLogger.swift
  • Cherrish-iOS/Cherrish-iOS/Core/DIContainer.swift
  • Cherrish-iOS/Cherrish-iOS/Data/Persistence/KeychainService.swift
  • Cherrish-iOS/Cherrish-iOS/Data/Persistence/UserDefaultService.swift
  • Cherrish-iOS/Cherrish-iOS/Data/Repository/Repository.swift
  • Cherrish-iOS/Cherrish-iOS/Domain/Interface/Interface.swift
  • Cherrish-iOS/Cherrish-iOS/Domain/Model/Entity.swift
  • Cherrish-iOS/Cherrish-iOS/Domain/UseCase/Usecase.swift
  • Cherrish-iOS/Cherrish-iOS/Info.plist
  • Cherrish-iOS/Cherrish-iOS/Presentation/ContentView.swift
  • Cherrish-iOS/Cherrish-iOS/Presentation/Global/Component.swift
🧰 Additional context used
🪛 SwiftLint (0.57.0)
Cherrish-iOS/Cherrish-iOS/App/Cherrish_iOSApp.swift

[Error] 11-11: Type name 'Cherrish_iOSApp' should only contain alphanumeric and other allowed characters

(type_name)

🔇 Additional comments (7)
.github/CODEOWNERS (1)

1-1: LGTM! Proper CODEOWNERS configuration.

The team-based code ownership is appropriate for collaborative iOS development and will ensure the right team reviews changes.

Cherrish-iOS/Cherrish-iOS/Data/Persistence/KeychainService.swift (1)

1-7: Appropriate scaffolding for secure credential storage.

The file is correctly positioned in the Data/Persistence layer. When implementing, ensure the service uses native Keychain APIs (Security framework) with proper error handling for save/fetch/delete operations.

Cherrish-iOS/Cherrish-iOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata (1)

1-7: LGTM! Standard Xcode workspace configuration.

This is a standard Xcode-generated workspace file with the expected structure for a new project.

Cherrish-iOS/Cherrish-iOS/Assets.xcassets/Contents.json (1)

1-6: LGTM! Standard asset catalog metadata.

This is a standard Xcode-generated asset catalog configuration file with the expected structure.

Cherrish-iOS/Cherrish-iOS/Assets.xcassets/AccentColor.colorset/Contents.json (1)

1-11: Asset catalog structure looks good.

The AccentColor asset is properly configured with valid JSON structure and correct metadata. The empty color definition can be configured later as design decisions are made.

Cherrish-iOS/Cherrish-iOS/Assets.xcassets/AppIcon.appiconset/Contents.json (1)

1-35: LGTM! Standard asset catalog configuration.

The AppIcon asset catalog is properly configured with support for universal iOS icons including dark and tinted appearances, which aligns well with modern iOS development practices and your iOS 16.6 deployment target.

Cherrish-iOS/Cherrish-iOS.xcodeproj/project.pbxproj (1)

1-346: Project configuration looks appropriate for initial setup.

The Xcode project file establishes a standard SwiftUI application target with appropriate build phases, configurations, and modern file synchronization. The Swift 5.0 version and warning flags are well-configured.

Copy link
Contributor

@soseoyo12 soseoyo12 left a comment

Choose a reason for hiding this comment

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

수고하셨습니다 !! 짱이에여

Copy link
Contributor

@sum130 sum130 left a comment

Choose a reason for hiding this comment

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

image

짱리드덕에 깔쌈하게 시작하겠더요 고마움의 복복드림니다🫳🫳

Copy link
Contributor

@wotjs020708 wotjs020708 left a comment

Choose a reason for hiding this comment

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

세팅하시느라 고생하셨어욤~

@sum130 sum130 requested review from a team and removed request for a team January 5, 2026 13:44
@y-eonee y-eonee merged commit ecda80b into develop Jan 5, 2026
1 check passed
@y-eonee y-eonee deleted the setting/#1-프로젝트-세팅 branch January 5, 2026 16:18
Kimgyuilli pushed a commit that referenced this pull request Jan 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Setting 프로젝트 세팅 시 사용 나연🐹

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Setting] 프로젝트 세팅

4 participants