Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

오픈마켓 II [STEP 1] 웡빙, 보리사랑 #195

Merged
merged 22 commits into from
Aug 2, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
e53f9d7
feat: Dummy Data 추가
yusw10 Jul 27, 2022
9a68821
feat: 상품 등록을 위한 HTTP POST 메서드 구현
yusw10 Jul 27, 2022
3f6faa7
feat: 상품 수정을 위한 HTTP PETCH 메서드 구현
wongbingg Jul 27, 2022
f5ace26
feat: 상품 삭제를 위한 HTTP DELETE 메서드 구현
yusw10 Jul 27, 2022
ef54d50
feat: 상품등록, 수정을 하는 기본 UI 구현
wongbingg Jul 28, 2022
428c6f1
refactor: UIImagePickerController로 등록할 이미지 리팩토링
yusw10 Jul 28, 2022
3827814
feat: UiImagePickerController 구현
yusw10 Jul 28, 2022
0206476
refactor: TextFiled의 Autolayout 수정
yusw10 Jul 28, 2022
05b4743
refactor: 가격의 타입을 Int 에서 Double로 변경
wongbingg Jul 29, 2022
2515fd5
feat: done 버튼에 POST 메서드 적용
wongbingg Jul 29, 2022
9c3e75e
feat: Product Update 기능 구현
yusw10 Jul 29, 2022
264b930
doc: ClassDiagram UPDATE
yusw10 Jul 29, 2022
8b89379
docs: README.md UPDATE
yusw10 Jul 29, 2022
8fb5159
refactor: GridCell 과 ListCell 오토레이아웃 수정
wongbingg Jul 31, 2022
30478e4
refactor: Image 업로드시 최대 용량 제한
yusw10 Jul 31, 2022
26196aa
refactor: TextField별로 Keypad 타입을 다르게 지정
yusw10 Jul 31, 2022
314c229
refactor: 주석제거 및 접근제한자, final 키워드 변경
yusw10 Jul 31, 2022
b9fefa9
refactor: Notificatin 할당 해제
yusw10 Jul 31, 2022
68bcdf1
fix: 키보드 레이아웃 문제 해결 및 오토레이아웃 오류해결
wongbingg Aug 1, 2022
236a4ec
refactor: ProductSetupView의 의존성 제거
yusw10 Aug 2, 2022
7679037
refactor: 불필요한 주석 제거
yusw10 Aug 2, 2022
1c7951f
refactor: 모델과 컨트롤러 분리
wongbingg Aug 2, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 61 additions & 9 deletions OpenMarket/OpenMarket.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,23 @@
453EAC62287C347700EFCBB9 /* Currency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 453EAC4E287C050100EFCBB9 /* Currency.swift */; };
453EAC64287C7BFB00EFCBB9 /* URLSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 453EAC63287C7BFB00EFCBB9 /* URLSession.swift */; };
453EAC67287C7C6300EFCBB9 /* URLCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 453EAC66287C7C6300EFCBB9 /* URLCommand.swift */; };
4573198D28910B5C00795ABB /* ProductDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4573198C28910B5C00795ABB /* ProductDetail.swift */; };
4573198F28910E3500795ABB /* ProductRegistration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4573198E28910E3500795ABB /* ProductRegistration.swift */; };
45A402472892746000B45A80 /* UITextField+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45A402462892746000B45A80 /* UITextField+Extension.swift */; };
45A402492892B5A300B45A80 /* PickerImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45A402482892B5A300B45A80 /* PickerImageView.swift */; };
45B7A50D287FF60500FCB69F /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45B7A50C287FF60500FCB69F /* MainViewController.swift */; };
AF2257722889391B00C5CE97 /* Int+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF2257712889391B00C5CE97 /* Int+Extensions.swift */; };
AF2257722889391B00C5CE97 /* Double+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF2257712889391B00C5CE97 /* Double+Extensions.swift */; };
AF2257742889392300C5CE97 /* UILabel+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF2257732889392300C5CE97 /* UILabel+Extensions.swift */; };
AF2257762889393700C5CE97 /* UIImageView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF2257752889393700C5CE97 /* UIImageView+Extensions.swift */; };
AF24DE76288A86E700BF570B /* ImageCacheManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF24DE75288A86E700BF570B /* ImageCacheManager.swift */; };
AF29C0382881016D00C719EE /* ListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF29C0372881016D00C719EE /* ListCell.swift */; };
AF29C03A2881034700C719EE /* GridCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF29C0392881034700C719EE /* GridCell.swift */; };
AF3D5330287C0FE500DBFAFA /* JsonDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF3D532F287C0FE500DBFAFA /* JsonDecoder.swift */; };
AF6D741E289121C0007FC5A5 /* ModificationData.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF6D741D289121C0007FC5A5 /* ModificationData.swift */; };
AFBC2FD52892636700E81A2F /* ProductSetupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFBC2FD42892636700E81A2F /* ProductSetupView.swift */; };
AFBC2FD72892668800E81A2F /* ProductSetupViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFBC2FD62892668800E81A2F /* ProductSetupViewController.swift */; };
AFEB049D289933E10057B8DF /* ProductListManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFEB049C289933E10057B8DF /* ProductListManager.swift */; };
AFEB049F289936960057B8DF /* NotificationName+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFEB049E289936960057B8DF /* NotificationName+Extensions.swift */; };
AFFBDAA7287C0C1E001540FD /* ProductPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFFBDAA6287C0C1E001540FD /* ProductPage.swift */; };
C70FB0FB25BEF61C00C9924E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C70FB0FA25BEF61C00C9924E /* AppDelegate.swift */; };
C70FB0FD25BEF61C00C9924E /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C70FB0FC25BEF61C00C9924E /* SceneDelegate.swift */; };
Expand All @@ -49,14 +58,23 @@
453EAC57287C341400EFCBB9 /* DataFetchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataFetchTests.swift; sourceTree = "<group>"; };
453EAC63287C7BFB00EFCBB9 /* URLSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLSession.swift; sourceTree = "<group>"; };
453EAC66287C7C6300EFCBB9 /* URLCommand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLCommand.swift; sourceTree = "<group>"; };
4573198C28910B5C00795ABB /* ProductDetail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductDetail.swift; sourceTree = "<group>"; };
4573198E28910E3500795ABB /* ProductRegistration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductRegistration.swift; sourceTree = "<group>"; };
45A402462892746000B45A80 /* UITextField+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITextField+Extension.swift"; sourceTree = "<group>"; };
45A402482892B5A300B45A80 /* PickerImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PickerImageView.swift; sourceTree = "<group>"; };
45B7A50C287FF60500FCB69F /* MainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = "<group>"; };
AF2257712889391B00C5CE97 /* Int+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Int+Extensions.swift"; sourceTree = "<group>"; };
AF2257712889391B00C5CE97 /* Double+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Double+Extensions.swift"; sourceTree = "<group>"; };
AF2257732889392300C5CE97 /* UILabel+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UILabel+Extensions.swift"; sourceTree = "<group>"; };
AF2257752889393700C5CE97 /* UIImageView+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImageView+Extensions.swift"; sourceTree = "<group>"; };
AF24DE75288A86E700BF570B /* ImageCacheManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageCacheManager.swift; sourceTree = "<group>"; };
AF29C0372881016D00C719EE /* ListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListCell.swift; sourceTree = "<group>"; };
AF29C0392881034700C719EE /* GridCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GridCell.swift; sourceTree = "<group>"; };
AF3D532F287C0FE500DBFAFA /* JsonDecoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JsonDecoder.swift; sourceTree = "<group>"; };
AF6D741D289121C0007FC5A5 /* ModificationData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModificationData.swift; sourceTree = "<group>"; };
AFBC2FD42892636700E81A2F /* ProductSetupView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductSetupView.swift; sourceTree = "<group>"; };
AFBC2FD62892668800E81A2F /* ProductSetupViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductSetupViewController.swift; sourceTree = "<group>"; };
AFEB049C289933E10057B8DF /* ProductListManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductListManager.swift; sourceTree = "<group>"; };
AFEB049E289936960057B8DF /* NotificationName+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NotificationName+Extensions.swift"; sourceTree = "<group>"; };
AFFBDAA6287C0C1E001540FD /* ProductPage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductPage.swift; sourceTree = "<group>"; };
C70FB0F725BEF61C00C9924E /* OpenMarket.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OpenMarket.app; sourceTree = BUILT_PRODUCTS_DIR; };
C70FB0FA25BEF61C00C9924E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -90,6 +108,10 @@
AFFBDAA6287C0C1E001540FD /* ProductPage.swift */,
453EAC4C287C048300EFCBB9 /* Product.swift */,
453EAC4E287C050100EFCBB9 /* Currency.swift */,
4573198C28910B5C00795ABB /* ProductDetail.swift */,
4573198E28910E3500795ABB /* ProductRegistration.swift */,
AF6D741D289121C0007FC5A5 /* ModificationData.swift */,
AFEB049C289933E10057B8DF /* ProductListManager.swift */,
);
path = Model;
sourceTree = "<group>";
Expand All @@ -110,12 +132,34 @@
path = Command;
sourceTree = "<group>";
};
4573199028912A8F00795ABB /* View */ = {
isa = PBXGroup;
children = (
AFBC2FD42892636700E81A2F /* ProductSetupView.swift */,
AF29C0372881016D00C719EE /* ListCell.swift */,
AF29C0392881034700C719EE /* GridCell.swift */,
45A402482892B5A300B45A80 /* PickerImageView.swift */,
);
path = View;
sourceTree = "<group>";
};
4573199128912AA000795ABB /* Controller */ = {
isa = PBXGroup;
children = (
45B7A50C287FF60500FCB69F /* MainViewController.swift */,
AFBC2FD62892668800E81A2F /* ProductSetupViewController.swift */,
);
path = Controller;
sourceTree = "<group>";
};
AF2257772889394100C5CE97 /* Extensions */ = {
isa = PBXGroup;
children = (
AF2257712889391B00C5CE97 /* Int+Extensions.swift */,
AF2257712889391B00C5CE97 /* Double+Extensions.swift */,
AF2257732889392300C5CE97 /* UILabel+Extensions.swift */,
AF2257752889393700C5CE97 /* UIImageView+Extensions.swift */,
45A402462892746000B45A80 /* UITextField+Extension.swift */,
AFEB049E289936960057B8DF /* NotificationName+Extensions.swift */,
);
path = Extensions;
sourceTree = "<group>";
Expand Down Expand Up @@ -151,15 +195,14 @@
C70FB0F925BEF61C00C9924E /* OpenMarket */ = {
isa = PBXGroup;
children = (
453EAC4B287C00C900EFCBB9 /* Model */,
4573199128912AA000795ABB /* Controller */,
4573199028912A8F00795ABB /* View */,
AF2257772889394100C5CE97 /* Extensions */,
453EAC65287C7C5900EFCBB9 /* Command */,
AF3D532E287C0FD500DBFAFA /* Utility */,
453EAC4B287C00C900EFCBB9 /* Model */,
C70FB0FA25BEF61C00C9924E /* AppDelegate.swift */,
C70FB0FC25BEF61C00C9924E /* SceneDelegate.swift */,
45B7A50C287FF60500FCB69F /* MainViewController.swift */,
AF29C0372881016D00C719EE /* ListCell.swift */,
AF29C0392881034700C719EE /* GridCell.swift */,
AF2257772889394100C5CE97 /* Extensions */,
C70FB10325BEF61D00C9924E /* Assets.xcassets */,
C70FB10525BEF61D00C9924E /* LaunchScreen.storyboard */,
C70FB10825BEF61D00C9924E /* Info.plist */,
Expand Down Expand Up @@ -279,18 +322,27 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
AFEB049D289933E10057B8DF /* ProductListManager.swift in Sources */,
AFEB049F289936960057B8DF /* NotificationName+Extensions.swift in Sources */,
AF3D5330287C0FE500DBFAFA /* JsonDecoder.swift in Sources */,
AFFBDAA7287C0C1E001540FD /* ProductPage.swift in Sources */,
4573198D28910B5C00795ABB /* ProductDetail.swift in Sources */,
AF24DE76288A86E700BF570B /* ImageCacheManager.swift in Sources */,
AF29C0382881016D00C719EE /* ListCell.swift in Sources */,
4573198F28910E3500795ABB /* ProductRegistration.swift in Sources */,
AF6D741E289121C0007FC5A5 /* ModificationData.swift in Sources */,
AF2257742889392300C5CE97 /* UILabel+Extensions.swift in Sources */,
AF29C03A2881034700C719EE /* GridCell.swift in Sources */,
AF2257722889391B00C5CE97 /* Int+Extensions.swift in Sources */,
45A402472892746000B45A80 /* UITextField+Extension.swift in Sources */,
AF2257722889391B00C5CE97 /* Double+Extensions.swift in Sources */,
AFBC2FD52892636700E81A2F /* ProductSetupView.swift in Sources */,
453EAC64287C7BFB00EFCBB9 /* URLSession.swift in Sources */,
453EAC4F287C050100EFCBB9 /* Currency.swift in Sources */,
AF2257762889393700C5CE97 /* UIImageView+Extensions.swift in Sources */,
C70FB0FB25BEF61C00C9924E /* AppDelegate.swift in Sources */,
C70FB0FD25BEF61C00C9924E /* SceneDelegate.swift in Sources */,
AFBC2FD72892668800E81A2F /* ProductSetupViewController.swift in Sources */,
45A402492892B5A300B45A80 /* PickerImageView.swift in Sources */,
45B7A50D287FF60500FCB69F /* MainViewController.swift in Sources */,
453EAC67287C7C6300EFCBB9 /* URLCommand.swift in Sources */,
453EAC4D287C048300EFCBB9 /* Product.swift in Sources */,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1340"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C70FB0F625BEF61C00C9924E"
BuildableName = "OpenMarket.app"
BlueprintName = "OpenMarket"
ReferencedContainer = "container:OpenMarket.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "453EAC54287C341400EFCBB9"
BuildableName = "DataFetchTests.xctest"
BlueprintName = "DataFetchTests"
ReferencedContainer = "container:OpenMarket.xcodeproj">
</BuildableReference>
<SkippedTests>
<Test
Identifier = "DataFetchTests/test_Data&#xb97c;String&#xc73c;&#xb85c;&#xb514;&#xcf54;&#xb529;()">
</Test>
</SkippedTests>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C70FB0F625BEF61C00C9924E"
BuildableName = "OpenMarket.app"
BlueprintName = "OpenMarket"
ReferencedContainer = "container:OpenMarket.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C70FB0F625BEF61C00C9924E"
BuildableName = "OpenMarket.app"
BlueprintName = "OpenMarket"
ReferencedContainer = "container:OpenMarket.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
21 changes: 21 additions & 0 deletions OpenMarket/OpenMarket/Assets.xcassets/mara.imageset/Contents.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "mara.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 13 additions & 3 deletions OpenMarket/OpenMarket/Command/URLCommand.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,18 @@
// Created by 웡빙, 보리사랑 on 2022/07/12.
//

enum URLData: String {
case host = "https://market-training.yagom-academy.kr"
case lookUpProductList = "/api/products?"
enum URLData {
static let host = "https://market-training.yagom-academy.kr"
static let apiPath = "/api/products"
static let identifier = "e4c0e472-0335-11ed-9676-05ce201d7309"
static let secret = "p0ilm9kwYb"
}

enum HttpMethod: String {
case GET = "GET"
case POST = "POST"
case PATCH = "PATCH"
case DELETE = "DELETE"
case PUT = "PUT"
}

Loading