Skip to content

Commit 2c6a35d

Browse files
committed
added libraries and confirmed protocols
1 parent 2145d48 commit 2c6a35d

9 files changed

Lines changed: 443 additions & 19 deletions

File tree

ICTMDBHomeModule.xcodeproj/project.pbxproj

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@
66
objectVersion = 77;
77
objects = {
88

9+
/* Begin PBXBuildFile section */
10+
7DD1A4C12EC3DECB0037DEAB /* SnapKit in Frameworks */ = {isa = PBXBuildFile; productRef = 7DD1A4C02EC3DECB0037DEAB /* SnapKit */; };
11+
7DD1A4C42EC3DEFF0037DEAB /* GenericCollectionViewKit in Frameworks */ = {isa = PBXBuildFile; productRef = 7DD1A4C32EC3DEFF0037DEAB /* GenericCollectionViewKit */; };
12+
7DD1A4C72EC3DF140037DEAB /* ICTMDBModularProtocols in Frameworks */ = {isa = PBXBuildFile; productRef = 7DD1A4C62EC3DF140037DEAB /* ICTMDBModularProtocols */; };
13+
7DD1A4CA2EC3DF640037DEAB /* ICTMDBNetworkManagerKit in Frameworks */ = {isa = PBXBuildFile; productRef = 7DD1A4C92EC3DF640037DEAB /* ICTMDBNetworkManagerKit */; };
14+
7DD1A4CD2EC3DFBB0037DEAB /* ICTMDBViewKit in Frameworks */ = {isa = PBXBuildFile; productRef = 7DD1A4CC2EC3DFBB0037DEAB /* ICTMDBViewKit */; };
15+
7DD1A4D02EC3DFCC0037DEAB /* DependencyKit in Frameworks */ = {isa = PBXBuildFile; productRef = 7DD1A4CF2EC3DFCC0037DEAB /* DependencyKit */; };
16+
/* End PBXBuildFile section */
17+
918
/* Begin PBXFileReference section */
1019
7DD1A4AE2EC3DD060037DEAB /* ICTMDBHomeModule.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ICTMDBHomeModule.framework; sourceTree = BUILT_PRODUCTS_DIR; };
1120
/* End PBXFileReference section */
@@ -23,6 +32,12 @@
2332
isa = PBXFrameworksBuildPhase;
2433
buildActionMask = 2147483647;
2534
files = (
35+
7DD1A4C42EC3DEFF0037DEAB /* GenericCollectionViewKit in Frameworks */,
36+
7DD1A4C12EC3DECB0037DEAB /* SnapKit in Frameworks */,
37+
7DD1A4D02EC3DFCC0037DEAB /* DependencyKit in Frameworks */,
38+
7DD1A4C72EC3DF140037DEAB /* ICTMDBModularProtocols in Frameworks */,
39+
7DD1A4CA2EC3DF640037DEAB /* ICTMDBNetworkManagerKit in Frameworks */,
40+
7DD1A4CD2EC3DFBB0037DEAB /* ICTMDBViewKit in Frameworks */,
2641
);
2742
runOnlyForDeploymentPostprocessing = 0;
2843
};
@@ -76,6 +91,12 @@
7691
);
7792
name = ICTMDBHomeModule;
7893
packageProductDependencies = (
94+
7DD1A4C02EC3DECB0037DEAB /* SnapKit */,
95+
7DD1A4C32EC3DEFF0037DEAB /* GenericCollectionViewKit */,
96+
7DD1A4C62EC3DF140037DEAB /* ICTMDBModularProtocols */,
97+
7DD1A4C92EC3DF640037DEAB /* ICTMDBNetworkManagerKit */,
98+
7DD1A4CC2EC3DFBB0037DEAB /* ICTMDBViewKit */,
99+
7DD1A4CF2EC3DFCC0037DEAB /* DependencyKit */,
79100
);
80101
productName = ICTMDBHomeModule;
81102
productReference = 7DD1A4AE2EC3DD060037DEAB /* ICTMDBHomeModule.framework */;
@@ -105,6 +126,14 @@
105126
);
106127
mainGroup = 7DD1A4A42EC3DD060037DEAB;
107128
minimizedProjectReferenceProxies = 1;
129+
packageReferences = (
130+
7DD1A4BF2EC3DECB0037DEAB /* XCRemoteSwiftPackageReference "SnapKit" */,
131+
7DD1A4C22EC3DEFF0037DEAB /* XCRemoteSwiftPackageReference "GenericCollectionViewKit" */,
132+
7DD1A4C52EC3DF140037DEAB /* XCRemoteSwiftPackageReference "ICTMDBModularProtocols" */,
133+
7DD1A4C82EC3DF640037DEAB /* XCRemoteSwiftPackageReference "ICTMDBNetworkManagerKit" */,
134+
7DD1A4CB2EC3DFBB0037DEAB /* XCRemoteSwiftPackageReference "ICTMDBViewKit" */,
135+
7DD1A4CE2EC3DFCC0037DEAB /* XCRemoteSwiftPackageReference "HPDependencyKit" */,
136+
);
108137
preferredProjectObjectVersion = 77;
109138
productRefGroup = 7DD1A4AF2EC3DD060037DEAB /* Products */;
110139
projectDirPath = "";
@@ -357,6 +386,90 @@
357386
defaultConfigurationName = Release;
358387
};
359388
/* End XCConfigurationList section */
389+
390+
/* Begin XCRemoteSwiftPackageReference section */
391+
7DD1A4BF2EC3DECB0037DEAB /* XCRemoteSwiftPackageReference "SnapKit" */ = {
392+
isa = XCRemoteSwiftPackageReference;
393+
repositoryURL = "https://github.com/SnapKit/SnapKit.git";
394+
requirement = {
395+
kind = upToNextMajorVersion;
396+
minimumVersion = 5.7.1;
397+
};
398+
};
399+
7DD1A4C22EC3DEFF0037DEAB /* XCRemoteSwiftPackageReference "GenericCollectionViewKit" */ = {
400+
isa = XCRemoteSwiftPackageReference;
401+
repositoryURL = "https://github.com/engingulek/GenericCollectionViewKit";
402+
requirement = {
403+
kind = upToNextMajorVersion;
404+
minimumVersion = 0.0.1;
405+
};
406+
};
407+
7DD1A4C52EC3DF140037DEAB /* XCRemoteSwiftPackageReference "ICTMDBModularProtocols" */ = {
408+
isa = XCRemoteSwiftPackageReference;
409+
repositoryURL = "https://github.com/engingulek/ICTMDBModularProtocols";
410+
requirement = {
411+
kind = upToNextMajorVersion;
412+
minimumVersion = 0.0.1;
413+
};
414+
};
415+
7DD1A4C82EC3DF640037DEAB /* XCRemoteSwiftPackageReference "ICTMDBNetworkManagerKit" */ = {
416+
isa = XCRemoteSwiftPackageReference;
417+
repositoryURL = "https://github.com/engingulek/ICTMDBNetworkManagerKit";
418+
requirement = {
419+
kind = upToNextMajorVersion;
420+
minimumVersion = 0.0.1;
421+
};
422+
};
423+
7DD1A4CB2EC3DFBB0037DEAB /* XCRemoteSwiftPackageReference "ICTMDBViewKit" */ = {
424+
isa = XCRemoteSwiftPackageReference;
425+
repositoryURL = "https://github.com/engingulek/ICTMDBViewKit";
426+
requirement = {
427+
kind = upToNextMajorVersion;
428+
minimumVersion = 0.0.2;
429+
};
430+
};
431+
7DD1A4CE2EC3DFCC0037DEAB /* XCRemoteSwiftPackageReference "HPDependencyKit" */ = {
432+
isa = XCRemoteSwiftPackageReference;
433+
repositoryURL = "https://github.com/engingulek/HPDependencyKit";
434+
requirement = {
435+
kind = upToNextMajorVersion;
436+
minimumVersion = 1.0.0;
437+
};
438+
};
439+
/* End XCRemoteSwiftPackageReference section */
440+
441+
/* Begin XCSwiftPackageProductDependency section */
442+
7DD1A4C02EC3DECB0037DEAB /* SnapKit */ = {
443+
isa = XCSwiftPackageProductDependency;
444+
package = 7DD1A4BF2EC3DECB0037DEAB /* XCRemoteSwiftPackageReference "SnapKit" */;
445+
productName = SnapKit;
446+
};
447+
7DD1A4C32EC3DEFF0037DEAB /* GenericCollectionViewKit */ = {
448+
isa = XCSwiftPackageProductDependency;
449+
package = 7DD1A4C22EC3DEFF0037DEAB /* XCRemoteSwiftPackageReference "GenericCollectionViewKit" */;
450+
productName = GenericCollectionViewKit;
451+
};
452+
7DD1A4C62EC3DF140037DEAB /* ICTMDBModularProtocols */ = {
453+
isa = XCSwiftPackageProductDependency;
454+
package = 7DD1A4C52EC3DF140037DEAB /* XCRemoteSwiftPackageReference "ICTMDBModularProtocols" */;
455+
productName = ICTMDBModularProtocols;
456+
};
457+
7DD1A4C92EC3DF640037DEAB /* ICTMDBNetworkManagerKit */ = {
458+
isa = XCSwiftPackageProductDependency;
459+
package = 7DD1A4C82EC3DF640037DEAB /* XCRemoteSwiftPackageReference "ICTMDBNetworkManagerKit" */;
460+
productName = ICTMDBNetworkManagerKit;
461+
};
462+
7DD1A4CC2EC3DFBB0037DEAB /* ICTMDBViewKit */ = {
463+
isa = XCSwiftPackageProductDependency;
464+
package = 7DD1A4CB2EC3DFBB0037DEAB /* XCRemoteSwiftPackageReference "ICTMDBViewKit" */;
465+
productName = ICTMDBViewKit;
466+
};
467+
7DD1A4CF2EC3DFCC0037DEAB /* DependencyKit */ = {
468+
isa = XCSwiftPackageProductDependency;
469+
package = 7DD1A4CE2EC3DFCC0037DEAB /* XCRemoteSwiftPackageReference "HPDependencyKit" */;
470+
productName = DependencyKit;
471+
};
472+
/* End XCSwiftPackageProductDependency section */
360473
};
361474
rootObject = 7DD1A4A52EC3DD060037DEAB /* Project object */;
362475
}

