diff --git a/.DS_Store b/.DS_Store index 9b80fe4..fb046ca 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md deleted file mode 100644 index c7eb0fc..0000000 --- a/.github/ISSUE_TEMPLATE/custom.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -name: Custom issue template -about: Describe this issue template's purpose here. -title: 'Feat: ' -labels: '' -assignees: '' - ---- - -# ๐Ÿ”จ Describe -- - -# โœ… Tasks -- [ ] - -# โฐ Due Date -- 1์ฐจ ๋งˆ๊ฐ : `2024.07.21` diff --git "a/.github/ISSUE_TEMPLATE/pr-\355\205\234\355\224\214\353\246\277.md" "b/.github/ISSUE_TEMPLATE/pr-\355\205\234\355\224\214\353\246\277.md" deleted file mode 100644 index 01ca26f..0000000 --- "a/.github/ISSUE_TEMPLATE/pr-\355\205\234\355\224\214\353\246\277.md" +++ /dev/null @@ -1,33 +0,0 @@ ---- -name: PR ํ…œํ”Œ๋ฆฟ -about: Pull request ๋‚จ๊ธธ ๋•Œ ์ฐธ๊ณ  -title: 'PR :' -labels: '' -assignees: '' - ---- - -## ๊ฐœ์š” - - - -## PR ์œ ํ˜• -์–ด๋–ค ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ๋‚˜์š”? - -- [ ] ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€ -- [ ] ๋ฒ„๊ทธ ์ˆ˜์ • -- [ ] CSS ๋“ฑ ์‚ฌ์šฉ์ž UI ๋””์ž์ธ ๋ณ€๊ฒฝ -- [ ] ์ฝ”๋“œ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ์‚ฌํ•ญ(์˜คํƒ€ ์ˆ˜์ •, ํƒญ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ, ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ) -- [ ] ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง -- [ ] ์ฃผ์„ ์ถ”๊ฐ€ ๋ฐ ์ˆ˜์ • -- [ ] ๋ฌธ์„œ ์ˆ˜์ • -- [ ] ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€, ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง -- [ ] ๋นŒ๋“œ ๋ถ€๋ถ„ ํ˜น์€ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์ˆ˜์ • -- [ ] ํŒŒ์ผ ํ˜น์€ ํด๋”๋ช… ์ˆ˜์ • -- [ ] ํŒŒ์ผ ํ˜น์€ ํด๋” ์‚ญ์ œ - -## PR Checklist -PR์ด ๋‹ค์Œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. - -- [ ] ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. Commit message convention ์ฐธ๊ณ  (Ctrl + ํด๋ฆญํ•˜์„ธ์š”.) -- [ ] ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ํ–ˆ์Šต๋‹ˆ๋‹ค.(๋ฒ„๊ทธ ์ˆ˜์ •/๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ). diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 86125c4..0000000 --- a/.gitignore +++ /dev/null @@ -1,136 +0,0 @@ -# Created by https://www.toptal.com/developers/gitignore/api/xcode,swift,macos -# Edit at https://www.toptal.com/developers/gitignore?templates=xcode,swift,macos - -### macOS ### -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r - - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - -### macOS Patch ### -# iCloud generated files -*.icloud - -### Swift ### -# Xcode -# -# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore - -## User settings -xcuserdata/ - -## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) -*.xcscmblueprint -*.xccheckout - -## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) -build/ -DerivedData/ -*.moved-aside -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 - -## Obj-C/Swift specific -*.hmap - -## App packaging -*.ipa -*.dSYM.zip -*.dSYM - -## Playgrounds -timeline.xctimeline -playground.xcworkspace - -# Swift Package Manager -# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. -# Packages/ -# Package.pins -# Package.resolved -# *.xcodeproj -# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata -# hence it is not needed unless you have added a package configuration file to your project -# .swiftpm - -.build/ - -# CocoaPods -# We recommend against adding the Pods directory to your .gitignore. However -# you should judge for yourself, the pros and cons are mentioned at: -# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control -# Pods/ -# Add this line if you want to avoid checking in source code from the Xcode workspace -# *.xcworkspace - -# Carthage -# Add this line if you want to avoid checking in source code from Carthage dependencies. -# Carthage/Checkouts - -Carthage/Build/ - -# Accio dependency management -Dependencies/ -.accio/ - -# fastlane -# It is recommended to not store the screenshots in the git repo. -# Instead, use fastlane to re-generate the screenshots whenever they are needed. -# For more information about the recommended setup visit: -# https://docs.fastlane.tools/best-practices/source-control/#source-control - -fastlane/report.xml -fastlane/Preview.html -fastlane/screenshots/**/*.png -fastlane/test_output - -# Code Injection -# After new code Injection tools there's a generated folder /iOSInjectionProject -# https://github.com/johnno1962/injectionforxcode - -iOSInjectionProject/ - -### Xcode ### - -## Xcode 8 and earlier - -### Xcode Patch ### -*.xcodeproj/* -!*.xcodeproj/project.pbxproj -!*.xcodeproj/xcshareddata/ -!*.xcodeproj/project.xcworkspace/ -!*.xcworkspace/contents.xcworkspacedata -/*.gcno -**/xcshareddata/WorkspaceSettings.xcsettings - -# End of https://www.toptal.com/developers/gitignore/api/xcode,swift,macos -*.pbxproj -Drink-EG/Drink-EG.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved -.DS_Store diff --git a/Drink-EG/Drink-EG.xcodeproj/project.pbxproj b/Drink-EG/Drink-EG.xcodeproj/project.pbxproj index b644a6a..f920259 100644 --- a/Drink-EG/Drink-EG.xcodeproj/project.pbxproj +++ b/Drink-EG/Drink-EG.xcodeproj/project.pbxproj @@ -169,6 +169,8 @@ 5E66EABD2CA7F98C00FAD76F /* WineImageStackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E66EABC2CA7F98C00FAD76F /* WineImageStackView.swift */; }; 5E66EAC12CA8212300FAD76F /* MyTastingNote.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E66EAC02CA8212300FAD76F /* MyTastingNote.swift */; }; 5E66EAC32CA82B8D00FAD76F /* WineImageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E66EAC22CA82B8D00FAD76F /* WineImageCell.swift */; }; + 5EA2D46D2CD1DEA900CEC439 /* WineInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EA2D46C2CD1DEA900CEC439 /* WineInfoView.swift */; }; + 5EA2D4712CD1E3E500CEC439 /* RatingWineViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EA2D4702CD1E3E500CEC439 /* RatingWineViewController.swift */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -339,6 +341,8 @@ 5E66EABC2CA7F98C00FAD76F /* WineImageStackView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WineImageStackView.swift; sourceTree = ""; }; 5E66EAC02CA8212300FAD76F /* MyTastingNote.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyTastingNote.swift; sourceTree = ""; }; 5E66EAC22CA82B8D00FAD76F /* WineImageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WineImageCell.swift; sourceTree = ""; }; + 5EA2D46C2CD1DEA900CEC439 /* WineInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WineInfoView.swift; sourceTree = ""; }; + 5EA2D4702CD1E3E500CEC439 /* RatingWineViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RatingWineViewController.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -599,6 +603,7 @@ 5E22194D2C69D5E7005849FB /* ChooseTasteViewController.swift */, 5E22196D2C6B2EA0005849FB /* RatingViewController.swift */, 5E2219722C6B661A005849FB /* CheckNoteViewController.swift */, + 5EA2D4702CD1E3E500CEC439 /* RatingWineViewController.swift */, ); path = TastingNote; sourceTree = ""; @@ -724,6 +729,7 @@ 5E66EABC2CA7F98C00FAD76F /* WineImageStackView.swift */, 5E66EAC02CA8212300FAD76F /* MyTastingNote.swift */, 5E66EAC22CA82B8D00FAD76F /* WineImageCell.swift */, + 5EA2D46C2CD1DEA900CEC439 /* WineInfoView.swift */, ); path = TastingNote; sourceTree = ""; @@ -1002,6 +1008,7 @@ 16B97D162C4C0F6400D8B453 /* SavingVideoViewController.swift in Sources */, 165400F82C69EFBD008A9DBF /* WineNewsResponse.swift in Sources */, 1FC522292CA933FC00EC0635 /* MenuCollectionViewCell.swift in Sources */, + 5EA2D46D2CD1DEA900CEC439 /* WineInfoView.swift in Sources */, 165400E92C69DDCB008A9DBF /* WineClassAPI.swift in Sources */, 1F598EEA2C5227C5000CE79F /* AdImageCollectionViewCell.swift in Sources */, 1F205A412C6B540600E80659 /* TasteTestSecondCollectionViewCell.swift in Sources */, @@ -1060,6 +1067,7 @@ 5E2219412C69D5D0005849FB /* CustomTableViewCell.swift in Sources */, 16C19AD82C73AE5E00E93FD0 /* WineClassCell.swift in Sources */, 1F598F012C581573000CE79F /* LoginViewController.swift in Sources */, + 5EA2D4712CD1E3E500CEC439 /* RatingWineViewController.swift in Sources */, 5E2219422C69D5D0005849FB /* CustomCommentsCollectionViewCell.swift in Sources */, 5E42B0182C74A39300DAB751 /* MovingTextField.swift in Sources */, 16B97D122C4C0F2400D8B453 /* WineClassMainViewController.swift in Sources */, diff --git a/Drink-EG/Drink-EG.xcodeproj/project.xcworkspace/xcuserdata/soohyunlee.xcuserdatad/UserInterfaceState.xcuserstate b/Drink-EG/Drink-EG.xcodeproj/project.xcworkspace/xcuserdata/soohyunlee.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..ccf1759 Binary files /dev/null and b/Drink-EG/Drink-EG.xcodeproj/project.xcworkspace/xcuserdata/soohyunlee.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Drink-EG/Drink-EG.xcodeproj/xcuserdata/soohyunlee.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Drink-EG/Drink-EG.xcodeproj/xcuserdata/soohyunlee.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..e751292 --- /dev/null +++ b/Drink-EG/Drink-EG.xcodeproj/xcuserdata/soohyunlee.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,6 @@ + + + diff --git a/Drink-EG/Drink-EG.xcodeproj/xcuserdata/soohyunlee.xcuserdatad/xcschemes/xcschememanagement.plist b/Drink-EG/Drink-EG.xcodeproj/xcuserdata/soohyunlee.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..fb26a4e --- /dev/null +++ b/Drink-EG/Drink-EG.xcodeproj/xcuserdata/soohyunlee.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,98 @@ + + + + + SchemeUserState + + Drink-EG.xcscheme_^#shared#^_ + + orderHint + 0 + + ReactiveSwift (Playground) 1.xcscheme + + isShown + + orderHint + 2 + + ReactiveSwift (Playground) 2.xcscheme + + isShown + + orderHint + 3 + + ReactiveSwift (Playground).xcscheme + + isShown + + orderHint + 1 + + ReactiveSwift-UIExamples (Playground) 1.xcscheme + + isShown + + orderHint + 5 + + ReactiveSwift-UIExamples (Playground) 2.xcscheme + + isShown + + orderHint + 6 + + ReactiveSwift-UIExamples (Playground).xcscheme + + isShown + + orderHint + 4 + + Rx (Playground) 1.xcscheme + + isShown + + orderHint + 8 + + Rx (Playground) 2.xcscheme + + isShown + + orderHint + 9 + + Rx (Playground).xcscheme + + isShown + + orderHint + 7 + + SnapKitPlayground (Playground) 1.xcscheme + + isShown + + orderHint + 11 + + SnapKitPlayground (Playground) 2.xcscheme + + isShown + + orderHint + 12 + + SnapKitPlayground (Playground).xcscheme + + isShown + + orderHint + 10 + + + + diff --git a/Drink-EG/Drink-EG/Resources/SceneDelegate.swift b/Drink-EG/Drink-EG/Resources/SceneDelegate.swift index 0c0ec5c..df38a76 100644 --- a/Drink-EG/Drink-EG/Resources/SceneDelegate.swift +++ b/Drink-EG/Drink-EG/Resources/SceneDelegate.swift @@ -20,7 +20,7 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { // ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋Š” UIWindow ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ let window = UIWindow(windowScene: windowScene) // ์‹ค์ œ ์ฒซ ํ™”๋ฉด์ด ๋˜๋Š” MainViewController ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ - let vc = LoginViewController() + let vc = RatingWineViewController() // NavigationController์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, MainViewController๋ฅผ rootViewController๋กœ ๊ฐ–๋Š” NavigationController์„ ์ƒ์„ฑํ•ด์•ผํ•œ๋‹ค. let navigationController = UINavigationController(rootViewController: vc) navigationController.isNavigationBarHidden = true diff --git a/Drink-EG/Drink-EG/Sources/Cells/TastingNote/MyTastingNote.swift b/Drink-EG/Drink-EG/Sources/Cells/TastingNote/MyTastingNote.swift index 87e4750..5e62a56 100644 --- a/Drink-EG/Drink-EG/Sources/Cells/TastingNote/MyTastingNote.swift +++ b/Drink-EG/Drink-EG/Sources/Cells/TastingNote/MyTastingNote.swift @@ -86,8 +86,10 @@ class MyTastingNote: UIView, UICollectionViewDataSource, UICollectionViewDelegat // UICollectionViewDelegateFlowLayout ๋ฉ”์„œ๋“œ func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { - let width = (collectionView.bounds.width - 32) / 3 // 3์—ด ๊ตฌ์„ฑ - return CGSize(width: width, height: width * 1.5) // ์…€ ๋†’์ด ๋น„์œจ ์„ค์ • + // let width = (collectionView.bounds.width - 32) / 3 // 3์—ด ๊ตฌ์„ฑ + let width = 107 + // return CGSize(width: width, height: width * 1.5) // ์…€ ๋†’์ด ๋น„์œจ ์„ค์ • + return CGSize(width: width, height: width) } required init? (coder: NSCoder) { diff --git a/Drink-EG/Drink-EG/Sources/Cells/TastingNote/WineImageCell.swift b/Drink-EG/Drink-EG/Sources/Cells/TastingNote/WineImageCell.swift index 0ff2495..997b795 100644 --- a/Drink-EG/Drink-EG/Sources/Cells/TastingNote/WineImageCell.swift +++ b/Drink-EG/Drink-EG/Sources/Cells/TastingNote/WineImageCell.swift @@ -23,6 +23,7 @@ class WineImageCell: UICollectionViewCell { l.font = UIFont(name: "Pretendard-Medium", size: 12) l.textColor = .black l.textAlignment = .center + l.text = "๋ฃจ์ด์ฆˆ ๋กœ๋“œ๋ ˆ" return l }() @@ -46,8 +47,8 @@ class WineImageCell: UICollectionViewCell { label.snp.makeConstraints { make in make.top.equalTo(imageView.snp.bottom).offset(8) - make.leading.trailing.equalToSuperview() - make.bottom.equalToSuperview() + make.centerX.equalTo(imageView.snp.centerX) + // make.bottom.equalToSuperview() } } diff --git a/Drink-EG/Drink-EG/Sources/Cells/TastingNote/WineInfoView.swift b/Drink-EG/Drink-EG/Sources/Cells/TastingNote/WineInfoView.swift new file mode 100644 index 0000000..c23acc7 --- /dev/null +++ b/Drink-EG/Drink-EG/Sources/Cells/TastingNote/WineInfoView.swift @@ -0,0 +1,116 @@ +// +// WineInfoView.swift +// Drink-EG +// +// Created by ์ด์ˆ˜ํ˜„ on 10/30/24. +// + +import UIKit + +class WineInfoView: UIView { + + private let wineName: UILabel = { + let w = UILabel() + w.text = "๋ฃจ์ด ๋กœ๋“œ๋ ˆ ํฌ๋ฆฌ์Šคํƒˆ 2015" + w.textColor = .black + w.textAlignment = .center + w.font = UIFont(name: "Pretendard-SemiBold", size: 24) + return w + }() + + private let wineImage: UIImageView = { + let w = UIImageView() + w.contentMode = .scaleToFill + w.image = UIImage(named: "wine1") + w.layer.cornerRadius = 14 + return w + }() + + private let wineDescription: UIView = { + let w = UIView() + w.backgroundColor = .white + w.layer.cornerRadius = 14 + return w + }() + + private let wineKind: UILabel = { + let w = UILabel() + w.text = "์ข…๋ฅ˜" + w.textColor = UIColor(hex: "#7E13B1") + w.textAlignment = .center + w.font = UIFont(name: "Pretendard-SemiBold", size: 14) + return w + }() + + private let wineGrape: UILabel = { + let w = UILabel() + w.text = "ํ’ˆ์ข…" + w.textColor = UIColor(hex: "#7E13B1") + w.textAlignment = .center + w.font = UIFont(name: "Pretendard-SemiBold", size: 14) + return w + }() + + private let wineFrom: UILabel = { + let w = UILabel() + w.text = "์ƒ์‚ฐ์ง€" + w.textColor = UIColor(hex: "#7E13B1") + w.textAlignment = .center + w.font = UIFont(name: "Pretendard-SemiBold", size: 14) + return w + }() + + func setupUI() { + addSubview(wineName) + wineName.snp.makeConstraints { make in + make.top.equalToSuperview().offset(110) + make.leading.equalToSuperview().offset(25) + } + + addSubview(wineImage) + wineImage.snp.makeConstraints { make in + make.top.equalTo(wineName.snp.bottom).offset(20) + make.leading.equalTo(wineName.snp.leading) + make.width.height.equalTo(100) + } + + addSubview(wineDescription) + wineDescription.snp.makeConstraints { make in + make.top.equalTo(wineImage.snp.top) + make.bottom.equalTo(wineImage.snp.bottom) + make.leading.equalTo(wineImage.snp.trailing).offset(8) + make.trailing.equalToSuperview().offset(-24) + } + + wineDescription.addSubview(wineKind) + wineKind.snp.makeConstraints { make in + make.top.equalToSuperview().offset(16) + make.leading.equalToSuperview().offset(13) + } + + wineDescription.addSubview(wineGrape) + wineGrape.snp.makeConstraints { make in + make.top.equalTo(wineKind.snp.bottom).offset(8) + make.leading.equalTo(wineKind.snp.leading) + } + + wineDescription.addSubview(wineFrom) + wineFrom.snp.makeConstraints { make in + make.top.equalTo(wineGrape.snp.bottom).offset(8) + make.leading.equalTo(wineGrape.snp.leading) + } + } + + + + override init(frame: CGRect) { + super.init(frame: frame) + backgroundColor = .clear + setupUI() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + +} diff --git a/Drink-EG/Drink-EG/Sources/Models/DataModels/TastingNote/ImageStackView.swift b/Drink-EG/Drink-EG/Sources/Models/DataModels/TastingNote/ImageStackView.swift index 9bd2d58..23a2301 100644 --- a/Drink-EG/Drink-EG/Sources/Models/DataModels/TastingNote/ImageStackView.swift +++ b/Drink-EG/Drink-EG/Sources/Models/DataModels/TastingNote/ImageStackView.swift @@ -14,5 +14,5 @@ struct ImageStackView { struct ImageCollectionView { let images = ["wine1", "wine2", "wine1", "wine2", "wine1"] - let label = ["1", "2", "3", "4", "5"] + let label = ["๋ฃจ์ด์ฆˆ ๋กœ๋“œ๋ ˆ", "๋ฃจ์ด์ฆˆ ๋กœ๋“œ๋ ˆ", "3", "4", "5"] } diff --git a/Drink-EG/Drink-EG/Sources/VCs/TastingNote/RatingWineViewController.swift b/Drink-EG/Drink-EG/Sources/VCs/TastingNote/RatingWineViewController.swift new file mode 100644 index 0000000..1deccc7 --- /dev/null +++ b/Drink-EG/Drink-EG/Sources/VCs/TastingNote/RatingWineViewController.swift @@ -0,0 +1,28 @@ +// +// RatingWineViewController.swift +// Drink-EG +// +// Created by ์ด์ˆ˜ํ˜„ on 10/30/24. +// + +import UIKit + +class RatingWineViewController: UIViewController { + + let wineView = WineInfoView() + + override func viewDidLoad() { + super.viewDidLoad() + + setupUI() + } + + func setupUI() { + view.addSubview(wineView) + view.backgroundColor = UIColor(hex: "#F8F8FA") + wineView.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + } + +} diff --git a/Drink-EG/Drink-EG/Sources/VCs/TastingNote/WineInfoViewController.swift b/Drink-EG/Drink-EG/Sources/VCs/TastingNote/WineInfoViewController.swift new file mode 100644 index 0000000..6b74dbc --- /dev/null +++ b/Drink-EG/Drink-EG/Sources/VCs/TastingNote/WineInfoViewController.swift @@ -0,0 +1,25 @@ +// +// WineInfoViewController.swift +// Drink-EG +// +// Created by ์ด์ˆ˜ํ˜„ on 10/30/24. +// + +import UIKit + +class WineInfoViewController: UIViewController { + + let wineView = WineInfoView() + + override func viewDidLoad() { + super.viewDidLoad() + + setupUI() + } + + func setupUI() { + wineView.addSubview(view) + } + + +} diff --git a/README.md b/README.md deleted file mode 100644 index a1b81c1..0000000 --- a/README.md +++ /dev/null @@ -1,121 +0,0 @@ -# ๐Ÿท Drink-EG ๐Ÿท - -![Swift](https://img.shields.io/badge/swift-F54A2A?style=for-the-badge&logo=swift&logoColor=white) -![Xcode](https://img.shields.io/badge/Xcode-007ACC?style=for-the-badge&logo=Xcode&logoColor=white) -![Figma](https://img.shields.io/badge/figma-%23F24E1E.svg?style=for-the-badge&logo=figma&logoColor=white) - -> ๋“œ๋งํ‚ค์ง€๋กœ Easyํ•˜๊ฒŒ ์™€์ธ์ƒํ™œ์„ ์ฆ๊ฒจ๋ณด์„ธ์š”! -
- - -
- -## ๐Ÿ“– Description -์–ด๋ ต๊ณ  ๋น„์‹ผ ์ทจ๋ฏธ๋กœ ์ธ์‹๋˜๋Š” ์™€์ธ์„ ๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ ์ฆ๊ธธ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ โ€˜๋“œ๋งํ‚ค์ง€โ€™ - -**โ€˜๋“œ๋งํ‚ค์ง€ - Drink EGโ€™๋Š”** - -- ์‰ฝ๊ฒŒ ๋งˆ์‹ ๋‹ค๋Š” ๋œป์˜ Drink Easy -- ์ €์žฅ ๊ณต๊ฐ„์ด๋ผ๋Š” ๋œป์˜ ์Šคํ† ๋ฆฌ์ง€(Storage) - -์ด์ค‘์  ์˜๋ฏธ๋ฅผ ๋‚ดํฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. - -์™€์ธ์€ ํ•จ๊ป˜ ์ฆ๊ธฐ๋Š” ์‚ฌ๋žŒ์ด ๋งŽ์•„์งˆ์ˆ˜๋ก ์ฆ๊ฑฐ์›€์ด ๋ฐฐ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
-์„œ๋กœ ๊ฒฝํ—˜๊ณผ ์ง€์‹์„ ๊ณต์œ ํ•˜๊ณ , ์—ฌ๋Ÿฌ ์™€์ธ์„ ๋‚˜๋ˆ„์–ด ๋งˆ์‹œ๋ฉด ์™€์ธ์˜ ๋ง›์„ ์•Œ์•„๊ฐ€๋Š” ์†๋„๊ฐ€ ๋”์šฑ ๋นจ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์ด์ฃ . - -๊ธˆ์•ก์ , ์‹ฌ๋ฆฌ์  ์ง„์ž…์žฅ๋ฒฝ์ด ๋†’์€ ๋ฌธํ™”๋กœ ์ธ์‹๋˜๋Š” โ€˜์™€์ธโ€™์˜ -์ง„์ž…์žฅ๋ฒฝ์„ ๋‚ฎ์ถ”์–ด ๋‹ค์–‘ํ•œ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์™€์ธ์˜ ๋งค๋ ฅ์„ ์•Œ๋ฆฌ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. - -**์™€์ธ ๋ฌธํ™”๋ฅผ ๋”์šฑ ์‰ฝ๊ฒŒ ์ฆ๊ธฐ๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๋“œ๋งํ‚ค์ง€๋Š” ์•„๋ž˜์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.** - -1. ์ทจํ–ฅ ๊ธฐ๋ฐ˜ ์ฃผ๋ฅ˜ ํ๋ ˆ์ดํŒ… - -2. ์™€์ธ ๋ชจ์ž„ ๊ฐœ์„ค - -3. ๊ฐ„ํŽธํ™” ๋œ ํ…Œ์ด์ŠคํŒ… ๋…ธํŠธ - -4. ์™€์ธ์„ ์‰ฝ๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ์™€์ธ ํด๋ž˜์Šค - -5. ์™€์ธ ๊ฒ€์ƒ‰ ๋ฐ ์ตœ์ €๊ฐ€ ๋น„๊ต ๊ตฌ๋งค -## :baby_chick: Demo -### ์ฃผ์š” ๊ธฐ๋Šฅ -| ๐ŸŒŸ**์ทจํ–ฅ ๋งž์ถค ์ถ”์ฒœ** | ๐Ÿ”**์™€์ธ ๊ฒ€์ƒ‰** | ๐Ÿ—’๏ธ**ํ…Œ์ด์ŠคํŒ… ๋…ธํŠธ** | ๐Ÿ“บ**์™€์ธ ํด๋ž˜์Šค** | -| --- | --- | --- | --- | -| ![แ„Žแ…ฑแ„’แ…ฃแ†ผ](https://github.com/user-attachments/assets/64a18104-89dd-47ed-b105-cc3f4773ed02) | ![แ„€แ…ฅแ†ทแ„‰แ…ขแ†จ](https://github.com/user-attachments/assets/4c1cf1dd-6bfa-48ea-83af-a739325ea272) | ![แ„แ…ฆแ„‚แ…ฉ](https://github.com/user-attachments/assets/69c987f1-9c60-42a8-9cc6-2f2788c4f9e1) | ![แ„‹แ…ชแ„แ…ณแ†ฏ](https://github.com/user-attachments/assets/ec3279a5-4888-4a31-9882-d1d545a1ef4a) | - -## โญ Main Feature - -## ๐Ÿ’ป Getting Started -### **Prerequisites** - - **MacOS**: Any version (Latest version recommended) - - **Xcode**: Latest version - - **Simulator**: Latest version (iPhone 15 Pro or iPad series recommended) - -### **Repository Clone** - ```bash -git clone https://github.com/Drink-Easy/moblie-iOS-native.git -cd moblie-iOS-native - ``` - -### **Setup** - 1. Open the `Drink-EG.xcodeproj` file in Xcode. - 2. Verify the simulator version you want to use (iPhone 15 Pro or iPad series recommended). - 3. Build and run the project. Please note that Kakao Login is currently unavailable. - -## ๐Ÿ”ง Stack -- UIKit -- UserDefaults -- Snapkit -- Moya -- KakaoOpenSDK -- SDWebImage, YouTubeiOSPlayerHelper -- SwiftyToaster - -## :open_file_folder: Project Structure -```markdown -โ””โ”€โ”€ Drink-EG - โ”œโ”€โ”€ Drink-EG - โ”‚ย ย  โ”œโ”€โ”€ Resources - โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ APIs - โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ Example - โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Extensions - โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ Fonts - โ”‚ย ย  โ””โ”€โ”€ Sources - โ”‚ย ย  โ”œโ”€โ”€ Cells - โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Main - โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Search - โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ TasteTest - โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ TastingNote - โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ WineClass - โ”‚ย ย  โ”œโ”€โ”€ Datas - โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ Search - โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ ShoppingCart - โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ User - โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ WineClass - โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ WineNews - โ”‚ย ย  โ”œโ”€โ”€ Models - โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ APIResponseModels - โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ CardSliderSwiftUI - โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ Managers - โ”‚ย ย  โ”œโ”€โ”€ Protocols - โ”‚ย ย  โ””โ”€โ”€ VCs - โ”‚ย ย  โ”œโ”€โ”€ Community - โ”‚ย ย  โ”œโ”€โ”€ Login - โ”‚ย ย  โ”œโ”€โ”€ Main - โ”‚ย ย  โ”œโ”€โ”€ Search - โ”‚ย ย  โ”œโ”€โ”€ Settings - โ”‚ย ย  โ”œโ”€โ”€ TasteTest - โ”‚ย ย  โ”œโ”€โ”€ TastingNote - โ”‚ย ย  โ””โ”€โ”€ WineClass - โ””โ”€โ”€ Drink-EG.xcodeproj -``` - -## ๐Ÿ”จ Server Architecture - -## ๐Ÿ‘จโ€๐Ÿ’ป Role & Contribution - -## ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Developer -* ๊น€๋„์—ฐ ([doyeonk429](https://github.com/doyeonk429)) -* ์ด์ˆ˜ํ˜„ ([JustinLee02](https://github.com/JustinLee02)) -* ์ดํ˜„์ฃผ ([dlguszoo](https://github.com/dlguszoo)) -* ์ดํ˜ธ์—ฐ ([Hoyeonl](https://github.com/Hoyeonl))