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

[iOS] Spot Scene 적용 #158

Merged
merged 32 commits into from
Nov 30, 2023
Merged
Show file tree
Hide file tree
Changes from 29 commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
5a8f0e1
[iOS] SpotScene (#114)
PushedGun Nov 28, 2023
bfbdfec
:sparkles: 카메라 기능 추가
Nov 29, 2023
fc2024f
:memo: CameraView 생성
Nov 30, 2023
f135472
:sparkles: 카메라 UI 추가
Nov 30, 2023
6d15c87
:sparkles: 카메라 로직 추가
Nov 30, 2023
d812937
:recycle: 코드 정리 및 구조 리팩토링
Nov 30, 2023
2315684
:memo: 이미지 송출해주는 로직을 다룰 viewModel 파일 생성
Nov 30, 2023
ee0d36d
:art: Lint 컨밴션에 맞춘 코드 수정
Nov 30, 2023
7465234
:truck: Release branch와 merge
Nov 30, 2023
044732e
:art: Commit 파일 수정
Nov 30, 2023
ff406ae
:art: Lint 규칙에 맞추어 코드 수정 + Demo App 셋팅
Nov 30, 2023
2e3fc79
:art: Lint 컨밴션 맞추어 수정
Nov 30, 2023
2956530
:memo: Demo App 카메라 환경설정
Nov 30, 2023
50096b9
:bug: 전에 띄웠던 화면에서 벗어나지 못하는 현상 버그 픽스
Nov 30, 2023
e6ababa
:memo: Package MSNetworking, MSData 의존성 추가 및 패키지 관리 타입 프로퍼티 수정
Nov 30, 2023
62dcb44
:memo: MSNetworking 에 대한 의존성 추가
Nov 30, 2023
4b841ce
:art: SpotDTO, 보내는 용과 받는 용으로 타입 분리
Nov 30, 2023
189a3b0
:art: Spot에 대한 router case 추가
Nov 30, 2023
3e43c97
:art: SpotDTO 생성자 접근 제한 수정
Nov 30, 2023
5186f9a
:art: SpotDTO에 필요한 코드 추가
Nov 30, 2023
1300cba
:art: ResponsibleDTO 임시로 Codable 처리(회의 필요)
Nov 30, 2023
9906fba
:truck: 누락된 파일 추가
Nov 30, 2023
85fca4e
:memo: Workspace 문서 수정
Nov 30, 2023
bff86cd
:bug: JourneyList의 DTO 업데이트
SwiftyJunnos Nov 30, 2023
5ce8bc4
:art: Resolve conflict
Nov 30, 2023
22a1da5
Merge branch 'iOS/task/SpotBusinessLogic' of https://github.com/boost…
Nov 30, 2023
16de33e
:truck: Workspace 수정
SwiftyJunnos Nov 30, 2023
99f6064
:truck: MSDesignSystemTests 타겟 삭제
SwiftyJunnos Nov 30, 2023
4b1bde4
Merge pull request #143 from boostcampwm2023/iOS/task/SpotBusinessLogic
SwiftyJunnos Nov 30, 2023
700d0fc
Merge branch 'iOS/release' into iOS/task/SpotScene-Resolve-Conflict
SwiftyJunnos Nov 30, 2023
19c7bc3
:truck: 사용되지 않는 파일 삭제
SwiftyJunnos Nov 30, 2023
2c4ab6f
Merge pull request #161 from boostcampwm2023/iOS/task/SpotScene-Resol…
SwiftyJunnos Nov 30, 2023
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
6 changes: 6 additions & 0 deletions iOS/.swiftlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,9 @@ type_name:
max_length:
warning: 40
error: 1000

# 중첩 타입
nesting:
type_level:
warning: 3
error: 4

This file was deleted.

This file was deleted.

This file was deleted.

31 changes: 30 additions & 1 deletion iOS/Features/JourneyList/Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ private extension String {

static let package = "FeatureJourneyList"

var fromRootPath: String {
return "../../" + self
}

}

private enum Target {
Expand All @@ -17,6 +21,15 @@ private enum Target {

}

private enum Dependency {

static let msUIKit = "MSUIKit"
static let msCacheStorage = "MSCacheStorage"
static let msCoreKit = "MSCoreKit"
static let msData = "MSData"

}

// MARK: - Package

let package = Package(
Expand All @@ -28,7 +41,23 @@ let package = Package(
.library(name: Target.journeyList,
targets: [Target.journeyList])
],
dependencies: [
.package(name: Dependency.msUIKit,
path: Dependency.msUIKit.fromRootPath),
.package(name: Dependency.msCoreKit,
path: Dependency.msCoreKit.fromRootPath),
.package(name: Dependency.msData,
path: Dependency.msData.fromRootPath)
],
targets: [
.target(name: Target.journeyList)
.target(name: Target.journeyList,
dependencies: [
.product(name: Dependency.msUIKit,
package: Dependency.msUIKit),
.product(name: Dependency.msCacheStorage,
package: Dependency.msCoreKit),
.product(name: Dependency.msData,
package: Dependency.msData)
])
]
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
//
// DTOConvertor.swift
// JourneyList
//
// Created by 이창준 on 2023.11.27.
//

import MSData

extension Journey {

init(dto: JourneyDTO) {
self.id = dto.id
self.location = dto.location
self.date = dto.metaData.date
self.spots = dto.spots.map { Spot(dto: $0) }
self.song = Song(dto: dto.song)
}

}

extension Spot {

init(dto: ResponsibleSpotDTO) {
self.photoURLs = dto.photoURLs
}

}

extension Song {

init(dto: SongDTO) {
self.title = dto.title
self.artist = dto.artist
}

}
44 changes: 44 additions & 0 deletions iOS/Features/JourneyList/Sources/JourneyList/Model/Journey.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
//
// Journey.swift
// JourneyList
//
// Created by 이창준 on 11/23/23.
//

import Foundation

struct Journey: Hashable, Decodable {

// MARK: - Properties

let id: UUID
let location: String
let date: Date
let spots: [Spot]
let song: Song

// MARK: - Initializer

init(id: UUID = UUID(), location: String, date: Date, spots: [Spot], song: Song) {
self.id = id
self.location = location
self.date = date
self.spots = spots
self.song = song
}

}

// MARK: - Hashable

extension Journey {

static func == (lhs: Journey, rhs: Journey) -> Bool {
return lhs.id == rhs.id
}

func hash(into hasher: inout Hasher) {
hasher.combine(self.id)
}

}
15 changes: 15 additions & 0 deletions iOS/Features/JourneyList/Sources/JourneyList/Model/Song.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
//
// Song.swift
// JourneyList
//
// Created by 이창준 on 2023.11.27.
//

import Foundation

struct Song: Decodable {

let artist: String
let title: String

}
14 changes: 14 additions & 0 deletions iOS/Features/JourneyList/Sources/JourneyList/Model/Spot.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
//
// Spot.swift
// JourneyList
//
// Created by 이창준 on 11/23/23.
//

import Foundation

struct Spot: Decodable {

let photoURLs: [String]

}
Loading