ICTMDBHomeModule.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 87 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ICTMDBHomeModule/Enums.swift

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
//
2+
// Enums.swift
3+
// ICTMDBHomeModule
4+
//
5+
// Created by Engin Gülek on 12.11.2025.
6+
//
7+
8+
enum CellItemType {
9+
case popular
10+
case airing
11+
case none
12+
}
13+
14+
//MARK: SectionType
15+
enum SectionType: Int, CaseIterable {
16+
case popular
17+
case onAir
18+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
//
2+
// HomeInteractor.swift
3+
// ICTMDBHomeModule
4+
//
5+
// Created by Engin Gülek on 12.11.2025.
6+
//
7+
8+
9+
final class HomeInteractor : PresenterToInteractorHomeProtocol {
10+
var presenter: (any InteractorToPresenterHomeProtocol)?
11+
12+
func loadPopularMovies() {
13+
14+
}
15+
16+
func loadAiringMovies() {
17+
18+
}
19+
}
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
//
2+
// HomePresenter.swift
3+
// ICTMDBHomeModule
4+
//
5+
// Created by Engin Gülek on 12.11.2025.
6+
//
7+
8+
import Foundation
9+
import GenericCollectionViewKit
10+
import ICTMDBViewKit
11+
12+
//MARK: CellItemType
13+
14+
15+
//MARK: HomePresenter
16+
final class HomePresenter {
17+
typealias CellItem = CellItemType
18+
weak var view: PresenterToViewHomeProtocol?
19+
private var interactor : PresenterToInteractorHomeProtocol
20+
private var router : PresenterToRouterHomeProtocol
21+
init(view: PresenterToViewHomeProtocol?,
22+
interactor:PresenterToInteractorHomeProtocol,
23+
router : PresenterToRouterHomeProtocol
24+
) {
25+
self.view = view
26+
self.interactor = interactor
27+
self.router = router
28+
}
29+
}
30+
31+
//MARK: HomePresenter : ViewToPresenterHomeProtocol
32+
extension HomePresenter : ViewToPresenterHomeProtocol {
33+
34+
35+
func viewDidLoad() {
36+
view?.setBackColorAble(color: "backColor")
37+
interactor.loadPopularMovies()
38+
interactor.loadAiringMovies()
39+
}
40+
}
41+
42+
//MARK: CollectionViewSources
43+
extension HomePresenter {
44+
func layout(for sectionIndex: Int) -> LayoutSource {
45+
46+
}
47+
48+
func numberOfRowsInSection(in section: Int) -> Int {
49+
50+
}
51+
52+
func numberOfSections() -> Int {
53+
54+
}
55+
56+
func cellForItem(section: Int,item:Int) -> CellItemType {
57+
58+
59+
60+
}
61+
62+
func didSelectItem(at indexPath: IndexPath) {
63+
64+
}
65+
66+
func titleForSection(at section: Int) ->(
67+
title: String, sizeType:SectionSizeType,
68+
buttonType: [TitleForSectionButtonType]?) {
69+
70+
71+
}
72+
73+
func onTappedTitleButton(buttonType: TitleForSectionButtonType, section: Int) {
74+
75+
}
76+
77+
func sectionType(at section: Int) -> SectionType {
78+
79+
}
80+
81+
func cellIdentifier(at section: Int) -> String {
82+
83+
}
84+
}
85+
86+
//MARK: HomePresenter: InteractorToPresenterHomeProtocol
87+
extension HomePresenter: InteractorToPresenterHomeProtocol {
88+
func sendAiringTvShows() {
89+
90+
}
91+
92+
func sendPopularTvShows() {
93+
94+
}
95+
96+
func sendError() {
97+
98+
}
99+
}

0 commit comments

Comments
 (0)