From aacd9ff75db961ae3b8a22fc165d67729926e137 Mon Sep 17 00:00:00 2001 From: Batuhan Abay Date: Tue, 12 Dec 2023 18:09:50 +0300 Subject: [PATCH 01/14] [SASU0127] update gitignore for Tuist integration --- .gitignore | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.gitignore b/.gitignore index 903e19a..acff761 100644 --- a/.gitignore +++ b/.gitignore @@ -89,3 +89,17 @@ iOSInjectionProject/ *.xcodeproj SampleAppSwiftUI.xcodeproj SampleAppSwiftUI.xcworkspace + + +# Tuist +# Since we now generate .xcodeproj and .xcworkspace files with Tuist, git shouldn't track following files. +# **/Derived folder created on each project generation so git shouldn't track it + +**/*.xcodeproj +**/*.xcworkspace +**/Derived/ +Tuist/Dependencies/ +Tuist/Dependencies/SwiftPackageManager +Tuist/Dependencies/graph.json +Tuist/.swiftpm +Tuist/Package.resolved From 85864aac6a5854cae86e374b9571a68ef52b48c3 Mon Sep 17 00:00:00 2001 From: Batuhan Abay Date: Wed, 13 Dec 2023 10:21:02 +0300 Subject: [PATCH 02/14] [SASU-0127] Delete project.yml file used for xcodegen project generation --- project.yml | 84 ----------------------------------------------------- 1 file changed, 84 deletions(-) delete mode 100644 project.yml diff --git a/project.yml b/project.yml deleted file mode 100644 index 9c326de..0000000 --- a/project.yml +++ /dev/null @@ -1,84 +0,0 @@ -name: SampleAppSwiftUI - -configs: - Development: debug - Production: debug - AppStore: release - -options: - bundleIdPrefix: com.adesso - deploymentTarget: - iOS: 16.0 - -attributes: - BuildIndependentTargetsInParallel: YES - -settings: - ENABLE_USER_SCRIPT_SANDBOXING: false - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED: true - ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOLS: true - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS: true - LOCALIZATION_PREFERS_STRING_CATALOGS: true - SWIFT_EMIT_LOC_STRINGS: true - -packages: - CocoaLumberjack: - url: https://github.com/CocoaLumberjack/CocoaLumberjack - majorVersion: 3.8.0 - Pulse: - url: https://github.com/kean/Pulse - majorVersion: 3.0.0 - swift-log: - url: https://github.com/apple/swift-log.git - majorVersion: 1.5.2 - -targets: - SampleAppSwiftUI: - dependencies: - - package: CocoaLumberjack - product: CocoaLumberjack - - package: CocoaLumberjack - product: CocoaLumberjackSwift - - package: CocoaLumberjack - product: CocoaLumberjackSwiftLogBackend - - package: Pulse - product: Pulse - product: PulseUI - configFiles: - Development: SampleAppSwiftUI/Configs/Development.xcconfig - Production: SampleAppSwiftUI/Configs/Production.xcconfig - AppStore: SampleAppSwiftUI/Configs/AppStore.xcconfig - type: application - platform: iOS - sources: - - path: SampleAppSwiftUI - scheme: - testTargets: - - SampleAppSwiftUITests - - SampleAppSwiftUIUITests - preBuildScripts: - - path: scripts/installation/swiftlint.sh - name: SwiftLint - basedOnDependencyAnalysis: false - SampleAppSwiftUITests: - dependencies: - - target: SampleAppSwiftUI - - package: CocoaLumberjack - product: CocoaLumberjack - - package: CocoaLumberjack - product: CocoaLumberjackSwift - - package: CocoaLumberjack - product: CocoaLumberjackSwiftLogBackend - - package: Pulse - product: Pulse - product: PulseUI - type: bundle.unit-test - platform: iOS - sources: - - path: SampleAppSwiftUITests - SampleAppSwiftUIUITests: - type: bundle.ui-testing - platform: iOS - sources: - - path: SampleAppSwiftUIUITests -parallelizeBuild: true From 02e16100c8261d5625585d6c915d89f0130c9e71 Mon Sep 17 00:00:00 2001 From: Batuhan Abay Date: Wed, 13 Dec 2023 11:09:59 +0300 Subject: [PATCH 03/14] [SASU-0127] add execute rights to swiftlint.sh file to run it from BuildPhase run script --- scripts/installation/swiftlint.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/installation/swiftlint.sh diff --git a/scripts/installation/swiftlint.sh b/scripts/installation/swiftlint.sh old mode 100644 new mode 100755 From dca1105dc7e7f16d597b4367cda85a055b7da2b4 Mon Sep 17 00:00:00 2001 From: Batuhan Abay Date: Wed, 13 Dec 2023 11:25:08 +0300 Subject: [PATCH 04/14] [SASU-0127] Create Workspace.swift file in the root directory of the project for tuist [SASU-0127] Create Tuist/ folder in the root directory of the project [SASU-0127] Create ProjectDescriptionHelpers/ folder in the Tuist directory and create related helper files that we need in the ProjectDescriptionHelpers/ directory to make tuist build manifests and create "ProjectDescriptionHelpers" framework for us. [SASU-0127] Create Modules folder to collect each application under the project-by-project Modules directory. [SASU-0127] Create Project.swift file for SampleAppSwiftUI project under Modules/SampleAppSwiftUI/ directory [SASU-0127] Create Dependencies.swift and Package.swift file under Tuist/ to fetch swift packages via SPM when running tuist fetch command --- .package.resolved | 32 +++++++ Modules/SampleAppSwiftUI/Project.swift | 26 +++++ Tuist/Dependencies.swift | 13 +++ Tuist/Package.swift | 8 ++ .../BuildEnvironment.swift | 42 ++++++++ .../Project+Templates.swift | 95 +++++++++++++++++++ .../Scheme+Templates.swift | 68 +++++++++++++ .../Settings+Templates.swift | 28 ++++++ Workspace.swift | 9 ++ 9 files changed, 321 insertions(+) create mode 100644 .package.resolved create mode 100644 Modules/SampleAppSwiftUI/Project.swift create mode 100644 Tuist/Dependencies.swift create mode 100644 Tuist/Package.swift create mode 100644 Tuist/ProjectDescriptionHelpers/BuildEnvironment.swift create mode 100644 Tuist/ProjectDescriptionHelpers/Project+Templates.swift create mode 100644 Tuist/ProjectDescriptionHelpers/Scheme+Templates.swift create mode 100644 Tuist/ProjectDescriptionHelpers/Settings+Templates.swift create mode 100644 Workspace.swift diff --git a/.package.resolved b/.package.resolved new file mode 100644 index 0000000..943b504 --- /dev/null +++ b/.package.resolved @@ -0,0 +1,32 @@ +{ + "pins" : [ + { + "identity" : "cocoalumberjack", + "kind" : "remoteSourceControl", + "location" : "https://github.com/CocoaLumberjack/CocoaLumberjack", + "state" : { + "revision" : "363ed23d19a931809ea834a7d722da830353806a", + "version" : "3.8.2" + } + }, + { + "identity" : "pulse", + "kind" : "remoteSourceControl", + "location" : "https://github.com/kean/Pulse", + "state" : { + "revision" : "e8bc65bd43d1f32aef533e723f2d324830431120", + "version" : "3.7.3" + } + }, + { + "identity" : "swift-log", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-log.git", + "state" : { + "revision" : "532d8b529501fb73a2455b179e0bbb6d49b652ed", + "version" : "1.5.3" + } + } + ], + "version" : 2 +} diff --git a/Modules/SampleAppSwiftUI/Project.swift b/Modules/SampleAppSwiftUI/Project.swift new file mode 100644 index 0000000..a4ed876 --- /dev/null +++ b/Modules/SampleAppSwiftUI/Project.swift @@ -0,0 +1,26 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let project = Project.createAppModule( + name: "SampleAppSwiftUI", + projectPackages: [ + Package.remote(url: "https://github.com/CocoaLumberjack/CocoaLumberjack", requirement: .upToNextMajor(from: "3.8.0")), + Package.remote(url: "https://github.com/kean/Pulse", requirement: .upToNextMajor(from: "3.0.0")), + Package.remote(url: "https://github.com/apple/swift-log.git", requirement: .upToNextMajor(from: "1.5.2")) + ], + projectSettings: .projectSettings, + destinations: [.iPhone, .iPad, .macWithiPadDesign], + deploymentTargets: .iOS("16.0"), + appTargetScripts: [ + .pre(path: .relativeToRoot("scripts/installation/swiftlint.sh"), name: "SwiftLint", basedOnDependencyAnalysis: false) + ], + appTargetSettings: .targetSettings, + dependencies: [ + .package(product: "CocoaLumberjack"), + .package(product: "CocoaLumberjackSwift"), + .package(product: "CocoaLumberjackSwiftLogBackend"), + .package(product: "PulseUI") + ], + hasUnitTestTarget: true, + hasUITestTarget: true +) diff --git a/Tuist/Dependencies.swift b/Tuist/Dependencies.swift new file mode 100644 index 0000000..4947e27 --- /dev/null +++ b/Tuist/Dependencies.swift @@ -0,0 +1,13 @@ +// swift-tools-version: 5.9 + +import ProjectDescription +import ProjectDescriptionHelpers + +let dependencies = Dependencies( + swiftPackageManager: .init( + projectOptions: [ + "LocalSwiftPackage": .options(disableSynthesizedResourceAccessors: false), + ] + ), + platforms: [.iOS] +) diff --git a/Tuist/Package.swift b/Tuist/Package.swift new file mode 100644 index 0000000..6ee6010 --- /dev/null +++ b/Tuist/Package.swift @@ -0,0 +1,8 @@ +// swift-tools-version: 5.9 + +import PackageDescription + +let package = Package( + name: "PackageName", + dependencies: [] +) diff --git a/Tuist/ProjectDescriptionHelpers/BuildEnvironment.swift b/Tuist/ProjectDescriptionHelpers/BuildEnvironment.swift new file mode 100644 index 0000000..d8faeb2 --- /dev/null +++ b/Tuist/ProjectDescriptionHelpers/BuildEnvironment.swift @@ -0,0 +1,42 @@ +import Foundation +import ProjectDescription + +public enum BuildEnvironment: String, CaseIterable { + case appStore, development, production + + public var name: String { rawValue.firstUppercased } + + public var configurationName: ConfigurationName { + ConfigurationName(stringLiteral: name) + } + + public var targetConfigPath: Path { + .relativeToRoot("Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/\(name).xcconfig") + } + + public var targetConfiguration: Configuration { + switch self { + case .appStore: + return .release(name: configurationName, xcconfig: targetConfigPath) + case .development: + return .debug(name: configurationName, xcconfig: targetConfigPath) + case .production: + return .debug(name: configurationName, xcconfig: targetConfigPath) + } + } + + public var projectConfiguration: Configuration { + switch self { + case .appStore: + return .release(name: configurationName) + case .development: + return .debug(name: configurationName) + case .production: + return .debug(name: configurationName) + } + } +} + +extension StringProtocol { + public var firstUppercased: String { prefix(1).uppercased() + dropFirst() } +} diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates.swift new file mode 100644 index 0000000..8075800 --- /dev/null +++ b/Tuist/ProjectDescriptionHelpers/Project+Templates.swift @@ -0,0 +1,95 @@ +import Foundation +import ProjectDescription + +extension Project { + + static func generateBundleId(for target: String) -> String { + "com.adesso.\(target)" + } + + public static func createAppModule( + name: String, + projectPackages: [Package] = [], + projectSettings: Settings?, + destinations: Destinations, + deploymentTargets: DeploymentTargets?, + appTargetScripts: [TargetScript] = [], + appTargetSettings: Settings?, + dependencies: [TargetDependency] = [], + hasUnitTestTarget: Bool, + hasUITestTarget: Bool + ) -> Project { + var targets: [Target] = [] + + let appTarget = Target( + name: name, + destinations: destinations, + product: .app, + productName: name, + bundleId: generateBundleId(for: name), + deploymentTargets: deploymentTargets, + infoPlist: .file(path: .relativeToRoot("Modules/\(name)/\(name)/Info.plist")), + sources: SourceFilesList.paths([.relativeToRoot("Modules/\(name)/\(name)/**")]), + resources: ResourceFileElements( + resources: [ + ResourceFileElement.glob(pattern: .relativeToRoot("Modules/\(name)/\(name)/Resources/**")) + ] + ), + scripts: appTargetScripts, + dependencies: dependencies, + settings: appTargetSettings + ) + + targets.append(appTarget) + + if hasUnitTestTarget { + let unitTestTargetName = "\(name)Tests" + let unitTestTarget = Target( + name: unitTestTargetName, + destinations: destinations, + product: .unitTests, + productName: unitTestTargetName, + bundleId: generateBundleId(for: unitTestTargetName), + deploymentTargets: deploymentTargets, + infoPlist: .file(path: .relativeToRoot("Modules/\(name)/\(unitTestTargetName)/Info.plist")), + sources: SourceFilesList.paths([.relativeToRoot("Modules/\(name)/\(unitTestTargetName)/**")]), + dependencies: dependencies + ) + + targets.append(unitTestTarget) + } + + if hasUITestTarget { + let uiTestTargetName = "\(name)UITests" + let uiTestTarget = Target( + name: uiTestTargetName, + destinations: destinations, + product: .uiTests, + productName: uiTestTargetName, + bundleId: generateBundleId(for: uiTestTargetName), + deploymentTargets: deploymentTargets, + infoPlist: .file(path: .relativeToRoot("Modules/\(name)/\(uiTestTargetName)/Info.plist")), + sources: SourceFilesList.paths([.relativeToRoot("Modules/\(name)/\(uiTestTargetName)/**")]) + ) + + targets.append(uiTestTarget) + } + + return Project( + name: name, + options: .options( + automaticSchemesOptions: .disabled, + disableBundleAccessors: true, + disableSynthesizedResourceAccessors: true + ), + packages: projectPackages, + settings: projectSettings, + targets: targets, + schemes: Scheme.allSchemes( + for: name, + hasUnitTestTarget: hasUnitTestTarget, + hasUITestTarget: hasUITestTarget + ) + ) + } +} diff --git a/Tuist/ProjectDescriptionHelpers/Scheme+Templates.swift b/Tuist/ProjectDescriptionHelpers/Scheme+Templates.swift new file mode 100644 index 0000000..f3b5f71 --- /dev/null +++ b/Tuist/ProjectDescriptionHelpers/Scheme+Templates.swift @@ -0,0 +1,68 @@ +import Foundation +import ProjectDescription + +extension Scheme { + + public static func allSchemes(for target: String, executable: String? = nil, hasUnitTestTarget: Bool, hasUITestTarget: Bool) -> [Scheme] { + BuildEnvironment.allCases.map({ createScheme(for: $0, target: target, hasUnitTestTarget: hasUnitTestTarget, hasUITestTarget: hasUITestTarget) }) + } + + public static func createScheme(for env: BuildEnvironment, target: String, executable: String? = nil, hasUnitTestTarget: Bool, hasUITestTarget: Bool) -> Scheme { + let config = env.configurationName + + let mainTarget = TargetReference(stringLiteral: target) + let unitTestTarget: TestableTarget? = hasUnitTestTarget ? TestableTarget(stringLiteral: "\(target)Tests") : nil + let uiTestTarget: TestableTarget? = hasUITestTarget ? TestableTarget(stringLiteral: "\(target)UITests") : nil + let testableTargets: [TestableTarget] = [unitTestTarget, uiTestTarget].compactMap({ $0 }) + var executableTarget: TargetReference? + if let executable { + executableTarget = "\(executable)" + } + + return .scheme( + name: "\(target)-\(env.name)", + shared: true, + hidden: false, + buildAction: .buildAction( + targets: [ + mainTarget + ] + ), + testAction: !testableTargets.isEmpty ? .targets(testableTargets, configuration: config) : nil, + runAction: .runAction( + configuration: config, + executable: executableTarget + ), + archiveAction: .archiveAction(configuration: config), + profileAction: .profileAction( + configuration: config, + executable: executableTarget + ), + analyzeAction: .analyzeAction(configuration: config) + ) + } + + public static func scheme( + name: String, + shared: Bool = true, + hidden: Bool = false, + buildAction: ProjectDescription.BuildAction? = nil, + testAction: ProjectDescription.TestAction? = nil, + runAction: ProjectDescription.RunAction? = nil, + archiveAction: ProjectDescription.ArchiveAction? = nil, + profileAction: ProjectDescription.ProfileAction? = nil, + analyzeAction: ProjectDescription.AnalyzeAction? = nil + ) -> Scheme { + Scheme( + name: name, + shared: shared, + hidden: hidden, + buildAction: buildAction, + testAction: testAction, + runAction: runAction, + archiveAction: archiveAction, + profileAction: profileAction, + analyzeAction: analyzeAction + ) + } +} diff --git a/Tuist/ProjectDescriptionHelpers/Settings+Templates.swift b/Tuist/ProjectDescriptionHelpers/Settings+Templates.swift new file mode 100644 index 0000000..72dd2ca --- /dev/null +++ b/Tuist/ProjectDescriptionHelpers/Settings+Templates.swift @@ -0,0 +1,28 @@ +import Foundation +import ProjectDescription + +extension SettingsDictionary { + public static let baseSettings: SettingsDictionary = [ + "ENABLE_USER_SCRIPT_SANDBOXING": false, + "CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED": true, + "ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOLS": true, + "ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS": true, + "LOCALIZATION_PREFERS_STRING_CATALOGS": true, + "SWIFT_EMIT_LOC_STRINGS": true + ] +} + +extension ProjectDescription.Settings { + public static var projectSettings: Self { + .settings( + base: .baseSettings, + configurations: BuildEnvironment.allCases.map(\.projectConfiguration) + ) + } + + public static var targetSettings: Self { + .settings( + configurations: BuildEnvironment.allCases.map(\.targetConfiguration) + ) + } +} diff --git a/Workspace.swift b/Workspace.swift new file mode 100644 index 0000000..67618fc --- /dev/null +++ b/Workspace.swift @@ -0,0 +1,9 @@ +import ProjectDescription +import ProjectDescriptionHelpers + +let workspace = Workspace( + name: "SampleAppTuist", + projects: [ + Path.relativeToRoot("Modules/SampleAppSwiftUI") + ] +) From 4e19b37e9dc5885ec74c52f500577f59cb022258 Mon Sep 17 00:00:00 2001 From: Batuhan Abay Date: Wed, 13 Dec 2023 11:39:29 +0300 Subject: [PATCH 05/14] [SASU-0127] Folder and directory structure changed for Tuist integration. SampleAppSwiftUI folder moved under the Modules/SampleAppSwiftUI/ directory [SASU-0127] SampleAppSwiftUI app's Info.plist file moved from the Resources folder to its parent directory which is Modules/SampleAppSwiftUI/SampleAppSwiftUI [SASU-0127] Constants folder moved to its parent from Resources folder because when defining ResourceFileElements on tuist's Project.swift manifest file, tuist adds all files under the directory to "Copy Bundle Resources" build phase and if there is .swift file on the given folder, Xcode gives warning that it can not copy XYZ.swift file --- .../SampleAppSwiftUI}/Application/AppDelegate.swift | 0 .../Application/SampleAppSwiftUIApp.swift | 0 .../Application/Services/LoggingService.swift | 0 .../Application/Services/SwifterServerService.swift | 0 .../SampleAppSwiftUI}/Configs/AppStore.xcconfig | 2 ++ .../SampleAppSwiftUI}/Configs/Configuration.swift | 0 .../Configs/ConfigurationProtocol.swift | 0 .../SampleAppSwiftUI}/Configs/Development.xcconfig | 0 .../SampleAppSwiftUI}/Configs/Production.xcconfig | 0 .../SampleAppSwiftUI}/Constants/Dimensions.swift | 0 .../SampleAppSwiftUI}/Constants/Fonts.swift | 0 .../SampleAppSwiftUI}/Constants/Images.swift | 0 .../SampleAppSwiftUI}/Constants/Numbers.swift | 0 .../SampleAppSwiftUI}/Constants/Paddings.swift | 0 .../SampleAppSwiftUI}/Constants/Range.swift | 0 .../SampleAppSwiftUI}/Constants/Spacings.swift | 0 .../SampleAppSwiftUI}/Constants/URLs.swift | 0 .../SampleAppSwiftUI/SampleAppSwiftUI}/Info.plist | 0 .../SampleAppSwiftUI}/Managers/LoggerManager.swift | 0 .../SampleAppSwiftUI}/Managers/SwifterManager.swift | 0 .../SampleAppSwiftUI}/Network/.gitkeep | 0 .../Network/Base/BaseServiceProtocol.swift | 0 .../Network/Base/NetworkLoader.swift | 0 .../Network/Base/NetworkLoaderProtocol.swift | 0 .../Network/Base/NetworkLoaderProvider.swift | 0 .../Network/Endpoints/BaseEndpoint.swift | 0 .../Network/Entities/AdessoError.swift | 0 .../Network/Entities/ErrorResponse.swift | 0 .../Network/Entities/HTTPStatus.swift | 0 .../Network/Entities/RequestObject.swift | 0 .../Extensions/HTTPURLResponseExtensions.swift | 0 .../RemoteDataSources/AllCoinRemoteDataSource.swift | 0 .../RemoteDataSources/CoinNewsDataSource.swift | 0 .../CoinPriceHistoryRemoteDataSource.swift | 0 .../RemoteDataSources/ExampleRemoteDataSource.swift | 0 .../Network/ResponseModels/AllCoinResponse.swift | 0 .../Network/ResponseModels/CoinNewsResponse.swift | 0 .../ResponseModels/CoinPriceHistoryResponse.swift | 0 .../Network/ResponseModels/ExampleResponse.swift | 0 .../Network/URLBuilder/EndpointBuilder.swift | 0 .../Network/URLBuilder/TargetEndpointProtocol.swift | 0 .../Network/UseCases/AllCoinUseCase.swift | 0 .../Network/UseCases/CoinNewsUseCase.swift | 0 .../Network/UseCases/CoinPriceHistoryUseCase.swift | 0 .../Network/UseCases/ExampleUseCase.swift | 0 .../WebServiceRepositories/AllCoinRepository.swift | 0 .../WebServiceRepositories/CoinNewsRepository.swift | 0 .../CoinPriceHistoryRepository.swift | 0 .../WebServiceRepositories/ExampleRepository.swift | 0 .../WebServices/AllCoinService/AllCoinService.swift | 0 .../AllCoinService/AllCoinServiceEndpoint.swift | 0 .../CoinNewsService/CoinNewsService.swift | 0 .../CoinNewsService/CoinNewsServiceEndpoint.swift | 0 .../CoinPriceHistoryService.swift | 0 .../CoinPriceHistoryServiceEndpoint.swift | 0 .../WebServices/ExampleService/ExampleService.swift | 0 .../ExampleService/ExampleServiceEndpoint.swift | 0 .../Network/WebServices/WebServiceProvider.swift | 0 .../Network/WebSocket/Base/WebSocketStream.swift | 0 .../RequestModels/FavoritesCoinRequest.swift | 0 .../RequestModels/SubscriptionRequest.swift | 0 .../RequestModels/SubscriptionRequestAction.swift | 0 .../ResponseModels/FavoritesCoinResponse.swift | 0 .../Network/WebSocket/WebSocketEndpoint.swift | 0 .../WebSocket/WebSocketExcangeRatesMessage.swift | 0 .../WebSocket/WebSocketMessageProtocol.swift | 0 .../Network/WebSocket/WebSocketProvider.swift | 0 .../Network/WebSocket/WebSocketService.swift | 0 .../Network/WebSocket/WebSocketSubscription.swift | 0 .../AppIcon.appiconset/Contents.json | 0 .../Resources/Assets.xcassets/Contents.json | 0 .../Colors.xcassets/Color.colorset/Contents.json | 0 .../Resources/Colors.xcassets/Contents.json | 0 .../LightestGray.colorset/Contents.json | 0 .../Colors.xcassets/Search Bar/Contents.json | 0 .../SearchBarBackground.colorset/Contents.json | 0 .../Search Bar/SearchIcon.colorset/Contents.json | 0 .../Colors.xcassets/Settings Screen/Contents.json | 0 .../settingsButtonColor.colorset/Contents.json | 0 .../settingsCurrencyExpColor.colorset/Contents.json | 0 .../settingsLineColor.colorset/Contents.json | 0 .../settingsLineTitleColor.colorset/Contents.json | 0 .../settingsParitySetColor.colorset/Contents.json | 0 .../settingsViewTitleColor.colorset/Contents.json | 0 .../Resources/Icons.xcassets/Contents.json | 0 .../Icons.xcassets/Image.imageset/Contents.json | 0 .../Resources/Images.xcassets/Contents.json | 0 .../Images.xcassets/binance.imageset/Contents.json | 0 .../Images.xcassets/binance.imageset/binance.png | Bin .../Images.xcassets/btc.imageset/Contents.json | 0 .../Resources/Images.xcassets/btc.imageset/btc.png | Bin .../default-coin.imageset/Contents.json | 0 .../default-coin.imageset/default-coin.svg | 0 .../world-news.imageset/Contents.json | 0 .../world-news.imageset/world-news.png | Bin .../Resources/Localizable.xcstrings | 0 .../Resources/Mocks/Sample-Subscription.geojson | 0 .../SampleAppSwiftUI}/Resources/Mocks/coinList.json | 0 .../Resources/Mocks/sample-data.json | 0 .../SampleAppSwiftUI}/Resources/Mocks/testData.json | 0 .../Scenes/Favorites/FavoritesView.swift | 0 .../Scenes/Favorites/FavoritesViewModel.swift | 0 .../Scenes/Home/Coin/CoinListView.swift | 0 .../Home/Coin/CoinNews/CoinNewsListView.swift | 0 .../Scenes/Home/Coin/CoinView.swift | 0 .../Home/Coin/Detail/ChangePercentageView.swift | 0 .../Home/Coin/Detail/CoinChartHistoryRange.swift | 0 .../Coin/Detail/CoinChartHistoryRangeButtons.swift | 0 .../Scenes/Home/Coin/Detail/CoinDetailView.swift | 0 .../Home/Coin/Detail/CoinDetailViewModel.swift | 0 .../Coin/Detail/CoinPriceHistoryChartView.swift | 0 .../Detail/CoinPriceHistoryChartViewModel.swift | 0 .../Coin/Detail/CoinPriceInfoChartDataModel.swift | 0 .../SampleAppSwiftUI}/Scenes/Home/FilterView.swift | 0 .../SampleAppSwiftUI}/Scenes/Home/HomeView.swift | 0 .../Scenes/Home/HomeViewModel.swift | 0 .../Scenes/Home/SearchBarView.swift | 0 .../SampleAppSwiftUI}/Scenes/Home/SortOptions.swift | 0 .../SampleAppSwiftUI}/Scenes/Main/MainView.swift | 0 .../SampleAppSwiftUI}/Scenes/Router.swift | 0 .../SampleAppSwiftUI}/Scenes/Screen.swift | 0 .../SampleAppSwiftUI}/Scenes/Settings/Parity.swift | 0 .../Scenes/Settings/SettingsView.swift | 0 .../Scenes/ViewModelProtocol.swift | 0 .../SampleAppSwiftUI}/Scenes/WebView/WebView.swift | 0 .../Utility/Extensions/ArrayExtensions.swift | 0 .../Utility/Extensions/CodableExtensions.swift | 0 .../Utility/Extensions/ColorExtensions.swift | 0 .../Utility/Extensions/EncodableExtensions.swift | 0 .../Utility/Extensions/RawUsdExtensions.swift | 0 .../Utility/Extensions/StringExtensions.swift | 0 .../Utility/Extensions/TextExtensions.swift | 0 .../Utility/Extensions/UIApplicationExtension.swift | 0 .../Extensions/UICollectionViewCellExtensions.swift | 0 .../Extensions/UICollectionViewExtensions.swift | 0 .../Utility/Extensions/UIDeviceExtension.swift | 0 .../UINavigationControllerExtensions.swift | 0 .../Extensions/UITableViewCellExtensions.swift | 0 .../Utility/Extensions/UITableViewExtensions.swift | 0 .../Extensions/UIViewControllerExtensions.swift | 0 .../Utility/Extensions/URLExtensions.swift | 0 .../Utility/JsonHelper/JsonHelper.swift | 0 .../Utility/JsonHelper/MockPath.swift | 0 .../SampleAppSwiftUI}/Utility/Logger.swift | 0 .../Utility/Managers/StorageManager.swift | 0 .../Utility/ViewModifiers/ImageFrameModifier.swift | 0 .../Utility/ViewModifiers/LightShadowModifier.swift | 0 .../ViewModifiers/OnFirstAppearModifier.swift | 0 .../SettingButtonModifier.swift | 0 .../SettingViewModifiers/SettingLineModifier.swift | 0 .../SettingViewModifiers/SettingTextModifier.swift | 0 .../Helpers/TestExtensions.swift | 0 .../HelpersTests/JsonHelperTests.swift | 0 .../HelpersTests/TestObjects/TestUser.swift | 0 .../HelpersTests/TestPath/TestPath.swift | 0 .../SampleAppSwiftUITests}/Info.plist | 0 .../NetworkLayerTests/NetworkLoaderTests.swift | 0 .../SampleAppSwiftUITests.swift | 0 .../SampleAppSwiftUIUITests}/Info.plist | 0 .../SampleAppSwiftUIUITests.swift | 0 160 files changed, 2 insertions(+) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Application/AppDelegate.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Application/SampleAppSwiftUIApp.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Application/Services/LoggingService.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Application/Services/SwifterServerService.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Configs/AppStore.xcconfig (87%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Configs/Configuration.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Configs/ConfigurationProtocol.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Configs/Development.xcconfig (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Configs/Production.xcconfig (100%) rename {SampleAppSwiftUI/Resources => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Constants/Dimensions.swift (100%) rename {SampleAppSwiftUI/Resources => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Constants/Fonts.swift (100%) rename {SampleAppSwiftUI/Resources => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Constants/Images.swift (100%) rename {SampleAppSwiftUI/Resources => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Constants/Numbers.swift (100%) rename {SampleAppSwiftUI/Resources => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Constants/Paddings.swift (100%) rename {SampleAppSwiftUI/Resources => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Constants/Range.swift (100%) rename {SampleAppSwiftUI/Resources => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Constants/Spacings.swift (100%) rename {SampleAppSwiftUI/Resources => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Constants/URLs.swift (100%) rename {SampleAppSwiftUI/Resources => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Info.plist (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Managers/LoggerManager.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Managers/SwifterManager.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/.gitkeep (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/Base/BaseServiceProtocol.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/Base/NetworkLoader.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/Base/NetworkLoaderProtocol.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/Base/NetworkLoaderProvider.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/Endpoints/BaseEndpoint.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/Entities/AdessoError.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/Entities/ErrorResponse.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/Entities/HTTPStatus.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/Entities/RequestObject.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/Extensions/HTTPURLResponseExtensions.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/RemoteDataSources/AllCoinRemoteDataSource.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/RemoteDataSources/CoinNewsDataSource.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/RemoteDataSources/CoinPriceHistoryRemoteDataSource.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/RemoteDataSources/ExampleRemoteDataSource.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/ResponseModels/AllCoinResponse.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/ResponseModels/CoinNewsResponse.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/ResponseModels/CoinPriceHistoryResponse.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/ResponseModels/ExampleResponse.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/URLBuilder/EndpointBuilder.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/URLBuilder/TargetEndpointProtocol.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/UseCases/AllCoinUseCase.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/UseCases/CoinNewsUseCase.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/UseCases/CoinPriceHistoryUseCase.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/UseCases/ExampleUseCase.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebServiceRepositories/AllCoinRepository.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebServiceRepositories/CoinNewsRepository.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebServiceRepositories/CoinPriceHistoryRepository.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebServiceRepositories/ExampleRepository.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebServices/AllCoinService/AllCoinService.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebServices/AllCoinService/AllCoinServiceEndpoint.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebServices/CoinNewsService/CoinNewsService.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebServices/CoinNewsService/CoinNewsServiceEndpoint.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryService.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryServiceEndpoint.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebServices/ExampleService/ExampleService.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebServices/ExampleService/ExampleServiceEndpoint.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebServices/WebServiceProvider.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebSocket/Base/WebSocketStream.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebSocket/RequestModels/FavoritesCoinRequest.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebSocket/RequestModels/SubscriptionRequest.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebSocket/RequestModels/SubscriptionRequestAction.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebSocket/ResponseModels/FavoritesCoinResponse.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebSocket/WebSocketEndpoint.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebSocket/WebSocketExcangeRatesMessage.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebSocket/WebSocketMessageProtocol.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebSocket/WebSocketProvider.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebSocket/WebSocketService.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Network/WebSocket/WebSocketSubscription.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Assets.xcassets/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Colors.xcassets/Color.colorset/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Colors.xcassets/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Colors.xcassets/LightestGray.colorset/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Colors.xcassets/Search Bar/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Colors.xcassets/Search Bar/SearchBarBackground.colorset/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Colors.xcassets/Search Bar/SearchIcon.colorset/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Colors.xcassets/Settings Screen/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Colors.xcassets/Settings Screen/settingsButtonColor.colorset/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Colors.xcassets/Settings Screen/settingsCurrencyExpColor.colorset/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Colors.xcassets/Settings Screen/settingsLineColor.colorset/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Colors.xcassets/Settings Screen/settingsLineTitleColor.colorset/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Colors.xcassets/Settings Screen/settingsParitySetColor.colorset/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Colors.xcassets/Settings Screen/settingsViewTitleColor.colorset/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Icons.xcassets/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Icons.xcassets/Image.imageset/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Images.xcassets/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Images.xcassets/binance.imageset/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Images.xcassets/binance.imageset/binance.png (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Images.xcassets/btc.imageset/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Images.xcassets/btc.imageset/btc.png (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Images.xcassets/default-coin.imageset/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Images.xcassets/default-coin.imageset/default-coin.svg (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Images.xcassets/world-news.imageset/Contents.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Images.xcassets/world-news.imageset/world-news.png (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Localizable.xcstrings (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Mocks/Sample-Subscription.geojson (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Mocks/coinList.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Mocks/sample-data.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Resources/Mocks/testData.json (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Favorites/FavoritesView.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Favorites/FavoritesViewModel.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Home/Coin/CoinListView.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Home/Coin/CoinNews/CoinNewsListView.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Home/Coin/CoinView.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Home/Coin/Detail/ChangePercentageView.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Home/Coin/Detail/CoinChartHistoryRange.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Home/Coin/Detail/CoinChartHistoryRangeButtons.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Home/Coin/Detail/CoinDetailView.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Home/Coin/Detail/CoinDetailViewModel.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Home/Coin/Detail/CoinPriceHistoryChartView.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Home/Coin/Detail/CoinPriceHistoryChartViewModel.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Home/Coin/Detail/CoinPriceInfoChartDataModel.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Home/FilterView.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Home/HomeView.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Home/HomeViewModel.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Home/SearchBarView.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Home/SortOptions.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Main/MainView.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Router.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Screen.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Settings/Parity.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/Settings/SettingsView.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/ViewModelProtocol.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Scenes/WebView/WebView.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Extensions/ArrayExtensions.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Extensions/CodableExtensions.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Extensions/ColorExtensions.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Extensions/EncodableExtensions.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Extensions/RawUsdExtensions.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Extensions/StringExtensions.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Extensions/TextExtensions.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Extensions/UIApplicationExtension.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Extensions/UICollectionViewCellExtensions.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Extensions/UICollectionViewExtensions.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Extensions/UIDeviceExtension.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Extensions/UINavigationControllerExtensions.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Extensions/UITableViewCellExtensions.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Extensions/UITableViewExtensions.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Extensions/UIViewControllerExtensions.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Extensions/URLExtensions.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/JsonHelper/JsonHelper.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/JsonHelper/MockPath.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Logger.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/Managers/StorageManager.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/ViewModifiers/ImageFrameModifier.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/ViewModifiers/LightShadowModifier.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/ViewModifiers/OnFirstAppearModifier.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/ViewModifiers/SettingViewModifiers/SettingButtonModifier.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/ViewModifiers/SettingViewModifiers/SettingLineModifier.swift (100%) rename {SampleAppSwiftUI => Modules/SampleAppSwiftUI/SampleAppSwiftUI}/Utility/ViewModifiers/SettingViewModifiers/SettingTextModifier.swift (100%) rename {SampleAppSwiftUITests => Modules/SampleAppSwiftUI/SampleAppSwiftUITests}/Helpers/TestExtensions.swift (100%) rename {SampleAppSwiftUITests => Modules/SampleAppSwiftUI/SampleAppSwiftUITests}/HelpersTests/JsonHelperTests.swift (100%) rename {SampleAppSwiftUITests => Modules/SampleAppSwiftUI/SampleAppSwiftUITests}/HelpersTests/TestObjects/TestUser.swift (100%) rename {SampleAppSwiftUITests => Modules/SampleAppSwiftUI/SampleAppSwiftUITests}/HelpersTests/TestPath/TestPath.swift (100%) rename {SampleAppSwiftUITests => Modules/SampleAppSwiftUI/SampleAppSwiftUITests}/Info.plist (100%) rename {SampleAppSwiftUITests => Modules/SampleAppSwiftUI/SampleAppSwiftUITests}/NetworkLayerTests/NetworkLoaderTests.swift (100%) rename {SampleAppSwiftUITests => Modules/SampleAppSwiftUI/SampleAppSwiftUITests}/SampleAppSwiftUITests.swift (100%) rename {SampleAppSwiftUIUITests => Modules/SampleAppSwiftUI/SampleAppSwiftUIUITests}/Info.plist (100%) rename {SampleAppSwiftUIUITests => Modules/SampleAppSwiftUI/SampleAppSwiftUIUITests}/SampleAppSwiftUIUITests.swift (100%) diff --git a/SampleAppSwiftUI/Application/AppDelegate.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Application/AppDelegate.swift similarity index 100% rename from SampleAppSwiftUI/Application/AppDelegate.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Application/AppDelegate.swift diff --git a/SampleAppSwiftUI/Application/SampleAppSwiftUIApp.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Application/SampleAppSwiftUIApp.swift similarity index 100% rename from SampleAppSwiftUI/Application/SampleAppSwiftUIApp.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Application/SampleAppSwiftUIApp.swift diff --git a/SampleAppSwiftUI/Application/Services/LoggingService.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Application/Services/LoggingService.swift similarity index 100% rename from SampleAppSwiftUI/Application/Services/LoggingService.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Application/Services/LoggingService.swift diff --git a/SampleAppSwiftUI/Application/Services/SwifterServerService.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Application/Services/SwifterServerService.swift similarity index 100% rename from SampleAppSwiftUI/Application/Services/SwifterServerService.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Application/Services/SwifterServerService.swift diff --git a/SampleAppSwiftUI/Configs/AppStore.xcconfig b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/AppStore.xcconfig similarity index 87% rename from SampleAppSwiftUI/Configs/AppStore.xcconfig rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/AppStore.xcconfig index e322645..4131515 100644 --- a/SampleAppSwiftUI/Configs/AppStore.xcconfig +++ b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/AppStore.xcconfig @@ -9,6 +9,8 @@ // Configuration settings file format documentation can be found at: // https://help.apple.com/xcode/#/dev745c5c974 +PRODUCT_BUNDLE_IDENTIFIER = com.adesso.SampleAppSwiftUI + base_url = https:/$()/min-api.cryptocompare.com/data/ webSocket_base_url = wss:/$()/streamer.cryptocompare.com/v2 diff --git a/SampleAppSwiftUI/Configs/Configuration.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Configuration.swift similarity index 100% rename from SampleAppSwiftUI/Configs/Configuration.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Configuration.swift diff --git a/SampleAppSwiftUI/Configs/ConfigurationProtocol.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/ConfigurationProtocol.swift similarity index 100% rename from SampleAppSwiftUI/Configs/ConfigurationProtocol.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/ConfigurationProtocol.swift diff --git a/SampleAppSwiftUI/Configs/Development.xcconfig b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Development.xcconfig similarity index 100% rename from SampleAppSwiftUI/Configs/Development.xcconfig rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Development.xcconfig diff --git a/SampleAppSwiftUI/Configs/Production.xcconfig b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Production.xcconfig similarity index 100% rename from SampleAppSwiftUI/Configs/Production.xcconfig rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Production.xcconfig diff --git a/SampleAppSwiftUI/Resources/Constants/Dimensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Dimensions.swift similarity index 100% rename from SampleAppSwiftUI/Resources/Constants/Dimensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Dimensions.swift diff --git a/SampleAppSwiftUI/Resources/Constants/Fonts.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Fonts.swift similarity index 100% rename from SampleAppSwiftUI/Resources/Constants/Fonts.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Fonts.swift diff --git a/SampleAppSwiftUI/Resources/Constants/Images.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Images.swift similarity index 100% rename from SampleAppSwiftUI/Resources/Constants/Images.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Images.swift diff --git a/SampleAppSwiftUI/Resources/Constants/Numbers.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Numbers.swift similarity index 100% rename from SampleAppSwiftUI/Resources/Constants/Numbers.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Numbers.swift diff --git a/SampleAppSwiftUI/Resources/Constants/Paddings.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Paddings.swift similarity index 100% rename from SampleAppSwiftUI/Resources/Constants/Paddings.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Paddings.swift diff --git a/SampleAppSwiftUI/Resources/Constants/Range.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Range.swift similarity index 100% rename from SampleAppSwiftUI/Resources/Constants/Range.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Range.swift diff --git a/SampleAppSwiftUI/Resources/Constants/Spacings.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Spacings.swift similarity index 100% rename from SampleAppSwiftUI/Resources/Constants/Spacings.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Spacings.swift diff --git a/SampleAppSwiftUI/Resources/Constants/URLs.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/URLs.swift similarity index 100% rename from SampleAppSwiftUI/Resources/Constants/URLs.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/URLs.swift diff --git a/SampleAppSwiftUI/Resources/Info.plist b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Info.plist similarity index 100% rename from SampleAppSwiftUI/Resources/Info.plist rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Info.plist diff --git a/SampleAppSwiftUI/Managers/LoggerManager.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Managers/LoggerManager.swift similarity index 100% rename from SampleAppSwiftUI/Managers/LoggerManager.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Managers/LoggerManager.swift diff --git a/SampleAppSwiftUI/Managers/SwifterManager.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Managers/SwifterManager.swift similarity index 100% rename from SampleAppSwiftUI/Managers/SwifterManager.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Managers/SwifterManager.swift diff --git a/SampleAppSwiftUI/Network/.gitkeep b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/.gitkeep similarity index 100% rename from SampleAppSwiftUI/Network/.gitkeep rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/.gitkeep diff --git a/SampleAppSwiftUI/Network/Base/BaseServiceProtocol.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/BaseServiceProtocol.swift similarity index 100% rename from SampleAppSwiftUI/Network/Base/BaseServiceProtocol.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/BaseServiceProtocol.swift diff --git a/SampleAppSwiftUI/Network/Base/NetworkLoader.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoader.swift similarity index 100% rename from SampleAppSwiftUI/Network/Base/NetworkLoader.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoader.swift diff --git a/SampleAppSwiftUI/Network/Base/NetworkLoaderProtocol.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoaderProtocol.swift similarity index 100% rename from SampleAppSwiftUI/Network/Base/NetworkLoaderProtocol.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoaderProtocol.swift diff --git a/SampleAppSwiftUI/Network/Base/NetworkLoaderProvider.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoaderProvider.swift similarity index 100% rename from SampleAppSwiftUI/Network/Base/NetworkLoaderProvider.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoaderProvider.swift diff --git a/SampleAppSwiftUI/Network/Endpoints/BaseEndpoint.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Endpoints/BaseEndpoint.swift similarity index 100% rename from SampleAppSwiftUI/Network/Endpoints/BaseEndpoint.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Endpoints/BaseEndpoint.swift diff --git a/SampleAppSwiftUI/Network/Entities/AdessoError.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/AdessoError.swift similarity index 100% rename from SampleAppSwiftUI/Network/Entities/AdessoError.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/AdessoError.swift diff --git a/SampleAppSwiftUI/Network/Entities/ErrorResponse.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/ErrorResponse.swift similarity index 100% rename from SampleAppSwiftUI/Network/Entities/ErrorResponse.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/ErrorResponse.swift diff --git a/SampleAppSwiftUI/Network/Entities/HTTPStatus.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/HTTPStatus.swift similarity index 100% rename from SampleAppSwiftUI/Network/Entities/HTTPStatus.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/HTTPStatus.swift diff --git a/SampleAppSwiftUI/Network/Entities/RequestObject.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/RequestObject.swift similarity index 100% rename from SampleAppSwiftUI/Network/Entities/RequestObject.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/RequestObject.swift diff --git a/SampleAppSwiftUI/Network/Extensions/HTTPURLResponseExtensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Extensions/HTTPURLResponseExtensions.swift similarity index 100% rename from SampleAppSwiftUI/Network/Extensions/HTTPURLResponseExtensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Extensions/HTTPURLResponseExtensions.swift diff --git a/SampleAppSwiftUI/Network/RemoteDataSources/AllCoinRemoteDataSource.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/AllCoinRemoteDataSource.swift similarity index 100% rename from SampleAppSwiftUI/Network/RemoteDataSources/AllCoinRemoteDataSource.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/AllCoinRemoteDataSource.swift diff --git a/SampleAppSwiftUI/Network/RemoteDataSources/CoinNewsDataSource.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/CoinNewsDataSource.swift similarity index 100% rename from SampleAppSwiftUI/Network/RemoteDataSources/CoinNewsDataSource.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/CoinNewsDataSource.swift diff --git a/SampleAppSwiftUI/Network/RemoteDataSources/CoinPriceHistoryRemoteDataSource.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/CoinPriceHistoryRemoteDataSource.swift similarity index 100% rename from SampleAppSwiftUI/Network/RemoteDataSources/CoinPriceHistoryRemoteDataSource.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/CoinPriceHistoryRemoteDataSource.swift diff --git a/SampleAppSwiftUI/Network/RemoteDataSources/ExampleRemoteDataSource.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/ExampleRemoteDataSource.swift similarity index 100% rename from SampleAppSwiftUI/Network/RemoteDataSources/ExampleRemoteDataSource.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/ExampleRemoteDataSource.swift diff --git a/SampleAppSwiftUI/Network/ResponseModels/AllCoinResponse.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/AllCoinResponse.swift similarity index 100% rename from SampleAppSwiftUI/Network/ResponseModels/AllCoinResponse.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/AllCoinResponse.swift diff --git a/SampleAppSwiftUI/Network/ResponseModels/CoinNewsResponse.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/CoinNewsResponse.swift similarity index 100% rename from SampleAppSwiftUI/Network/ResponseModels/CoinNewsResponse.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/CoinNewsResponse.swift diff --git a/SampleAppSwiftUI/Network/ResponseModels/CoinPriceHistoryResponse.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/CoinPriceHistoryResponse.swift similarity index 100% rename from SampleAppSwiftUI/Network/ResponseModels/CoinPriceHistoryResponse.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/CoinPriceHistoryResponse.swift diff --git a/SampleAppSwiftUI/Network/ResponseModels/ExampleResponse.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/ExampleResponse.swift similarity index 100% rename from SampleAppSwiftUI/Network/ResponseModels/ExampleResponse.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/ExampleResponse.swift diff --git a/SampleAppSwiftUI/Network/URLBuilder/EndpointBuilder.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/URLBuilder/EndpointBuilder.swift similarity index 100% rename from SampleAppSwiftUI/Network/URLBuilder/EndpointBuilder.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/URLBuilder/EndpointBuilder.swift diff --git a/SampleAppSwiftUI/Network/URLBuilder/TargetEndpointProtocol.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/URLBuilder/TargetEndpointProtocol.swift similarity index 100% rename from SampleAppSwiftUI/Network/URLBuilder/TargetEndpointProtocol.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/URLBuilder/TargetEndpointProtocol.swift diff --git a/SampleAppSwiftUI/Network/UseCases/AllCoinUseCase.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/AllCoinUseCase.swift similarity index 100% rename from SampleAppSwiftUI/Network/UseCases/AllCoinUseCase.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/AllCoinUseCase.swift diff --git a/SampleAppSwiftUI/Network/UseCases/CoinNewsUseCase.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/CoinNewsUseCase.swift similarity index 100% rename from SampleAppSwiftUI/Network/UseCases/CoinNewsUseCase.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/CoinNewsUseCase.swift diff --git a/SampleAppSwiftUI/Network/UseCases/CoinPriceHistoryUseCase.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/CoinPriceHistoryUseCase.swift similarity index 100% rename from SampleAppSwiftUI/Network/UseCases/CoinPriceHistoryUseCase.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/CoinPriceHistoryUseCase.swift diff --git a/SampleAppSwiftUI/Network/UseCases/ExampleUseCase.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/ExampleUseCase.swift similarity index 100% rename from SampleAppSwiftUI/Network/UseCases/ExampleUseCase.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/ExampleUseCase.swift diff --git a/SampleAppSwiftUI/Network/WebServiceRepositories/AllCoinRepository.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/AllCoinRepository.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebServiceRepositories/AllCoinRepository.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/AllCoinRepository.swift diff --git a/SampleAppSwiftUI/Network/WebServiceRepositories/CoinNewsRepository.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/CoinNewsRepository.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebServiceRepositories/CoinNewsRepository.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/CoinNewsRepository.swift diff --git a/SampleAppSwiftUI/Network/WebServiceRepositories/CoinPriceHistoryRepository.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/CoinPriceHistoryRepository.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebServiceRepositories/CoinPriceHistoryRepository.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/CoinPriceHistoryRepository.swift diff --git a/SampleAppSwiftUI/Network/WebServiceRepositories/ExampleRepository.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/ExampleRepository.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebServiceRepositories/ExampleRepository.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/ExampleRepository.swift diff --git a/SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinService.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinService.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinService.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinService.swift diff --git a/SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinServiceEndpoint.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinServiceEndpoint.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinServiceEndpoint.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinServiceEndpoint.swift diff --git a/SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsService.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsService.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsService.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsService.swift diff --git a/SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsServiceEndpoint.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsServiceEndpoint.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsServiceEndpoint.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsServiceEndpoint.swift diff --git a/SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryService.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryService.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryService.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryService.swift diff --git a/SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryServiceEndpoint.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryServiceEndpoint.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryServiceEndpoint.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryServiceEndpoint.swift diff --git a/SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleService.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleService.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleService.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleService.swift diff --git a/SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleServiceEndpoint.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleServiceEndpoint.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleServiceEndpoint.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleServiceEndpoint.swift diff --git a/SampleAppSwiftUI/Network/WebServices/WebServiceProvider.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/WebServiceProvider.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebServices/WebServiceProvider.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/WebServiceProvider.swift diff --git a/SampleAppSwiftUI/Network/WebSocket/Base/WebSocketStream.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/Base/WebSocketStream.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebSocket/Base/WebSocketStream.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/Base/WebSocketStream.swift diff --git a/SampleAppSwiftUI/Network/WebSocket/RequestModels/FavoritesCoinRequest.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/FavoritesCoinRequest.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebSocket/RequestModels/FavoritesCoinRequest.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/FavoritesCoinRequest.swift diff --git a/SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequest.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequest.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequest.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequest.swift diff --git a/SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequestAction.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequestAction.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequestAction.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequestAction.swift diff --git a/SampleAppSwiftUI/Network/WebSocket/ResponseModels/FavoritesCoinResponse.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/ResponseModels/FavoritesCoinResponse.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebSocket/ResponseModels/FavoritesCoinResponse.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/ResponseModels/FavoritesCoinResponse.swift diff --git a/SampleAppSwiftUI/Network/WebSocket/WebSocketEndpoint.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketEndpoint.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebSocket/WebSocketEndpoint.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketEndpoint.swift diff --git a/SampleAppSwiftUI/Network/WebSocket/WebSocketExcangeRatesMessage.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketExcangeRatesMessage.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebSocket/WebSocketExcangeRatesMessage.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketExcangeRatesMessage.swift diff --git a/SampleAppSwiftUI/Network/WebSocket/WebSocketMessageProtocol.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketMessageProtocol.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebSocket/WebSocketMessageProtocol.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketMessageProtocol.swift diff --git a/SampleAppSwiftUI/Network/WebSocket/WebSocketProvider.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketProvider.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebSocket/WebSocketProvider.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketProvider.swift diff --git a/SampleAppSwiftUI/Network/WebSocket/WebSocketService.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketService.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebSocket/WebSocketService.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketService.swift diff --git a/SampleAppSwiftUI/Network/WebSocket/WebSocketSubscription.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketSubscription.swift similarity index 100% rename from SampleAppSwiftUI/Network/WebSocket/WebSocketSubscription.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketSubscription.swift diff --git a/SampleAppSwiftUI/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/SampleAppSwiftUI/Resources/Assets.xcassets/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Assets.xcassets/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Assets.xcassets/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Assets.xcassets/Contents.json diff --git a/SampleAppSwiftUI/Resources/Colors.xcassets/Color.colorset/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Color.colorset/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Colors.xcassets/Color.colorset/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Color.colorset/Contents.json diff --git a/SampleAppSwiftUI/Resources/Colors.xcassets/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Colors.xcassets/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Contents.json diff --git a/SampleAppSwiftUI/Resources/Colors.xcassets/LightestGray.colorset/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/LightestGray.colorset/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Colors.xcassets/LightestGray.colorset/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/LightestGray.colorset/Contents.json diff --git a/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/Contents.json diff --git a/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchBarBackground.colorset/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchBarBackground.colorset/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchBarBackground.colorset/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchBarBackground.colorset/Contents.json diff --git a/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchIcon.colorset/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchIcon.colorset/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchIcon.colorset/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchIcon.colorset/Contents.json diff --git a/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/Contents.json diff --git a/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsButtonColor.colorset/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsButtonColor.colorset/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsButtonColor.colorset/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsButtonColor.colorset/Contents.json diff --git a/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsCurrencyExpColor.colorset/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsCurrencyExpColor.colorset/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsCurrencyExpColor.colorset/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsCurrencyExpColor.colorset/Contents.json diff --git a/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineColor.colorset/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineColor.colorset/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineColor.colorset/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineColor.colorset/Contents.json diff --git a/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineTitleColor.colorset/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineTitleColor.colorset/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineTitleColor.colorset/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineTitleColor.colorset/Contents.json diff --git a/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsParitySetColor.colorset/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsParitySetColor.colorset/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsParitySetColor.colorset/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsParitySetColor.colorset/Contents.json diff --git a/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsViewTitleColor.colorset/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsViewTitleColor.colorset/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsViewTitleColor.colorset/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsViewTitleColor.colorset/Contents.json diff --git a/SampleAppSwiftUI/Resources/Icons.xcassets/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Icons.xcassets/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Icons.xcassets/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Icons.xcassets/Contents.json diff --git a/SampleAppSwiftUI/Resources/Icons.xcassets/Image.imageset/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Icons.xcassets/Image.imageset/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Icons.xcassets/Image.imageset/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Icons.xcassets/Image.imageset/Contents.json diff --git a/SampleAppSwiftUI/Resources/Images.xcassets/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Images.xcassets/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/Contents.json diff --git a/SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/Contents.json diff --git a/SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/binance.png b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/binance.png similarity index 100% rename from SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/binance.png rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/binance.png diff --git a/SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/Contents.json diff --git a/SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/btc.png b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/btc.png similarity index 100% rename from SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/btc.png rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/btc.png diff --git a/SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/Contents.json diff --git a/SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/default-coin.svg b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/default-coin.svg similarity index 100% rename from SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/default-coin.svg rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/default-coin.svg diff --git a/SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/Contents.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/Contents.json similarity index 100% rename from SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/Contents.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/Contents.json diff --git a/SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/world-news.png b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/world-news.png similarity index 100% rename from SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/world-news.png rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/world-news.png diff --git a/SampleAppSwiftUI/Resources/Localizable.xcstrings b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Localizable.xcstrings similarity index 100% rename from SampleAppSwiftUI/Resources/Localizable.xcstrings rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Localizable.xcstrings diff --git a/SampleAppSwiftUI/Resources/Mocks/Sample-Subscription.geojson b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/Sample-Subscription.geojson similarity index 100% rename from SampleAppSwiftUI/Resources/Mocks/Sample-Subscription.geojson rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/Sample-Subscription.geojson diff --git a/SampleAppSwiftUI/Resources/Mocks/coinList.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/coinList.json similarity index 100% rename from SampleAppSwiftUI/Resources/Mocks/coinList.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/coinList.json diff --git a/SampleAppSwiftUI/Resources/Mocks/sample-data.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/sample-data.json similarity index 100% rename from SampleAppSwiftUI/Resources/Mocks/sample-data.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/sample-data.json diff --git a/SampleAppSwiftUI/Resources/Mocks/testData.json b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/testData.json similarity index 100% rename from SampleAppSwiftUI/Resources/Mocks/testData.json rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/testData.json diff --git a/SampleAppSwiftUI/Scenes/Favorites/FavoritesView.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Favorites/FavoritesView.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Favorites/FavoritesView.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Favorites/FavoritesView.swift diff --git a/SampleAppSwiftUI/Scenes/Favorites/FavoritesViewModel.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Favorites/FavoritesViewModel.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Favorites/FavoritesViewModel.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Favorites/FavoritesViewModel.swift diff --git a/SampleAppSwiftUI/Scenes/Home/Coin/CoinListView.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinListView.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Home/Coin/CoinListView.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinListView.swift diff --git a/SampleAppSwiftUI/Scenes/Home/Coin/CoinNews/CoinNewsListView.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinNews/CoinNewsListView.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Home/Coin/CoinNews/CoinNewsListView.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinNews/CoinNewsListView.swift diff --git a/SampleAppSwiftUI/Scenes/Home/Coin/CoinView.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinView.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Home/Coin/CoinView.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinView.swift diff --git a/SampleAppSwiftUI/Scenes/Home/Coin/Detail/ChangePercentageView.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/ChangePercentageView.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Home/Coin/Detail/ChangePercentageView.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/ChangePercentageView.swift diff --git a/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRange.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRange.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRange.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRange.swift diff --git a/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRangeButtons.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRangeButtons.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRangeButtons.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRangeButtons.swift diff --git a/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailView.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailView.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailView.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailView.swift diff --git a/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailViewModel.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailViewModel.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailViewModel.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailViewModel.swift diff --git a/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartView.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartView.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartView.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartView.swift diff --git a/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartViewModel.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartViewModel.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartViewModel.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartViewModel.swift diff --git a/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceInfoChartDataModel.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceInfoChartDataModel.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceInfoChartDataModel.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceInfoChartDataModel.swift diff --git a/SampleAppSwiftUI/Scenes/Home/FilterView.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/FilterView.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Home/FilterView.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/FilterView.swift diff --git a/SampleAppSwiftUI/Scenes/Home/HomeView.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/HomeView.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Home/HomeView.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/HomeView.swift diff --git a/SampleAppSwiftUI/Scenes/Home/HomeViewModel.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/HomeViewModel.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Home/HomeViewModel.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/HomeViewModel.swift diff --git a/SampleAppSwiftUI/Scenes/Home/SearchBarView.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/SearchBarView.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Home/SearchBarView.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/SearchBarView.swift diff --git a/SampleAppSwiftUI/Scenes/Home/SortOptions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/SortOptions.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Home/SortOptions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/SortOptions.swift diff --git a/SampleAppSwiftUI/Scenes/Main/MainView.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Main/MainView.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Main/MainView.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Main/MainView.swift diff --git a/SampleAppSwiftUI/Scenes/Router.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Router.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Router.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Router.swift diff --git a/SampleAppSwiftUI/Scenes/Screen.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Screen.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Screen.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Screen.swift diff --git a/SampleAppSwiftUI/Scenes/Settings/Parity.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Settings/Parity.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Settings/Parity.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Settings/Parity.swift diff --git a/SampleAppSwiftUI/Scenes/Settings/SettingsView.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Settings/SettingsView.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/Settings/SettingsView.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Settings/SettingsView.swift diff --git a/SampleAppSwiftUI/Scenes/ViewModelProtocol.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/ViewModelProtocol.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/ViewModelProtocol.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/ViewModelProtocol.swift diff --git a/SampleAppSwiftUI/Scenes/WebView/WebView.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/WebView/WebView.swift similarity index 100% rename from SampleAppSwiftUI/Scenes/WebView/WebView.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/WebView/WebView.swift diff --git a/SampleAppSwiftUI/Utility/Extensions/ArrayExtensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/ArrayExtensions.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Extensions/ArrayExtensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/ArrayExtensions.swift diff --git a/SampleAppSwiftUI/Utility/Extensions/CodableExtensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/CodableExtensions.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Extensions/CodableExtensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/CodableExtensions.swift diff --git a/SampleAppSwiftUI/Utility/Extensions/ColorExtensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/ColorExtensions.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Extensions/ColorExtensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/ColorExtensions.swift diff --git a/SampleAppSwiftUI/Utility/Extensions/EncodableExtensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/EncodableExtensions.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Extensions/EncodableExtensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/EncodableExtensions.swift diff --git a/SampleAppSwiftUI/Utility/Extensions/RawUsdExtensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/RawUsdExtensions.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Extensions/RawUsdExtensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/RawUsdExtensions.swift diff --git a/SampleAppSwiftUI/Utility/Extensions/StringExtensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/StringExtensions.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Extensions/StringExtensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/StringExtensions.swift diff --git a/SampleAppSwiftUI/Utility/Extensions/TextExtensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/TextExtensions.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Extensions/TextExtensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/TextExtensions.swift diff --git a/SampleAppSwiftUI/Utility/Extensions/UIApplicationExtension.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIApplicationExtension.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Extensions/UIApplicationExtension.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIApplicationExtension.swift diff --git a/SampleAppSwiftUI/Utility/Extensions/UICollectionViewCellExtensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UICollectionViewCellExtensions.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Extensions/UICollectionViewCellExtensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UICollectionViewCellExtensions.swift diff --git a/SampleAppSwiftUI/Utility/Extensions/UICollectionViewExtensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UICollectionViewExtensions.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Extensions/UICollectionViewExtensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UICollectionViewExtensions.swift diff --git a/SampleAppSwiftUI/Utility/Extensions/UIDeviceExtension.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIDeviceExtension.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Extensions/UIDeviceExtension.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIDeviceExtension.swift diff --git a/SampleAppSwiftUI/Utility/Extensions/UINavigationControllerExtensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UINavigationControllerExtensions.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Extensions/UINavigationControllerExtensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UINavigationControllerExtensions.swift diff --git a/SampleAppSwiftUI/Utility/Extensions/UITableViewCellExtensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UITableViewCellExtensions.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Extensions/UITableViewCellExtensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UITableViewCellExtensions.swift diff --git a/SampleAppSwiftUI/Utility/Extensions/UITableViewExtensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UITableViewExtensions.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Extensions/UITableViewExtensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UITableViewExtensions.swift diff --git a/SampleAppSwiftUI/Utility/Extensions/UIViewControllerExtensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIViewControllerExtensions.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Extensions/UIViewControllerExtensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIViewControllerExtensions.swift diff --git a/SampleAppSwiftUI/Utility/Extensions/URLExtensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/URLExtensions.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Extensions/URLExtensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/URLExtensions.swift diff --git a/SampleAppSwiftUI/Utility/JsonHelper/JsonHelper.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/JsonHelper/JsonHelper.swift similarity index 100% rename from SampleAppSwiftUI/Utility/JsonHelper/JsonHelper.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/JsonHelper/JsonHelper.swift diff --git a/SampleAppSwiftUI/Utility/JsonHelper/MockPath.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/JsonHelper/MockPath.swift similarity index 100% rename from SampleAppSwiftUI/Utility/JsonHelper/MockPath.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/JsonHelper/MockPath.swift diff --git a/SampleAppSwiftUI/Utility/Logger.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Logger.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Logger.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Logger.swift diff --git a/SampleAppSwiftUI/Utility/Managers/StorageManager.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Managers/StorageManager.swift similarity index 100% rename from SampleAppSwiftUI/Utility/Managers/StorageManager.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Managers/StorageManager.swift diff --git a/SampleAppSwiftUI/Utility/ViewModifiers/ImageFrameModifier.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/ImageFrameModifier.swift similarity index 100% rename from SampleAppSwiftUI/Utility/ViewModifiers/ImageFrameModifier.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/ImageFrameModifier.swift diff --git a/SampleAppSwiftUI/Utility/ViewModifiers/LightShadowModifier.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/LightShadowModifier.swift similarity index 100% rename from SampleAppSwiftUI/Utility/ViewModifiers/LightShadowModifier.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/LightShadowModifier.swift diff --git a/SampleAppSwiftUI/Utility/ViewModifiers/OnFirstAppearModifier.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/OnFirstAppearModifier.swift similarity index 100% rename from SampleAppSwiftUI/Utility/ViewModifiers/OnFirstAppearModifier.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/OnFirstAppearModifier.swift diff --git a/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingButtonModifier.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingButtonModifier.swift similarity index 100% rename from SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingButtonModifier.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingButtonModifier.swift diff --git a/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingLineModifier.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingLineModifier.swift similarity index 100% rename from SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingLineModifier.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingLineModifier.swift diff --git a/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingTextModifier.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingTextModifier.swift similarity index 100% rename from SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingTextModifier.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingTextModifier.swift diff --git a/SampleAppSwiftUITests/Helpers/TestExtensions.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUITests/Helpers/TestExtensions.swift similarity index 100% rename from SampleAppSwiftUITests/Helpers/TestExtensions.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUITests/Helpers/TestExtensions.swift diff --git a/SampleAppSwiftUITests/HelpersTests/JsonHelperTests.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/JsonHelperTests.swift similarity index 100% rename from SampleAppSwiftUITests/HelpersTests/JsonHelperTests.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/JsonHelperTests.swift diff --git a/SampleAppSwiftUITests/HelpersTests/TestObjects/TestUser.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/TestObjects/TestUser.swift similarity index 100% rename from SampleAppSwiftUITests/HelpersTests/TestObjects/TestUser.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/TestObjects/TestUser.swift diff --git a/SampleAppSwiftUITests/HelpersTests/TestPath/TestPath.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/TestPath/TestPath.swift similarity index 100% rename from SampleAppSwiftUITests/HelpersTests/TestPath/TestPath.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/TestPath/TestPath.swift diff --git a/SampleAppSwiftUITests/Info.plist b/Modules/SampleAppSwiftUI/SampleAppSwiftUITests/Info.plist similarity index 100% rename from SampleAppSwiftUITests/Info.plist rename to Modules/SampleAppSwiftUI/SampleAppSwiftUITests/Info.plist diff --git a/SampleAppSwiftUITests/NetworkLayerTests/NetworkLoaderTests.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUITests/NetworkLayerTests/NetworkLoaderTests.swift similarity index 100% rename from SampleAppSwiftUITests/NetworkLayerTests/NetworkLoaderTests.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUITests/NetworkLayerTests/NetworkLoaderTests.swift diff --git a/SampleAppSwiftUITests/SampleAppSwiftUITests.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUITests/SampleAppSwiftUITests.swift similarity index 100% rename from SampleAppSwiftUITests/SampleAppSwiftUITests.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUITests/SampleAppSwiftUITests.swift diff --git a/SampleAppSwiftUIUITests/Info.plist b/Modules/SampleAppSwiftUI/SampleAppSwiftUIUITests/Info.plist similarity index 100% rename from SampleAppSwiftUIUITests/Info.plist rename to Modules/SampleAppSwiftUI/SampleAppSwiftUIUITests/Info.plist diff --git a/SampleAppSwiftUIUITests/SampleAppSwiftUIUITests.swift b/Modules/SampleAppSwiftUI/SampleAppSwiftUIUITests/SampleAppSwiftUIUITests.swift similarity index 100% rename from SampleAppSwiftUIUITests/SampleAppSwiftUIUITests.swift rename to Modules/SampleAppSwiftUI/SampleAppSwiftUIUITests/SampleAppSwiftUIUITests.swift From 926c50b2d6e64aa77524fdd5176b4ef9757ce13f Mon Sep 17 00:00:00 2001 From: Batuhan Abay Date: Wed, 13 Dec 2023 12:12:46 +0300 Subject: [PATCH 06/14] [SASU-0127] Tuist: Disable workspace scheme generation --- Workspace.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Workspace.swift b/Workspace.swift index 67618fc..6f3b9f3 100644 --- a/Workspace.swift +++ b/Workspace.swift @@ -5,5 +5,6 @@ let workspace = Workspace( name: "SampleAppTuist", projects: [ Path.relativeToRoot("Modules/SampleAppSwiftUI") - ] + ], + generationOptions: .options(autogeneratedWorkspaceSchemes: .disabled) ) From a33a049e7d4de605c845b2ec5fe8ee982f09bdcc Mon Sep 17 00:00:00 2001 From: Batuhan Abay Date: Wed, 13 Dec 2023 12:23:03 +0300 Subject: [PATCH 07/14] [SASU-0127] Add createSchemeForMainApp method to create single scheme for "SampleAppSwiftUI" target with different configuration combination --- .../Scheme+Templates.swift | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/Tuist/ProjectDescriptionHelpers/Scheme+Templates.swift b/Tuist/ProjectDescriptionHelpers/Scheme+Templates.swift index f3b5f71..bfeb3ac 100644 --- a/Tuist/ProjectDescriptionHelpers/Scheme+Templates.swift +++ b/Tuist/ProjectDescriptionHelpers/Scheme+Templates.swift @@ -3,10 +3,44 @@ import ProjectDescription extension Scheme { + /// Creates single scheme for "SampleAppSwiftUI" target with different configuration combination.. + public static func createSchemeForMainApp() -> Scheme { + let target = "SampleAppSwiftUI" + + let mainTarget = TargetReference(stringLiteral: target) + let unitTestTarget = TestableTarget(stringLiteral: "\(target)Tests") + let uiTestTarget = TestableTarget(stringLiteral: "\(target)UITests") + let executableTarget = TargetReference(stringLiteral: target) + + return .scheme( + name: target, + shared: true, + hidden: false, + buildAction: .buildAction( + targets: [ + mainTarget + ] + ), + testAction: .targets([unitTestTarget, uiTestTarget], configuration: BuildEnvironment.development.configurationName), + runAction: .runAction( + configuration: BuildEnvironment.development.configurationName, + executable: executableTarget + ), + archiveAction: .archiveAction(configuration: BuildEnvironment.appStore.configurationName), + profileAction: .profileAction( + configuration: BuildEnvironment.appStore.configurationName, + executable: executableTarget + ), + analyzeAction: .analyzeAction(configuration: BuildEnvironment.development.configurationName) + ) + } + + /// Creates separate schemes for all BuildEnvironments with given target name. public static func allSchemes(for target: String, executable: String? = nil, hasUnitTestTarget: Bool, hasUITestTarget: Bool) -> [Scheme] { BuildEnvironment.allCases.map({ createScheme(for: $0, target: target, hasUnitTestTarget: hasUnitTestTarget, hasUITestTarget: hasUITestTarget) }) } + /// Creates a scheme for given BuildEnvironment with given target name. public static func createScheme(for env: BuildEnvironment, target: String, executable: String? = nil, hasUnitTestTarget: Bool, hasUITestTarget: Bool) -> Scheme { let config = env.configurationName From aa7f3c0fa12d90f8e8ead9e566f3a1002e617f4c Mon Sep 17 00:00:00 2001 From: Batuhan Abay Date: Wed, 13 Dec 2023 12:37:43 +0300 Subject: [PATCH 08/14] [SASU-0127] Rename createSchemeForMainApp function to createScheme to make it able to create single scheme for given target name with different configuration combination [SASU-0127] Change scheme generation method on createAppModule function to create single scheme for given app name with different configuration combination --- .../Project+Templates.swift | 7 ++---- .../Scheme+Templates.swift | 25 ++++++++++++------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates.swift index 8075800..462379b 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+Templates.swift +++ b/Tuist/ProjectDescriptionHelpers/Project+Templates.swift @@ -85,11 +85,8 @@ extension Project { packages: projectPackages, settings: projectSettings, targets: targets, - schemes: Scheme.allSchemes( - for: name, - hasUnitTestTarget: hasUnitTestTarget, - hasUITestTarget: hasUITestTarget - ) + schemes: [Scheme.createScheme(for: name, executable: name, hasUnitTestTarget: hasUnitTestTarget, hasUITestTarget: hasUITestTarget)] + // schemes: Scheme.allSchemes(for: name, hasUnitTestTarget: hasUnitTestTarget, hasUITestTarget: hasUITestTarget) // MARK: If you want to create separate scheme for all BuildEnvironment use this method ) } } diff --git a/Tuist/ProjectDescriptionHelpers/Scheme+Templates.swift b/Tuist/ProjectDescriptionHelpers/Scheme+Templates.swift index bfeb3ac..405af34 100644 --- a/Tuist/ProjectDescriptionHelpers/Scheme+Templates.swift +++ b/Tuist/ProjectDescriptionHelpers/Scheme+Templates.swift @@ -2,15 +2,22 @@ import Foundation import ProjectDescription extension Scheme { - - /// Creates single scheme for "SampleAppSwiftUI" target with different configuration combination.. - public static func createSchemeForMainApp() -> Scheme { - let target = "SampleAppSwiftUI" - + + /// Creates single scheme for given target name with different configuration combination + /// - Run: Development + /// - Test: Development + /// - Profile: AppStore + /// - Analyze: Development + /// - Archive: AppStore + public static func createScheme(for target: String, executable: String? = nil, hasUnitTestTarget: Bool, hasUITestTarget: Bool) -> Scheme { let mainTarget = TargetReference(stringLiteral: target) - let unitTestTarget = TestableTarget(stringLiteral: "\(target)Tests") - let uiTestTarget = TestableTarget(stringLiteral: "\(target)UITests") - let executableTarget = TargetReference(stringLiteral: target) + let unitTestTarget: TestableTarget? = hasUnitTestTarget ? TestableTarget(stringLiteral: "\(target)Tests") : nil + let uiTestTarget: TestableTarget? = hasUITestTarget ? TestableTarget(stringLiteral: "\(target)UITests") : nil + let testableTargets: [TestableTarget] = [unitTestTarget, uiTestTarget].compactMap({ $0 }) + var executableTarget: TargetReference? + if let executable { + executableTarget = "\(executable)" + } return .scheme( name: target, @@ -21,7 +28,7 @@ extension Scheme { mainTarget ] ), - testAction: .targets([unitTestTarget, uiTestTarget], configuration: BuildEnvironment.development.configurationName), + testAction: !testableTargets.isEmpty ? .targets(testableTargets, configuration: BuildEnvironment.development.configurationName) : nil, runAction: .runAction( configuration: BuildEnvironment.development.configurationName, executable: executableTarget From 1fadf3192e897d8fbfa6ba1ac02ca3e68750612a Mon Sep 17 00:00:00 2001 From: Batuhan Abay Date: Wed, 13 Dec 2023 13:00:01 +0300 Subject: [PATCH 09/14] [SASU-0127] update README.md with respect to removal of xcodegen and adding Tuist integration --- README.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4ec4993..b5928ec 100644 --- a/README.md +++ b/README.md @@ -32,16 +32,25 @@ This is the iOS SwiftUI Sample App created by adesso Turkey. The project serves - [MacOS Ventura (13.4 or higher)](https://www.apple.com/macos/ventura/features/) - [Xcode 15 or higher](https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes) - [Swiftlint][github/swiftlint] -- [XcodeGen](https://github.com/yonaskolb/XcodeGen) +- [tuist](https://github.com/tuist/tuist) ## Installation -Because XcodeGen is used in this project, there will be no `.xcodeproj` or `.xcworkspace` files when it first cloned. To generate them using the `project.yml` file, run +Because `tuist` is used in this project, there will be no `.xcodeproj` or `.xcworkspace` files when it first cloned. To generate them using the [tuist manifest files](https://docs.tuist.io/tutorial/get-started) (like `Workspace.swift`, `Project.swift` etc.), first run ```sh -xcodegen +tuist fetch ``` +to fetch swift package dependencies and after that you can run + +```sh +tuist generate +``` + +to generate your project. Don't forget to run these tuist commands in the root directory of the project! + + Swiftlint can also be installed via included scripts in the repository. Under the `{project_root}/scripts/installation` directory, simply run: ``` @@ -102,7 +111,7 @@ Gitflow is a legacy Git workflow that was originally a disruptive and novel stra ## Useful Tools and Resources -- [XcodeGen](https://github.com/yonaskolb/XcodeGen) - XcodeGen is a command line tool written in Swift that generates your Xcode project using your folder structure and a project spec. +- [tuist](https://github.com/tuist/tuist) - Tuist is a command line tool that helps you generate, maintain and interact with Xcode projects. It's open source and written in Swift. - [SwiftLint][github/swiftlint] - A tool to enforce Swift style and conventions. - [TestFlight](https://help.apple.com/itunes-connect/developer/#/devdc42b26b8) - TestFlight beta testing lets you distribute beta builds of your app to testers and collect feedback. - [GithubActions](https://github.com/features/actions) - CI/CD faeature to build, test, and deploy your code right from GitHub. From ec442285245d63020e844509ec83544ac94d6591 Mon Sep 17 00:00:00 2001 From: Batuhan Abay Date: Wed, 13 Dec 2023 14:51:41 +0300 Subject: [PATCH 10/14] [SASU-0127] Tuist: set app target's bundleId from .xcconfig files "PRODUCT_BUNDLE_IDENTIFIER" value by accessing it like "$(PRODUCT_BUNDLE_IDENTIFIER)" on tuist side --- Tuist/ProjectDescriptionHelpers/Project+Templates.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates.swift index 462379b..7d0f078 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+Templates.swift +++ b/Tuist/ProjectDescriptionHelpers/Project+Templates.swift @@ -26,7 +26,7 @@ extension Project { destinations: destinations, product: .app, productName: name, - bundleId: generateBundleId(for: name), + bundleId: "$(PRODUCT_BUNDLE_IDENTIFIER)", deploymentTargets: deploymentTargets, infoPlist: .file(path: .relativeToRoot("Modules/\(name)/\(name)/Info.plist")), sources: SourceFilesList.paths([.relativeToRoot("Modules/\(name)/\(name)/**")]), From 5eb2b3a46ba8a3de7dc6db3a80f0f37ffec80b41 Mon Sep 17 00:00:00 2001 From: Batuhan Abay Date: Wed, 13 Dec 2023 17:05:10 +0300 Subject: [PATCH 11/14] [SASU-0127] Rename "Modules" folder, holds projects, to "Projects" because it cause confusion [SASU-0127] Refactor tuist manifest files due to "Modules" folder renaming --- .../SampleAppSwiftUI/Project.swift | 2 +- .../Application/AppDelegate.swift | 0 .../Application/SampleAppSwiftUIApp.swift | 0 .../Application/Services/LoggingService.swift | 0 .../Services/SwifterServerService.swift | 0 .../SampleAppSwiftUI/Configs/AppStore.xcconfig | 0 .../Configs/Configuration.swift | 0 .../Configs/ConfigurationProtocol.swift | 0 .../Configs/Development.xcconfig | 0 .../Configs/Production.xcconfig | 0 .../SampleAppSwiftUI/Constants/Dimensions.swift | 0 .../SampleAppSwiftUI/Constants/Fonts.swift | 0 .../SampleAppSwiftUI/Constants/Images.swift | 0 .../SampleAppSwiftUI/Constants/Numbers.swift | 0 .../SampleAppSwiftUI/Constants/Paddings.swift | 0 .../SampleAppSwiftUI/Constants/Range.swift | 0 .../SampleAppSwiftUI/Constants/Spacings.swift | 0 .../SampleAppSwiftUI/Constants/URLs.swift | 0 .../SampleAppSwiftUI/Info.plist | 0 .../Managers/LoggerManager.swift | 0 .../Managers/SwifterManager.swift | 0 .../SampleAppSwiftUI/Network/.gitkeep | 0 .../Network/Base/BaseServiceProtocol.swift | 0 .../Network/Base/NetworkLoader.swift | 0 .../Network/Base/NetworkLoaderProtocol.swift | 0 .../Network/Base/NetworkLoaderProvider.swift | 0 .../Network/Endpoints/BaseEndpoint.swift | 0 .../Network/Entities/AdessoError.swift | 0 .../Network/Entities/ErrorResponse.swift | 0 .../Network/Entities/HTTPStatus.swift | 0 .../Network/Entities/RequestObject.swift | 0 .../Extensions/HTTPURLResponseExtensions.swift | 0 .../AllCoinRemoteDataSource.swift | 0 .../RemoteDataSources/CoinNewsDataSource.swift | 0 .../CoinPriceHistoryRemoteDataSource.swift | 0 .../ExampleRemoteDataSource.swift | 0 .../ResponseModels/AllCoinResponse.swift | 0 .../ResponseModels/CoinNewsResponse.swift | 0 .../CoinPriceHistoryResponse.swift | 0 .../ResponseModels/ExampleResponse.swift | 0 .../Network/URLBuilder/EndpointBuilder.swift | 0 .../URLBuilder/TargetEndpointProtocol.swift | 0 .../Network/UseCases/AllCoinUseCase.swift | 0 .../Network/UseCases/CoinNewsUseCase.swift | 0 .../UseCases/CoinPriceHistoryUseCase.swift | 0 .../Network/UseCases/ExampleUseCase.swift | 0 .../AllCoinRepository.swift | 0 .../CoinNewsRepository.swift | 0 .../CoinPriceHistoryRepository.swift | 0 .../ExampleRepository.swift | 0 .../AllCoinService/AllCoinService.swift | 0 .../AllCoinService/AllCoinServiceEndpoint.swift | 0 .../CoinNewsService/CoinNewsService.swift | 0 .../CoinNewsServiceEndpoint.swift | 0 .../CoinPriceHistoryService.swift | 0 .../CoinPriceHistoryServiceEndpoint.swift | 0 .../ExampleService/ExampleService.swift | 0 .../ExampleService/ExampleServiceEndpoint.swift | 0 .../WebServices/WebServiceProvider.swift | 0 .../WebSocket/Base/WebSocketStream.swift | 0 .../RequestModels/FavoritesCoinRequest.swift | 0 .../RequestModels/SubscriptionRequest.swift | 0 .../SubscriptionRequestAction.swift | 0 .../ResponseModels/FavoritesCoinResponse.swift | 0 .../Network/WebSocket/WebSocketEndpoint.swift | 0 .../WebSocketExcangeRatesMessage.swift | 0 .../WebSocket/WebSocketMessageProtocol.swift | 0 .../Network/WebSocket/WebSocketProvider.swift | 0 .../Network/WebSocket/WebSocketService.swift | 0 .../WebSocket/WebSocketSubscription.swift | 0 .../AppIcon.appiconset/Contents.json | 0 .../Resources/Assets.xcassets/Contents.json | 0 .../Color.colorset/Contents.json | 0 .../Resources/Colors.xcassets/Contents.json | 0 .../LightestGray.colorset/Contents.json | 0 .../Colors.xcassets/Search Bar/Contents.json | 0 .../SearchBarBackground.colorset/Contents.json | 0 .../SearchIcon.colorset/Contents.json | 0 .../Settings Screen/Contents.json | 0 .../settingsButtonColor.colorset/Contents.json | 0 .../Contents.json | 0 .../settingsLineColor.colorset/Contents.json | 0 .../Contents.json | 0 .../Contents.json | 0 .../Contents.json | 0 .../Resources/Icons.xcassets/Contents.json | 0 .../Icons.xcassets/Image.imageset/Contents.json | 0 .../Resources/Images.xcassets/Contents.json | 0 .../binance.imageset/Contents.json | 0 .../binance.imageset/binance.png | Bin .../Images.xcassets/btc.imageset/Contents.json | 0 .../Images.xcassets/btc.imageset/btc.png | Bin .../default-coin.imageset/Contents.json | 0 .../default-coin.imageset/default-coin.svg | 0 .../world-news.imageset/Contents.json | 0 .../world-news.imageset/world-news.png | Bin .../Resources/Localizable.xcstrings | 0 .../Resources/Mocks/Sample-Subscription.geojson | 0 .../Resources/Mocks/coinList.json | 0 .../Resources/Mocks/sample-data.json | 0 .../Resources/Mocks/testData.json | 0 .../Scenes/Favorites/FavoritesView.swift | 0 .../Scenes/Favorites/FavoritesViewModel.swift | 0 .../Scenes/Home/Coin/CoinListView.swift | 0 .../Home/Coin/CoinNews/CoinNewsListView.swift | 0 .../Scenes/Home/Coin/CoinView.swift | 0 .../Home/Coin/Detail/ChangePercentageView.swift | 0 .../Coin/Detail/CoinChartHistoryRange.swift | 0 .../Detail/CoinChartHistoryRangeButtons.swift | 0 .../Home/Coin/Detail/CoinDetailView.swift | 0 .../Home/Coin/Detail/CoinDetailViewModel.swift | 0 .../Coin/Detail/CoinPriceHistoryChartView.swift | 0 .../Detail/CoinPriceHistoryChartViewModel.swift | 0 .../Detail/CoinPriceInfoChartDataModel.swift | 0 .../Scenes/Home/FilterView.swift | 0 .../SampleAppSwiftUI/Scenes/Home/HomeView.swift | 0 .../Scenes/Home/HomeViewModel.swift | 0 .../Scenes/Home/SearchBarView.swift | 0 .../Scenes/Home/SortOptions.swift | 0 .../SampleAppSwiftUI/Scenes/Main/MainView.swift | 0 .../SampleAppSwiftUI/Scenes/Router.swift | 0 .../SampleAppSwiftUI/Scenes/Screen.swift | 0 .../Scenes/Settings/Parity.swift | 0 .../Scenes/Settings/SettingsView.swift | 0 .../Scenes/ViewModelProtocol.swift | 0 .../Scenes/WebView/WebView.swift | 0 .../Utility/Extensions/ArrayExtensions.swift | 0 .../Utility/Extensions/CodableExtensions.swift | 0 .../Utility/Extensions/ColorExtensions.swift | 0 .../Extensions/EncodableExtensions.swift | 0 .../Utility/Extensions/RawUsdExtensions.swift | 0 .../Utility/Extensions/StringExtensions.swift | 0 .../Utility/Extensions/TextExtensions.swift | 0 .../Extensions/UIApplicationExtension.swift | 0 .../UICollectionViewCellExtensions.swift | 0 .../Extensions/UICollectionViewExtensions.swift | 0 .../Utility/Extensions/UIDeviceExtension.swift | 0 .../UINavigationControllerExtensions.swift | 0 .../Extensions/UITableViewCellExtensions.swift | 0 .../Extensions/UITableViewExtensions.swift | 0 .../Extensions/UIViewControllerExtensions.swift | 0 .../Utility/Extensions/URLExtensions.swift | 0 .../Utility/JsonHelper/JsonHelper.swift | 0 .../Utility/JsonHelper/MockPath.swift | 0 .../SampleAppSwiftUI/Utility/Logger.swift | 0 .../Utility/Managers/StorageManager.swift | 0 .../ViewModifiers/ImageFrameModifier.swift | 0 .../ViewModifiers/LightShadowModifier.swift | 0 .../ViewModifiers/OnFirstAppearModifier.swift | 0 .../SettingButtonModifier.swift | 0 .../SettingLineModifier.swift | 0 .../SettingTextModifier.swift | 0 .../Helpers/TestExtensions.swift | 0 .../HelpersTests/JsonHelperTests.swift | 0 .../HelpersTests/TestObjects/TestUser.swift | 0 .../HelpersTests/TestPath/TestPath.swift | 0 .../SampleAppSwiftUITests/Info.plist | 0 .../NetworkLayerTests/NetworkLoaderTests.swift | 0 .../SampleAppSwiftUITests.swift | 0 .../SampleAppSwiftUIUITests/Info.plist | 0 .../SampleAppSwiftUIUITests.swift | 0 .../BuildEnvironment.swift | 2 +- .../Project+Templates.swift | 16 ++++++++-------- Workspace.swift | 4 ++-- 164 files changed, 12 insertions(+), 12 deletions(-) rename {Modules => Projects}/SampleAppSwiftUI/Project.swift (96%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Application/AppDelegate.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Application/SampleAppSwiftUIApp.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Application/Services/LoggingService.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Application/Services/SwifterServerService.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Configs/AppStore.xcconfig (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Configuration.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Configs/ConfigurationProtocol.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Development.xcconfig (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Production.xcconfig (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Dimensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Fonts.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Images.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Numbers.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Paddings.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Range.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Spacings.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Constants/URLs.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Info.plist (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Managers/LoggerManager.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Managers/SwifterManager.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/.gitkeep (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/BaseServiceProtocol.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoader.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoaderProtocol.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoaderProvider.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/Endpoints/BaseEndpoint.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/AdessoError.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/ErrorResponse.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/HTTPStatus.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/RequestObject.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/Extensions/HTTPURLResponseExtensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/AllCoinRemoteDataSource.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/CoinNewsDataSource.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/CoinPriceHistoryRemoteDataSource.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/ExampleRemoteDataSource.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/AllCoinResponse.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/CoinNewsResponse.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/CoinPriceHistoryResponse.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/ExampleResponse.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/URLBuilder/EndpointBuilder.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/URLBuilder/TargetEndpointProtocol.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/AllCoinUseCase.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/CoinNewsUseCase.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/CoinPriceHistoryUseCase.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/ExampleUseCase.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/AllCoinRepository.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/CoinNewsRepository.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/CoinPriceHistoryRepository.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/ExampleRepository.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinService.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinServiceEndpoint.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsService.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsServiceEndpoint.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryService.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryServiceEndpoint.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleService.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleServiceEndpoint.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/WebServiceProvider.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/Base/WebSocketStream.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/FavoritesCoinRequest.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequest.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequestAction.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/ResponseModels/FavoritesCoinResponse.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketEndpoint.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketExcangeRatesMessage.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketMessageProtocol.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketProvider.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketService.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketSubscription.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Assets.xcassets/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Color.colorset/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/LightestGray.colorset/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchBarBackground.colorset/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchIcon.colorset/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsButtonColor.colorset/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsCurrencyExpColor.colorset/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineColor.colorset/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineTitleColor.colorset/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsParitySetColor.colorset/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsViewTitleColor.colorset/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Icons.xcassets/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Icons.xcassets/Image.imageset/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/binance.png (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/btc.png (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/default-coin.svg (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/Contents.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/world-news.png (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Localizable.xcstrings (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/Sample-Subscription.geojson (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/coinList.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/sample-data.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/testData.json (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Favorites/FavoritesView.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Favorites/FavoritesViewModel.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinListView.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinNews/CoinNewsListView.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinView.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/ChangePercentageView.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRange.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRangeButtons.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailView.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailViewModel.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartView.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartViewModel.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceInfoChartDataModel.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/FilterView.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/HomeView.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/HomeViewModel.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/SearchBarView.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/SortOptions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Main/MainView.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Router.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Screen.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Settings/Parity.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Settings/SettingsView.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/ViewModelProtocol.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/WebView/WebView.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/ArrayExtensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/CodableExtensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/ColorExtensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/EncodableExtensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/RawUsdExtensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/StringExtensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/TextExtensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIApplicationExtension.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UICollectionViewCellExtensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UICollectionViewExtensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIDeviceExtension.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UINavigationControllerExtensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UITableViewCellExtensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UITableViewExtensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIViewControllerExtensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/URLExtensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/JsonHelper/JsonHelper.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/JsonHelper/MockPath.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Logger.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Managers/StorageManager.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/ImageFrameModifier.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/LightShadowModifier.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/OnFirstAppearModifier.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingButtonModifier.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingLineModifier.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingTextModifier.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUITests/Helpers/TestExtensions.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/JsonHelperTests.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/TestObjects/TestUser.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/TestPath/TestPath.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUITests/Info.plist (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUITests/NetworkLayerTests/NetworkLoaderTests.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUITests/SampleAppSwiftUITests.swift (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUIUITests/Info.plist (100%) rename {Modules => Projects}/SampleAppSwiftUI/SampleAppSwiftUIUITests/SampleAppSwiftUIUITests.swift (100%) diff --git a/Modules/SampleAppSwiftUI/Project.swift b/Projects/SampleAppSwiftUI/Project.swift similarity index 96% rename from Modules/SampleAppSwiftUI/Project.swift rename to Projects/SampleAppSwiftUI/Project.swift index a4ed876..6c50820 100644 --- a/Modules/SampleAppSwiftUI/Project.swift +++ b/Projects/SampleAppSwiftUI/Project.swift @@ -1,7 +1,7 @@ import ProjectDescription import ProjectDescriptionHelpers -let project = Project.createAppModule( +let project = Project.createAppProject( name: "SampleAppSwiftUI", projectPackages: [ Package.remote(url: "https://github.com/CocoaLumberjack/CocoaLumberjack", requirement: .upToNextMajor(from: "3.8.0")), diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Application/AppDelegate.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Application/AppDelegate.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Application/AppDelegate.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Application/AppDelegate.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Application/SampleAppSwiftUIApp.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Application/SampleAppSwiftUIApp.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Application/SampleAppSwiftUIApp.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Application/SampleAppSwiftUIApp.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Application/Services/LoggingService.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Application/Services/LoggingService.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Application/Services/LoggingService.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Application/Services/LoggingService.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Application/Services/SwifterServerService.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Application/Services/SwifterServerService.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Application/Services/SwifterServerService.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Application/Services/SwifterServerService.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/AppStore.xcconfig b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Configs/AppStore.xcconfig similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/AppStore.xcconfig rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Configs/AppStore.xcconfig diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Configuration.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Configuration.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Configuration.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Configuration.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/ConfigurationProtocol.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Configs/ConfigurationProtocol.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/ConfigurationProtocol.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Configs/ConfigurationProtocol.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Development.xcconfig b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Development.xcconfig similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Development.xcconfig rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Development.xcconfig diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Production.xcconfig b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Production.xcconfig similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Production.xcconfig rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Configs/Production.xcconfig diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Dimensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Dimensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Dimensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Dimensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Fonts.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Fonts.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Fonts.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Fonts.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Images.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Images.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Images.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Images.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Numbers.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Numbers.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Numbers.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Numbers.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Paddings.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Paddings.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Paddings.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Paddings.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Range.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Range.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Range.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Range.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Spacings.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Spacings.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Spacings.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Constants/Spacings.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/URLs.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Constants/URLs.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Constants/URLs.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Constants/URLs.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Info.plist b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Info.plist similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Info.plist rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Info.plist diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Managers/LoggerManager.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Managers/LoggerManager.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Managers/LoggerManager.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Managers/LoggerManager.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Managers/SwifterManager.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Managers/SwifterManager.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Managers/SwifterManager.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Managers/SwifterManager.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/.gitkeep b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/.gitkeep similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/.gitkeep rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/.gitkeep diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/BaseServiceProtocol.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/BaseServiceProtocol.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/BaseServiceProtocol.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/BaseServiceProtocol.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoader.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoader.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoader.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoader.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoaderProtocol.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoaderProtocol.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoaderProtocol.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoaderProtocol.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoaderProvider.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoaderProvider.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoaderProvider.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Base/NetworkLoaderProvider.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Endpoints/BaseEndpoint.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Endpoints/BaseEndpoint.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Endpoints/BaseEndpoint.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Endpoints/BaseEndpoint.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/AdessoError.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/AdessoError.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/AdessoError.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/AdessoError.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/ErrorResponse.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/ErrorResponse.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/ErrorResponse.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/ErrorResponse.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/HTTPStatus.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/HTTPStatus.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/HTTPStatus.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/HTTPStatus.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/RequestObject.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/RequestObject.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/RequestObject.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Entities/RequestObject.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Extensions/HTTPURLResponseExtensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Extensions/HTTPURLResponseExtensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/Extensions/HTTPURLResponseExtensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/Extensions/HTTPURLResponseExtensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/AllCoinRemoteDataSource.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/AllCoinRemoteDataSource.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/AllCoinRemoteDataSource.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/AllCoinRemoteDataSource.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/CoinNewsDataSource.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/CoinNewsDataSource.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/CoinNewsDataSource.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/CoinNewsDataSource.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/CoinPriceHistoryRemoteDataSource.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/CoinPriceHistoryRemoteDataSource.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/CoinPriceHistoryRemoteDataSource.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/CoinPriceHistoryRemoteDataSource.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/ExampleRemoteDataSource.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/ExampleRemoteDataSource.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/ExampleRemoteDataSource.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/RemoteDataSources/ExampleRemoteDataSource.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/AllCoinResponse.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/AllCoinResponse.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/AllCoinResponse.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/AllCoinResponse.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/CoinNewsResponse.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/CoinNewsResponse.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/CoinNewsResponse.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/CoinNewsResponse.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/CoinPriceHistoryResponse.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/CoinPriceHistoryResponse.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/CoinPriceHistoryResponse.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/CoinPriceHistoryResponse.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/ExampleResponse.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/ExampleResponse.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/ExampleResponse.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/ResponseModels/ExampleResponse.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/URLBuilder/EndpointBuilder.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/URLBuilder/EndpointBuilder.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/URLBuilder/EndpointBuilder.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/URLBuilder/EndpointBuilder.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/URLBuilder/TargetEndpointProtocol.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/URLBuilder/TargetEndpointProtocol.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/URLBuilder/TargetEndpointProtocol.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/URLBuilder/TargetEndpointProtocol.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/AllCoinUseCase.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/AllCoinUseCase.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/AllCoinUseCase.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/AllCoinUseCase.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/CoinNewsUseCase.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/CoinNewsUseCase.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/CoinNewsUseCase.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/CoinNewsUseCase.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/CoinPriceHistoryUseCase.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/CoinPriceHistoryUseCase.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/CoinPriceHistoryUseCase.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/CoinPriceHistoryUseCase.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/ExampleUseCase.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/ExampleUseCase.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/ExampleUseCase.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/UseCases/ExampleUseCase.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/AllCoinRepository.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/AllCoinRepository.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/AllCoinRepository.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/AllCoinRepository.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/CoinNewsRepository.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/CoinNewsRepository.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/CoinNewsRepository.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/CoinNewsRepository.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/CoinPriceHistoryRepository.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/CoinPriceHistoryRepository.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/CoinPriceHistoryRepository.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/CoinPriceHistoryRepository.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/ExampleRepository.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/ExampleRepository.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/ExampleRepository.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServiceRepositories/ExampleRepository.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinService.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinService.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinService.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinService.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinServiceEndpoint.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinServiceEndpoint.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinServiceEndpoint.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/AllCoinService/AllCoinServiceEndpoint.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsService.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsService.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsService.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsService.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsServiceEndpoint.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsServiceEndpoint.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsServiceEndpoint.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinNewsService/CoinNewsServiceEndpoint.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryService.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryService.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryService.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryService.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryServiceEndpoint.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryServiceEndpoint.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryServiceEndpoint.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/CoinPriceHistoryService/CoinPriceHistoryServiceEndpoint.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleService.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleService.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleService.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleService.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleServiceEndpoint.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleServiceEndpoint.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleServiceEndpoint.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/ExampleService/ExampleServiceEndpoint.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/WebServiceProvider.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/WebServiceProvider.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/WebServiceProvider.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebServices/WebServiceProvider.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/Base/WebSocketStream.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/Base/WebSocketStream.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/Base/WebSocketStream.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/Base/WebSocketStream.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/FavoritesCoinRequest.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/FavoritesCoinRequest.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/FavoritesCoinRequest.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/FavoritesCoinRequest.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequest.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequest.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequest.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequest.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequestAction.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequestAction.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequestAction.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/RequestModels/SubscriptionRequestAction.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/ResponseModels/FavoritesCoinResponse.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/ResponseModels/FavoritesCoinResponse.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/ResponseModels/FavoritesCoinResponse.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/ResponseModels/FavoritesCoinResponse.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketEndpoint.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketEndpoint.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketEndpoint.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketEndpoint.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketExcangeRatesMessage.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketExcangeRatesMessage.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketExcangeRatesMessage.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketExcangeRatesMessage.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketMessageProtocol.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketMessageProtocol.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketMessageProtocol.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketMessageProtocol.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketProvider.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketProvider.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketProvider.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketProvider.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketService.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketService.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketService.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketService.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketSubscription.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketSubscription.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketSubscription.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Network/WebSocket/WebSocketSubscription.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Assets.xcassets/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Assets.xcassets/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Assets.xcassets/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Assets.xcassets/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Color.colorset/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Color.colorset/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Color.colorset/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Color.colorset/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/LightestGray.colorset/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/LightestGray.colorset/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/LightestGray.colorset/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/LightestGray.colorset/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchBarBackground.colorset/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchBarBackground.colorset/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchBarBackground.colorset/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchBarBackground.colorset/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchIcon.colorset/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchIcon.colorset/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchIcon.colorset/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Search Bar/SearchIcon.colorset/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsButtonColor.colorset/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsButtonColor.colorset/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsButtonColor.colorset/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsButtonColor.colorset/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsCurrencyExpColor.colorset/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsCurrencyExpColor.colorset/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsCurrencyExpColor.colorset/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsCurrencyExpColor.colorset/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineColor.colorset/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineColor.colorset/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineColor.colorset/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineColor.colorset/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineTitleColor.colorset/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineTitleColor.colorset/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineTitleColor.colorset/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsLineTitleColor.colorset/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsParitySetColor.colorset/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsParitySetColor.colorset/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsParitySetColor.colorset/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsParitySetColor.colorset/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsViewTitleColor.colorset/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsViewTitleColor.colorset/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsViewTitleColor.colorset/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Colors.xcassets/Settings Screen/settingsViewTitleColor.colorset/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Icons.xcassets/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Icons.xcassets/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Icons.xcassets/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Icons.xcassets/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Icons.xcassets/Image.imageset/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Icons.xcassets/Image.imageset/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Icons.xcassets/Image.imageset/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Icons.xcassets/Image.imageset/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/binance.png b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/binance.png similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/binance.png rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/binance.imageset/binance.png diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/btc.png b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/btc.png similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/btc.png rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/btc.imageset/btc.png diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/default-coin.svg b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/default-coin.svg similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/default-coin.svg rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/default-coin.imageset/default-coin.svg diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/Contents.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/Contents.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/Contents.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/Contents.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/world-news.png b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/world-news.png similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/world-news.png rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Images.xcassets/world-news.imageset/world-news.png diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Localizable.xcstrings b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Localizable.xcstrings similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Localizable.xcstrings rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Localizable.xcstrings diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/Sample-Subscription.geojson b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/Sample-Subscription.geojson similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/Sample-Subscription.geojson rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/Sample-Subscription.geojson diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/coinList.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/coinList.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/coinList.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/coinList.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/sample-data.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/sample-data.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/sample-data.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/sample-data.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/testData.json b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/testData.json similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/testData.json rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Resources/Mocks/testData.json diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Favorites/FavoritesView.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Favorites/FavoritesView.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Favorites/FavoritesView.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Favorites/FavoritesView.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Favorites/FavoritesViewModel.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Favorites/FavoritesViewModel.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Favorites/FavoritesViewModel.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Favorites/FavoritesViewModel.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinListView.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinListView.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinListView.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinListView.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinNews/CoinNewsListView.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinNews/CoinNewsListView.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinNews/CoinNewsListView.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinNews/CoinNewsListView.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinView.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinView.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinView.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/CoinView.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/ChangePercentageView.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/ChangePercentageView.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/ChangePercentageView.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/ChangePercentageView.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRange.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRange.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRange.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRange.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRangeButtons.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRangeButtons.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRangeButtons.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinChartHistoryRangeButtons.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailView.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailView.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailView.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailView.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailViewModel.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailViewModel.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailViewModel.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinDetailViewModel.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartView.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartView.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartView.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartView.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartViewModel.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartViewModel.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartViewModel.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceHistoryChartViewModel.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceInfoChartDataModel.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceInfoChartDataModel.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceInfoChartDataModel.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/Coin/Detail/CoinPriceInfoChartDataModel.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/FilterView.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/FilterView.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/FilterView.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/FilterView.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/HomeView.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/HomeView.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/HomeView.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/HomeView.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/HomeViewModel.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/HomeViewModel.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/HomeViewModel.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/HomeViewModel.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/SearchBarView.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/SearchBarView.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/SearchBarView.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/SearchBarView.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/SortOptions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/SortOptions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/SortOptions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Home/SortOptions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Main/MainView.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Main/MainView.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Main/MainView.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Main/MainView.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Router.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Router.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Router.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Router.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Screen.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Screen.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Screen.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Screen.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Settings/Parity.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Settings/Parity.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Settings/Parity.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Settings/Parity.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Settings/SettingsView.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Settings/SettingsView.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Settings/SettingsView.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/Settings/SettingsView.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/ViewModelProtocol.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/ViewModelProtocol.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/ViewModelProtocol.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/ViewModelProtocol.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/WebView/WebView.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/WebView/WebView.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/WebView/WebView.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Scenes/WebView/WebView.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/ArrayExtensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/ArrayExtensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/ArrayExtensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/ArrayExtensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/CodableExtensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/CodableExtensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/CodableExtensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/CodableExtensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/ColorExtensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/ColorExtensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/ColorExtensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/ColorExtensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/EncodableExtensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/EncodableExtensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/EncodableExtensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/EncodableExtensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/RawUsdExtensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/RawUsdExtensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/RawUsdExtensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/RawUsdExtensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/StringExtensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/StringExtensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/StringExtensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/StringExtensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/TextExtensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/TextExtensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/TextExtensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/TextExtensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIApplicationExtension.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIApplicationExtension.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIApplicationExtension.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIApplicationExtension.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UICollectionViewCellExtensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UICollectionViewCellExtensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UICollectionViewCellExtensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UICollectionViewCellExtensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UICollectionViewExtensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UICollectionViewExtensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UICollectionViewExtensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UICollectionViewExtensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIDeviceExtension.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIDeviceExtension.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIDeviceExtension.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIDeviceExtension.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UINavigationControllerExtensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UINavigationControllerExtensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UINavigationControllerExtensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UINavigationControllerExtensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UITableViewCellExtensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UITableViewCellExtensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UITableViewCellExtensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UITableViewCellExtensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UITableViewExtensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UITableViewExtensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UITableViewExtensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UITableViewExtensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIViewControllerExtensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIViewControllerExtensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIViewControllerExtensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIViewControllerExtensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/URLExtensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/URLExtensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/URLExtensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/URLExtensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/JsonHelper/JsonHelper.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/JsonHelper/JsonHelper.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/JsonHelper/JsonHelper.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/JsonHelper/JsonHelper.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/JsonHelper/MockPath.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/JsonHelper/MockPath.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/JsonHelper/MockPath.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/JsonHelper/MockPath.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Logger.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Logger.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Logger.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Logger.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Managers/StorageManager.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Managers/StorageManager.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Managers/StorageManager.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Managers/StorageManager.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/ImageFrameModifier.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/ImageFrameModifier.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/ImageFrameModifier.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/ImageFrameModifier.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/LightShadowModifier.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/LightShadowModifier.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/LightShadowModifier.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/LightShadowModifier.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/OnFirstAppearModifier.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/OnFirstAppearModifier.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/OnFirstAppearModifier.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/OnFirstAppearModifier.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingButtonModifier.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingButtonModifier.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingButtonModifier.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingButtonModifier.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingLineModifier.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingLineModifier.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingLineModifier.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingLineModifier.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingTextModifier.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingTextModifier.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingTextModifier.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/ViewModifiers/SettingViewModifiers/SettingTextModifier.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUITests/Helpers/TestExtensions.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUITests/Helpers/TestExtensions.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUITests/Helpers/TestExtensions.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUITests/Helpers/TestExtensions.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/JsonHelperTests.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/JsonHelperTests.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/JsonHelperTests.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/JsonHelperTests.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/TestObjects/TestUser.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/TestObjects/TestUser.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/TestObjects/TestUser.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/TestObjects/TestUser.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/TestPath/TestPath.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/TestPath/TestPath.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/TestPath/TestPath.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUITests/HelpersTests/TestPath/TestPath.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUITests/Info.plist b/Projects/SampleAppSwiftUI/SampleAppSwiftUITests/Info.plist similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUITests/Info.plist rename to Projects/SampleAppSwiftUI/SampleAppSwiftUITests/Info.plist diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUITests/NetworkLayerTests/NetworkLoaderTests.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUITests/NetworkLayerTests/NetworkLoaderTests.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUITests/NetworkLayerTests/NetworkLoaderTests.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUITests/NetworkLayerTests/NetworkLoaderTests.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUITests/SampleAppSwiftUITests.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUITests/SampleAppSwiftUITests.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUITests/SampleAppSwiftUITests.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUITests/SampleAppSwiftUITests.swift diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUIUITests/Info.plist b/Projects/SampleAppSwiftUI/SampleAppSwiftUIUITests/Info.plist similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUIUITests/Info.plist rename to Projects/SampleAppSwiftUI/SampleAppSwiftUIUITests/Info.plist diff --git a/Modules/SampleAppSwiftUI/SampleAppSwiftUIUITests/SampleAppSwiftUIUITests.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUIUITests/SampleAppSwiftUIUITests.swift similarity index 100% rename from Modules/SampleAppSwiftUI/SampleAppSwiftUIUITests/SampleAppSwiftUIUITests.swift rename to Projects/SampleAppSwiftUI/SampleAppSwiftUIUITests/SampleAppSwiftUIUITests.swift diff --git a/Tuist/ProjectDescriptionHelpers/BuildEnvironment.swift b/Tuist/ProjectDescriptionHelpers/BuildEnvironment.swift index d8faeb2..f64dc59 100644 --- a/Tuist/ProjectDescriptionHelpers/BuildEnvironment.swift +++ b/Tuist/ProjectDescriptionHelpers/BuildEnvironment.swift @@ -11,7 +11,7 @@ public enum BuildEnvironment: String, CaseIterable { } public var targetConfigPath: Path { - .relativeToRoot("Modules/SampleAppSwiftUI/SampleAppSwiftUI/Configs/\(name).xcconfig") + .relativeToRoot("Projects/SampleAppSwiftUI/SampleAppSwiftUI/Configs/\(name).xcconfig") } public var targetConfiguration: Configuration { diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates.swift index 7d0f078..76c8305 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+Templates.swift +++ b/Tuist/ProjectDescriptionHelpers/Project+Templates.swift @@ -7,7 +7,7 @@ extension Project { "com.adesso.\(target)" } - public static func createAppModule( + public static func createAppProject( name: String, projectPackages: [Package] = [], projectSettings: Settings?, @@ -28,11 +28,11 @@ extension Project { productName: name, bundleId: "$(PRODUCT_BUNDLE_IDENTIFIER)", deploymentTargets: deploymentTargets, - infoPlist: .file(path: .relativeToRoot("Modules/\(name)/\(name)/Info.plist")), - sources: SourceFilesList.paths([.relativeToRoot("Modules/\(name)/\(name)/**")]), + infoPlist: .file(path: .relativeToRoot("Projects/\(name)/\(name)/Info.plist")), + sources: SourceFilesList.paths([.relativeToRoot("Projects/\(name)/\(name)/**")]), resources: ResourceFileElements( resources: [ - ResourceFileElement.glob(pattern: .relativeToRoot("Modules/\(name)/\(name)/Resources/**")) + ResourceFileElement.glob(pattern: .relativeToRoot("Projects/\(name)/\(name)/Resources/**")) ] ), scripts: appTargetScripts, @@ -51,8 +51,8 @@ extension Project { productName: unitTestTargetName, bundleId: generateBundleId(for: unitTestTargetName), deploymentTargets: deploymentTargets, - infoPlist: .file(path: .relativeToRoot("Modules/\(name)/\(unitTestTargetName)/Info.plist")), - sources: SourceFilesList.paths([.relativeToRoot("Modules/\(name)/\(unitTestTargetName)/**")]), + infoPlist: .file(path: .relativeToRoot("Projects/\(name)/\(unitTestTargetName)/Info.plist")), + sources: SourceFilesList.paths([.relativeToRoot("Projects/\(name)/\(unitTestTargetName)/**")]), dependencies: dependencies ) @@ -68,8 +68,8 @@ extension Project { productName: uiTestTargetName, bundleId: generateBundleId(for: uiTestTargetName), deploymentTargets: deploymentTargets, - infoPlist: .file(path: .relativeToRoot("Modules/\(name)/\(uiTestTargetName)/Info.plist")), - sources: SourceFilesList.paths([.relativeToRoot("Modules/\(name)/\(uiTestTargetName)/**")]) + infoPlist: .file(path: .relativeToRoot("Projects/\(name)/\(uiTestTargetName)/Info.plist")), + sources: SourceFilesList.paths([.relativeToRoot("Projects/\(name)/\(uiTestTargetName)/**")]) ) targets.append(uiTestTarget) diff --git a/Workspace.swift b/Workspace.swift index 6f3b9f3..b90b7b4 100644 --- a/Workspace.swift +++ b/Workspace.swift @@ -2,9 +2,9 @@ import ProjectDescription import ProjectDescriptionHelpers let workspace = Workspace( - name: "SampleAppTuist", + name: "SampleAppSwiftUI", projects: [ - Path.relativeToRoot("Modules/SampleAppSwiftUI") + Path.relativeToRoot("Projects/SampleAppSwiftUI") ], generationOptions: .options(autogeneratedWorkspaceSchemes: .disabled) ) From 0e3b30a8ac9a8c8581831b50af12697e702302dd Mon Sep 17 00:00:00 2001 From: Batuhan Abay Date: Thu, 14 Dec 2023 11:30:57 +0300 Subject: [PATCH 12/14] [SASU-0127] Fix swiftlint build errors --- .../Utility/Extensions/UIDeviceExtension.swift | 3 ++- .../NetworkLayerTests/NetworkLoaderTests.swift | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIDeviceExtension.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIDeviceExtension.swift index e1280a3..5f622e1 100644 --- a/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIDeviceExtension.swift +++ b/Projects/SampleAppSwiftUI/SampleAppSwiftUI/Utility/Extensions/UIDeviceExtension.swift @@ -23,7 +23,7 @@ extension UIDevice { return identifier + String(UnicodeScalar(UInt8(value))) } - // swiftlint:disable:next function_body_length + // swiftlint:disable function_body_length cyclomatic_complexity line_length switch_case_alignment func mapToDevice(identifier: String) -> String { switch identifier { case "iPhone6,1", "iPhone6,2": @@ -98,6 +98,7 @@ extension UIDevice { return identifier } } + // swiftlint:enable function_body_length cyclomatic_complexity line_length switch_case_alignment return mapToDevice(identifier: identifier) }() diff --git a/Projects/SampleAppSwiftUI/SampleAppSwiftUITests/NetworkLayerTests/NetworkLoaderTests.swift b/Projects/SampleAppSwiftUI/SampleAppSwiftUITests/NetworkLayerTests/NetworkLoaderTests.swift index 92e81c1..22a8e94 100644 --- a/Projects/SampleAppSwiftUI/SampleAppSwiftUITests/NetworkLayerTests/NetworkLoaderTests.swift +++ b/Projects/SampleAppSwiftUI/SampleAppSwiftUITests/NetworkLayerTests/NetworkLoaderTests.swift @@ -97,7 +97,12 @@ final class NetworkLoaderTests: XCTestCase { return (session, sut) } - private func expect(_ sut: NetworkLoaderProtocol, toCompleteWith expectedError: AdessoError, using requestObject: RequestObject, when action: () -> Void, file: StaticString = #filePath, line: UInt = #line) { + private func expect(_ sut: NetworkLoaderProtocol, + toCompleteWith expectedError: AdessoError, + using requestObject: RequestObject, + when action: () -> Void, + file: StaticString = #filePath, + line: UInt = #line) { let expectation = expectation(description: "Wait for request") Task { From 208e0133c3d79e014b79693edda74d2ed6dc187e Mon Sep 17 00:00:00 2001 From: Batuhan Abay Date: Thu, 14 Dec 2023 12:24:35 +0300 Subject: [PATCH 13/14] [SASU-0127] Refactor ios-build.check.yml to replace xcodegen with tuist on our GitHub actions workflow --- .github/workflows/ios-build-check.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ios-build-check.yml b/.github/workflows/ios-build-check.yml index 8f67dbd..e69677a 100644 --- a/.github/workflows/ios-build-check.yml +++ b/.github/workflows/ios-build-check.yml @@ -20,15 +20,14 @@ jobs: xcode-version: latest-stable - name: Checkout uses: actions/checkout@v3 - - name: Xcodegen - uses: xavierLowmiller/xcodegen-action@1.1.2 + - name: tuist Fetch + uses: tuist/tuist-action@0.13.0 with: - spec: project.yml - quiet: true - version: 'latest' - - name: Generate Project - run: | - xcodegen generate + command: 'fetch' + - name: tuist Generate + uses: tuist/tuist-action@0.13.0 + with: + command: 'generate' - name: Build run: | xcodebuild -scheme SampleAppSwiftUI clean build -sdk iphoneos -configuration Development CODE_SIGNING_ALLOWED=No -destination 'generic/platform=iOS Simulator' CONFIGURATION_BUILD_DIR=$PWD/build From 26ea2789ed53914dae5e1968a7d56ee3eededb43 Mon Sep 17 00:00:00 2001 From: Batuhan Abay Date: Thu, 14 Dec 2023 13:57:33 +0300 Subject: [PATCH 14/14] [SASU-0127] Created .tuist-version file with 3.35.2 version number to try to solve tuist-action fails on GitHub Actions workflow like mentioned in https://github.com/tuist/tuist-action/issues/7 --- .tuist-version | 1 + 1 file changed, 1 insertion(+) create mode 100644 .tuist-version diff --git a/.tuist-version b/.tuist-version new file mode 100644 index 0000000..f69676b --- /dev/null +++ b/.tuist-version @@ -0,0 +1 @@ +3.35.2 \ No newline at end of file