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

[BE] ๐Ÿš€ : 1.0.0 ๋ฐฐํฌ #323

Closed
wants to merge 9 commits into from
Closed

[BE] ๐Ÿš€ : 1.0.0 ๋ฐฐํฌ #323

wants to merge 9 commits into from

Conversation

twoo1999
Copy link
Collaborator

โ— ๋ฐฐ๊ฒฝ

์ž‘์—… ๋ฐฐ๊ฒฝ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
Issue์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ์ฒจ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

1.0.0 ๋ฐฐํฌ

๐Ÿ”ง ์ž‘์—… ๋‚ด์—ญ

์ž‘์—…ํ•œ ๋‚ด์šฉ๋“ค์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.
๊ฐ„๊ฒฐํ•˜๊ฒŒ ๋ฆฌ์ŠคํŠธ ์—…ํ•˜๊ณ , ์ž์„ธํ•œ ์„ค๋ช…์€ ์•„๋ž˜ ๋ฆฌ๋ทฐ ๋…ธํŠธ์—์„œ ํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰ ์—ฌ์ • ๋งˆ๋ฌด๋ฆฌ ์—ฌ๋ถ€ ํ™•์ธ api ์ถ”๊ฐ€
๋ฐฐํฌ ๋งํฌ ์ถ”๊ฐ€
๊ธฐํƒ€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

๐Ÿงช ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•

๋™์ž‘์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
์•ฑ ์‹คํ–‰ ๋ฐฉ๋ฒ•์ผ ์ˆ˜ ์žˆ๊ณ , ์œ ๋‹› ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ฐฉ๋ฒ•์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“ ๋ฆฌ๋ทฐ ๋…ธํŠธ

์ž‘์—… ๋‚ด์—ญ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ธ ์Šคํฌ๋ฆฐ์ƒท

์ž‘์—…ํ•œ ๋‚ด์šฉ์— ๋Œ€ํ•œ ์Šคํฌ๋ฆฐ์ƒท, ์˜์ƒ ๋“ฑ์„ ์ฒจ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

twoo1999 and others added 9 commits December 11, 2023 03:58
* [iOS] SpotScene (#114)

* ๐Ÿ“ RewindJourney ํŒจํ‚ค์ง€ ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐Ÿ“ ๊ตฌํ˜„์— ํ•„์š”ํ•œ UIKit ๊ฐ€์ ธ์˜ค๊ธฐ

* ๐Ÿ“ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ package ํŒŒ์ผ ์ˆ˜์ •

* โœจ UI Scene ๊ตฌํ˜„

* ๐Ÿ“ Package ํŒŒ์ผ ์ƒ์„ฑ

* โœจ Scene UI ํ™”๋ฉด ๊ตฌํ˜„

---------

Co-authored-by: mingun <[email protected]>

* ๐ŸŽจ ์ƒ์ˆ˜ ๋ณ€์ˆ˜ read-only๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ isHighlight -> isHighlighted

* โœจ Preview ์ถ”๊ฐ€, album art ํ‘œ์ง€ ๋ณ€๊ฒฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Package Dependency ์ œ๊ฑฐ

* Workspace ์„ธํŒ… Cherry-Pick

* ๐Ÿ‘ท CI ์ ์šฉ

* ๐Ÿ“ฆ Workspace ์„ธํŒ…, Feature ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ“ฆ commit script์— ์ถ”๊ฐ€๋œ ํŒจํ‚ค์ง€ ์ถ”๊ฐ€

* ๐Ÿ“ฆ SpotView ํŒจํ‚ค์ง€ ์ด๋ฆ„ Spot์œผ๋กœ ์ˆ˜์ •

* ๐Ÿ“ฆ RewindJourneyView โžก๏ธ RewindJourney๋กœ ํŒจํ‚ค์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* ๐Ÿ“ฆ ํ”์ ๋งŒ ์žˆ๋Š” ํŒจํ‚ค์ง€ ์ƒˆ๋กœ ์ƒ์„ฑ

* ๐ŸŽจ ๋นŒ๋“œ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ •

* ๐Ÿšš Workspace์˜ Feature๋“ค์„ ๊ทธ๋ฃนํ™”

* ๐Ÿ“ฆ Dependency๋ฅผ ํ†ตํ•œ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ

* ๐Ÿ“ฆ Workspace์— Test ํƒ€๊ฒŸ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ Core, Foundation, UIKit ํŒจํ‚ค์ง€ Dependency ์ œ๊ฑฐ

* ๐Ÿ‘ท test without build โžก๏ธ test

* ๐Ÿ“ฆ JourneyList์— MSData๋ฅผ Dependency๋กœ ์ถ”๊ฐ€

* ๐Ÿšš ๊ฐ Feature์— Demo ์•ฑ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

* ๐Ÿšš JourneyListDemo ์•ฑ ์„ธํŒ…

* ๐ŸŽจ LaunchScreen ์„ธํŒ…

* ๐Ÿ“ฆ MSFoundaiton์— Constants ํƒ€๊ฒŸ ์ถ”๊ฐ€

* โ™ป๏ธ MSCache ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ MSCacheStorage์˜ ๋ฉ”์„œ๋“œ๋“ค์— ๋ฌธ์„œํ™” ์„ค๋ช…์„ ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿšš Coordinator ํŒจํ„ด ๊ตฌ์กฐ ๊ตฌํ˜„

* ๐ŸŽจ Coordinator ๊ด€๋ จ ์ฝ”๋“œ Lint ์ ์šฉํ•˜์—ฌ ์ˆ˜์ •

* ๐Ÿ› ์บ์‹ฑ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„ ์‹คํŒจํ•˜๋Š” ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์บ์‹œ๋ฅผ ์‚ญ์ œํ•  ๋Œ€์ƒ์„ ์„ ํƒํ•ด์„œ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿงช MSCacheStorage ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ

* ๐Ÿ› iOS 16.0 ๋ฏธ๋งŒ ๋ฒ„์ „์—์„œ ์บ์‹ฑ์ด ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐ŸŽจ Layout group์˜ ๋†’์ด๋ฅผ Cell์— ์ƒ์ˆ˜๋กœ ์ •์˜๋œ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ Subtitle๋ฅผ ์ƒ์ˆ˜๋“ค๊ณผ ํ•จ๊ป˜ ๊ด€๋ฆฌ

* โœจ ์ž„์‹œ ์บ์‹ฑ ๋กœ์ง ๊ตฌํ˜„

* โœจ ํ˜„์žฌ ์œ„์น˜์—์„œ ๋‹ค์‹œ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ public API ํ•จ์ˆ˜ ์ƒ์„ฑ

* ๐ŸŽจ ๋น„์–ด์žˆ๋Š” MSData ํŒŒ์ผ ์‚ญ์ œ

* ๐ŸŽจ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐Ÿ› Dependency ์ถ”๊ฐ€

* โ™ป๏ธ Coordinator ๊ตฌ์กฐ์— Workspace ๋ธŒ๋žœ์น˜ dump

* ๐Ÿ“ฆ ํŒจํ‚ค์ง€ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ์ถ”๊ฐ€

* ๐ŸŽจ AppCoordinator ๋‚ด extension ๋ถ„๋ฆฌ, ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋‹ค์ค‘ pop ๋กœ์ง ๋ณ€๊ฒฝ

* ๐Ÿ“ CameraView ์ƒ์„ฑ

* โœจ ์นด๋ฉ”๋ผ UI ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๋กœ์ง ์ถ”๊ฐ€

* โ™ป๏ธ ์ฝ”๋“œ ์ •๋ฆฌ ๋ฐ ๊ตฌ์กฐ ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ ์ด๋ฏธ์ง€ ์†ก์ถœํ•ด์ฃผ๋Š” ๋กœ์ง์„ ๋‹ค๋ฃฐ viewModel ํŒŒ์ผ ์ƒ์„ฑ

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜์— ๋งž์ถ˜ ์ฝ”๋“œ ์ˆ˜์ •

* ๐ŸŽจ Commit ํŒŒ์ผ ์ˆ˜์ •

* ๐ŸŽจ Lint ๊ทœ์น™์— ๋งž์ถ”์–ด ์ฝ”๋“œ ์ˆ˜์ • + Demo App ์…‹ํŒ…

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜ ๋งž์ถ”์–ด ์ˆ˜์ •

* ๐Ÿ“ Demo App ์นด๋ฉ”๋ผ ํ™˜๊ฒฝ์„ค์ •

* ๐Ÿ› ์ „์— ๋„์› ๋˜ ํ™”๋ฉด์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ๋ชปํ•˜๋Š” ํ˜„์ƒ ๋ฒ„๊ทธ ํ”ฝ์Šค

* ๐ŸŽจ ์—ฌ์ • ์ €์žฅ Demo ์•ฑ ์„ธํŒ…

* ๐Ÿ“ Package MSNetworking, MSData ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ํƒ€์ž… ํ”„๋กœํผํ‹ฐ ์ˆ˜์ •

* โœจ ์—ฌ์ • ์ €์žฅ ํ™”๋ฉด ํ•˜๋‹จ์— ๋ฒ„ํŠผ ์Šคํƒ ์ถ”๊ฐ€

* โ™ป๏ธ Tree ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ Coordinator ๊ตฌํ˜„

* ๐Ÿ“ฆ ์—ฌ์ • ์ €์žฅ ํŒจํ‚ค์ง€์˜ Dependency์— MSData ์ถ”๊ฐ€

* ๐Ÿ“ฆ MSData ํŒจํ‚ค์ง€ ์ƒ์„ฑ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift
#	iOS/MSData/Package.swift
#	iOS/MusicSpot.xcworkspace/contents.xcworkspacedata
#	iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj

* ๐Ÿšš DTO ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ DTO์— public ์ถ”๊ฐ€

* โœจ Journey Mock ๋ฐ์ดํ„ฐ ์ ์šฉ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/Features/JourneyList/Sources/JourneyList/File.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Presentation/JourneyListViewModel.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Song.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Spot.swift
#	iOS/MSData/Resources/MockJourney.json
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ MSNetworking ์š”์†Œ๋“ค์— public ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* โ™ป๏ธ MSNetworking URL ๊ตฌ์กฐ ๋ณ€๊ฒฝ & Header ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* ๐ŸŽจ MSNetworking Error ์ด๋ฆ„ ๋ณ€๊ฒฝ & ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ MSNetworking์— timeout ์ถ”๊ฐ€

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* โœจ Journey Router ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋ˆ„๋ฝ๋œ popViewController ์ถ”๊ฐ€

* ๐Ÿ› ์—ฌ์ • ์ €์žฅ Demo์•ฑ์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์ˆ˜์ •

* ๐Ÿ“ MSNetworking ์— ๋Œ€ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO, ๋ณด๋‚ด๋Š” ์šฉ๊ณผ ๋ฐ›๋Š” ์šฉ์œผ๋กœ ํƒ€์ž… ๋ถ„๋ฆฌ

* ๐ŸŽจ Spot์— ๋Œ€ํ•œ router case ์ถ”๊ฐ€

* ๐ŸŽจ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐ŸŽจ ๋ช…์‹œ์  self ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO ์ƒ์„ฑ์ž ์ ‘๊ทผ ์ œํ•œ ์ˆ˜์ •

* ๐ŸŽจ SpotDTO์— ํ•„์š”ํ•œ ์ฝ”๋“œ ์ถ”๊ฐ€

* ๐Ÿ› SearchMusic์— ๋Œ€ํ•œ ์ž˜๋ชป๋œ ํ๋ฆ„์„ ์ˆ˜์ •

* ๐ŸŽจ ์—ฌ์ • ๋ฆฌ์ŠคํŠธ ์ž„์‹œ ์ˆ˜์ •

* ๐ŸŽจ ResponsibleDTO ์ž„์‹œ๋กœ Codable ์ฒ˜๋ฆฌ(ํšŒ์˜ ํ•„์š”)

* ๐ŸŽจ DTOConvertor ์ˆ˜์ •

* ๐Ÿšš ๋ˆ„๋ฝ๋œ ํŒŒ์ผ ์ถ”๊ฐ€

* ๐Ÿ“ Workspace ๋ฌธ์„œ ์ˆ˜์ •

* ๐Ÿ› JourneyList์˜ DTO ์—…๋ฐ์ดํŠธ

* ๐Ÿšš HomeMapScene ํŒจํ‚ค์ง€ ์‚ญ์ œ

* ๐ŸŽจ Resolve conflict

* [iOS] HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„ (#94)

* ๐Ÿšš (HomeMapScene): HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„

* โ™ป๏ธ Features ํด๋” ์ƒ์„ฑ

Module ๋‹จ์œ„ ๊ตฌ์กฐ๋กœ ์ธํ•ด Lint๋ฅผ ๋ชจ๋‘ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ•˜๋‚˜์˜ Features ํด๋” ์ƒ์„ฑ

* ๐ŸŽจ ๋ถˆํ•„์š”ํ•œ ์ค‘๋ณต ์ฝ”๋“œ ๋ฐ ๋ฏธ์‚ฌ์šฉ ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ๋‹ค๋ฅธ Package๋“ค ์ถ”๊ฐ€

* ๐ŸŽจ HomeMapScene Package ์„ค์ • ๋ณ€๊ฒฝ

* ๐Ÿšš Workspace ์ˆ˜์ •

* [iOS] ์—ฌ์ • ์™„๋ฃŒ Scene UI (#120)

* [iOS] MSButton ์ถ”๊ฐ€ (#73)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* โœจ MSButton & MSRectButton ์ถ”๊ฐ€

* [iOS] MSDesignSystem (#72)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* ๐Ÿ“ฆ JourneyListScene ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ‘ท SwiftLint ์ˆ˜์ •

* โœจ JourneyListViewController์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌํ•ญ ๊ตฌํ˜„

* โœจ JourneyList ํ—ค๋”์™€ Cell ์ถ”๊ฐ€

* ๐ŸŽจ ์“ฐ์ด์ง€ ์•Š๋Š” ํด๋กœ์ € ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

* โœจ JourneyListViewController ๊ตฌํ˜„

* โœจ StackView์— ์‚ฌ์šฉํ•  Spacer ์ถ”๊ฐ€

* โœจ ๋ˆ„๋ฝ๋œ Color ์ถ”๊ฐ€

* โœจ JourneyList UI ๊ตฌํ˜„

* ๐ŸŽจ ๋งค์ง ๋„˜๋ฒ„ Constantํ™”

* ๐Ÿšš ํ…Œ์ŠคํŠธ์šฉ ์•ฑ ํƒ€๊ฒŸ ์ฝ”๋“œ ์ œ๊ฑฐ & Dependency ํ•ด์ œ

* โ™ป๏ธ ์—ฌ์ • Cell์„ ๋ฆฌํŒฉํ† ๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

* ๐ŸŽจ Lint ์—๋Ÿฌ ๋Œ€์‘

* โ™ป๏ธ DataSource ๊ตฌ์กฐ์™€ Layout ๋ณ€๊ฒฝ

* โœจ ์—ฌ์ • ์ €์žฅ Spot Cell๊นŒ์ง€ UI ๊ตฌํ˜„

* ๐ŸŽจ Magic Number Constant๋กœ ๊ด€๋ฆฌ

* โœจ ์—ฌ์ • ์ €์žฅ UI ๊ตฌํ˜„

* ๐Ÿ“ฆ ํ…Œ์ŠคํŠธ ์•ฑ ํƒ€๊ฒŸ ์ œ๊ฑฐ

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ์ค‘๋ณต ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ํŒจํ‚ค์ง€ ์„ธํŒ… ํ•ด๊ฒฐ

* ๐Ÿšš ์ž„์‹œ ViewController๋“ค ์‚ญ์ œ

* โœจ Home (NavigateMap & JourneyList) ์ฝ”๋””๋„ค์ดํ„ฐ๋กœ ์—ฐ๊ฒฐ

* โœจ RewindJourney ์ฝ”๋””๋„ค์ดํ„ฐ ์—ฐ๊ฒฐ

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ์—ฌ์ • ๋ชฉ๋ก์ด ์Šคํฌ๋กค ๋˜๋Š” ๋™์•ˆ BottomSheet๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* โœจ BottomSheet์— Resize Indicator ์ถ”๊ฐ€

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Delegate ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ“ฆ MSUIKit์— MSLogger Dependency๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  Bottom Sheet์˜ State๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

* ๐Ÿ› BottomSheet ๋™์ž‘ ์˜ค๋ฅ˜ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๋ชฉ๋ก UI ๋ณ€๊ฒฝ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ๋“ค ์‚ญ์ œ

* ๐Ÿ“ฆ MSImageFetcher ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* โ™ป๏ธ MSCacheStorage์˜ ๋ฐ˜ํ™˜ ๊ฐ’์„ ๋‹จ์ˆœ enum์—์„œ Result ํƒ€์ž…๊ณผ MSCacheError๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ˜ํ™˜

* ๐Ÿงช MSCacheStorage ์ˆ˜์ •์— ๋”ฐ๋ฅธ Test Case ์ˆ˜์ •

* โœจ MSImageFetcher ๊ตฌํ˜„

* ๐Ÿ“ฆ SelectSong ํŒจํ‚ค์ง€ & ๋ฐ๋ชจ ์•ฑ ์„ธํŒ…

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ Cell ์ถ”๊ฐ€

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ™”๋ฉด UI ๊ตฌํ˜„

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ…์ŠคํŠธํ•„๋“œ์— ํ”Œ๋ ˆ์ด์Šคํ™€๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐Ÿšš ์—ฌ์ • ์ €์žฅ ๋ชจ๋ธ ํŒŒ์ผ ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ ๋Ÿฐ์น˜ ์Šคํฌ๋ฆฐ ์ˆ˜์ •

* ๐Ÿ› Logger ์ˆ˜์ •์— ๋”ฐ๋ฅธ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿงช ๋””๋ฒ„๊น…์šฉ ์ž„์‹œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์‚ญ์ œ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Model ์ˆ˜์ •ํ•˜๊ณ  Repository ์—ฐ๊ฒฐ

* โœจ ์—ฌ์ • ์ €์žฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* ๐Ÿšš Modal Background ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* โœจ MSAlertViewController ๊ตฌํ˜„

* โœจ ํ…์ŠคํŠธํ•„๋“œ AlertViewController์—์„œ ๋ถ„๋ฆฌํ•˜๊ณ  Feature์—์„œ ์ƒ์†๋ฐ›์•„ ์ถ”๊ฐ€

* ๐ŸŽจ Alert์˜ ๋ฒ„ํŠผ์— ๋กœ์ง์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿ› AlertViewController์˜ ๋นˆ ๊ณต๊ฐ„๋„ PanGesture๊ฐ€ ๋™์ž‘ํ•˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* โ™ป๏ธ NavigateMap Model ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* ๐ŸŽจ ์ผ๋ถ€ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ Lint ์ ์šฉ

* โœจ Home๊ด€๋ จ ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ์ž„์‹œ ์ ์šฉ

* โœจ ํ—ค๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐ŸŽจ Button ๋กœ์ง ์—ฐ๊ฒฐ ์ค€๋น„ & MediaPlayer ์ค€๋น„

* โ™ป๏ธ ์—ฌ์ • ์™„๋ฃŒ SpotCell UI & ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* ๐Ÿ“ TODO ์‚ญ์ œ & ์ถ”๊ฐ€

* ๐ŸŽจ Home Scene์—์„œ ์‚ฌ์šฉํ•  isRecording์„ UserDefaults์— ๋“ฑ๋ก

* ๐ŸŽจ RecordJourney ์‚ญ์ œ

* โœจ Home Scene ๋‚ด ๋ฒ„ํŠผ delegate ์ ์šฉ ์ค‘

* โœจ MusicKit ์‚ฌ์šฉํ•œ ์Œ์•… ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ ๋ฐ๋ชจ์•ฑ Bundle Identifier ์ˆ˜์ •

* ๐Ÿ› ์ŠคํŒŸ ๋ฒ„ํŠผ์ด ํƒญ ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* ๐ŸŽจ NavigateMapButtonStackView์—์„œ private ์ œ๊ฑฐ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Song ์ฃผ์ž… ๋ฐ›์€ ํ›„ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* โœจ ์—ฌ์ • ์ด๋ฆ„ ํ™”๋ฉด ํ‚ค๋ณด๋“œ ์กฐ์ • & ์ด๋ฆ„ ๋ฐ”์ธ๋”ฉ

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

# Conflicts:
#	iOS/Features/SelectSong/Package.swift

* โœจ ์—ฌ์ • ์™„๋ฃŒ ๋กœ์ง ๊ตฌํ˜„ ์™„๋ฃŒ (๋„คํŠธ์›Œํ‚น ์ œ์™ธ)

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ NavigateMap์— MSData Dependency ์ถ”๊ฐ€

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ MSData ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐Ÿšš ๋ชจ๋ธ ํŒŒ์ผ ์‚ญ์ œ & ์ปจ๋ฒค์…˜ ์ˆ˜์ •

* ๐ŸŽจ Resolve conflict

* ๐ŸŽจ ๋ฏธ์‚ฌ์šฉ import๋ฌธ ์ž„์‹œ ์ œ๊ฑฐ

* ๐ŸŽจ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์€ CacheStorage ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿ› ์ƒ์„ฑ์ž ์ฃผ์„ ์ฒ˜๋ฆฌ ํ•ด์ œ

* Update iOS/Features/RewindJourney/Sources/RewindJourney/MSProgressViewModel.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* Update iOS/MSData/Sources/MSData/Router/Journey/JourneyRouter.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* ๐ŸŽจ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>

* Delete iOS/MSCoreKit/Sources/MSNetworking/MSRouter.swift

* ๐Ÿ“ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿ› MSLogCategory ์ปจํ”Œ๋ฆญํŠธ ์ˆ˜์ •

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ํ”„๋ ˆ์ž„์›Œํฌ ์ˆ˜์ •

* ๐Ÿ“ฆ MSCoreKit ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* gitaction test

* release

---------

Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>
Co-authored-by: mingun <[email protected]>
Co-authored-by: Junnos ๏ฃฟ <[email protected]>
Co-authored-by: Xerath <[email protected]>
Co-authored-by: ์œค๋™์ฃผ <[email protected]>
* ๐ŸŽจ Lint ๊ทœ์น™ ์ ์šฉ

* ๐ŸŽจ Lint ๊ทœ์น™ ์ ์šฉ

* ๐ŸŽจ Package ํŒŒ์ผ Lint ๊ทœ์น™์— ๋งž์ถ”์–ด ์ˆ˜์ •

* โœจ Journey Mock ๋ฐ์ดํ„ฐ ์ ์šฉ

* ๐Ÿ› ๋จธ์ง€ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๊ธฐ๋ก์˜ ์ด๋ฏธ์ง€๋ฅผ ๋„คํŠธ์›Œํฌ๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ JourneyCell ์š”์†Œ๋“ค์—์„œ Metric ์ƒ์ˆ˜ ๋ถ„๋ฆฌ

* ๐Ÿ“ Lint ๊ทœ์น™ ์ˆ˜์ •: ์ค‘์ฒฉ ํƒ€์ž… ์กฐ๊ฑด ์™„ํ™”(warning 2 -> 3)

* ๐ŸŽจ ์ ‘๊ทผ ์ œํ•œ์ž, ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* โœจ ๋˜๊ฐ๊ธฐ ๊ธฐ๋Šฅ ์ˆ˜์ •: ์ „์— ๋ณด์—ฌ์ฃผ์—ˆ๋˜ ์ด๋ฏธ์ง€๋“ค์˜ progressView๋„ ํ•˜์ด๋ผ์ดํŠธ ์ฒ˜๋ฆฌ

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* ๐ŸŽจ Test ์ฝ”๋“œ์—์„œ Lint disable

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* [iOS] SpotScene (#114)

* ๐Ÿ“ RewindJourney ํŒจํ‚ค์ง€ ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐Ÿ“ ๊ตฌํ˜„์— ํ•„์š”ํ•œ UIKit ๊ฐ€์ ธ์˜ค๊ธฐ

* ๐Ÿ“ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ package ํŒŒ์ผ ์ˆ˜์ •

* โœจ UI Scene ๊ตฌํ˜„

* ๐Ÿ“ Package ํŒŒ์ผ ์ƒ์„ฑ

* โœจ Scene UI ํ™”๋ฉด ๊ตฌํ˜„

---------

Co-authored-by: mingun <[email protected]>

* ๐ŸŽจ ์ƒ์ˆ˜ ๋ณ€์ˆ˜ read-only๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ isHighlight -> isHighlighted

* โœจ Preview ์ถ”๊ฐ€, album art ํ‘œ์ง€ ๋ณ€๊ฒฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Package Dependency ์ œ๊ฑฐ

* Workspace ์„ธํŒ… Cherry-Pick

* ๐Ÿ‘ท CI ์ ์šฉ

* ๐Ÿ“ฆ Workspace ์„ธํŒ…, Feature ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ“ฆ commit script์— ์ถ”๊ฐ€๋œ ํŒจํ‚ค์ง€ ์ถ”๊ฐ€

* ๐Ÿ“ฆ SpotView ํŒจํ‚ค์ง€ ์ด๋ฆ„ Spot์œผ๋กœ ์ˆ˜์ •

* ๐Ÿ“ฆ RewindJourneyView โžก๏ธ RewindJourney๋กœ ํŒจํ‚ค์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* ๐Ÿ“ฆ ํ”์ ๋งŒ ์žˆ๋Š” ํŒจํ‚ค์ง€ ์ƒˆ๋กœ ์ƒ์„ฑ

* ๐ŸŽจ ๋นŒ๋“œ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ •

* ๐Ÿšš Workspace์˜ Feature๋“ค์„ ๊ทธ๋ฃนํ™”

* ๐Ÿ“ฆ Dependency๋ฅผ ํ†ตํ•œ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ

* ๐Ÿ“ฆ Workspace์— Test ํƒ€๊ฒŸ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ Core, Foundation, UIKit ํŒจํ‚ค์ง€ Dependency ์ œ๊ฑฐ

* ๐Ÿ‘ท test without build โžก๏ธ test

* ๐Ÿ“ฆ JourneyList์— MSData๋ฅผ Dependency๋กœ ์ถ”๊ฐ€

* ๐Ÿšš ๊ฐ Feature์— Demo ์•ฑ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

* ๐Ÿšš JourneyListDemo ์•ฑ ์„ธํŒ…

* ๐ŸŽจ LaunchScreen ์„ธํŒ…

* ๐Ÿ“ฆ MSFoundaiton์— Constants ํƒ€๊ฒŸ ์ถ”๊ฐ€

* โ™ป๏ธ MSCache ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ MSCacheStorage์˜ ๋ฉ”์„œ๋“œ๋“ค์— ๋ฌธ์„œํ™” ์„ค๋ช…์„ ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿšš Coordinator ํŒจํ„ด ๊ตฌ์กฐ ๊ตฌํ˜„

* ๐ŸŽจ Coordinator ๊ด€๋ จ ์ฝ”๋“œ Lint ์ ์šฉํ•˜์—ฌ ์ˆ˜์ •

* ๐Ÿ› ์บ์‹ฑ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„ ์‹คํŒจํ•˜๋Š” ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์บ์‹œ๋ฅผ ์‚ญ์ œํ•  ๋Œ€์ƒ์„ ์„ ํƒํ•ด์„œ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿงช MSCacheStorage ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ

* ๐Ÿ› iOS 16.0 ๋ฏธ๋งŒ ๋ฒ„์ „์—์„œ ์บ์‹ฑ์ด ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐ŸŽจ Layout group์˜ ๋†’์ด๋ฅผ Cell์— ์ƒ์ˆ˜๋กœ ์ •์˜๋œ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ Subtitle๋ฅผ ์ƒ์ˆ˜๋“ค๊ณผ ํ•จ๊ป˜ ๊ด€๋ฆฌ

* โœจ ์ž„์‹œ ์บ์‹ฑ ๋กœ์ง ๊ตฌํ˜„

* โœจ ํ˜„์žฌ ์œ„์น˜์—์„œ ๋‹ค์‹œ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ public API ํ•จ์ˆ˜ ์ƒ์„ฑ

* ๐ŸŽจ ๋น„์–ด์žˆ๋Š” MSData ํŒŒ์ผ ์‚ญ์ œ

* ๐ŸŽจ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐Ÿ› Dependency ์ถ”๊ฐ€

* โ™ป๏ธ Coordinator ๊ตฌ์กฐ์— Workspace ๋ธŒ๋žœ์น˜ dump

* ๐Ÿ“ฆ ํŒจํ‚ค์ง€ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ์ถ”๊ฐ€

* ๐ŸŽจ AppCoordinator ๋‚ด extension ๋ถ„๋ฆฌ, ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋‹ค์ค‘ pop ๋กœ์ง ๋ณ€๊ฒฝ

* ๐Ÿ“ CameraView ์ƒ์„ฑ

* โœจ ์นด๋ฉ”๋ผ UI ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๋กœ์ง ์ถ”๊ฐ€

* โ™ป๏ธ ์ฝ”๋“œ ์ •๋ฆฌ ๋ฐ ๊ตฌ์กฐ ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ ์ด๋ฏธ์ง€ ์†ก์ถœํ•ด์ฃผ๋Š” ๋กœ์ง์„ ๋‹ค๋ฃฐ viewModel ํŒŒ์ผ ์ƒ์„ฑ

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜์— ๋งž์ถ˜ ์ฝ”๋“œ ์ˆ˜์ •

* ๐ŸŽจ Commit ํŒŒ์ผ ์ˆ˜์ •

* ๐ŸŽจ Lint ๊ทœ์น™์— ๋งž์ถ”์–ด ์ฝ”๋“œ ์ˆ˜์ • + Demo App ์…‹ํŒ…

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜ ๋งž์ถ”์–ด ์ˆ˜์ •

* ๐Ÿ“ Demo App ์นด๋ฉ”๋ผ ํ™˜๊ฒฝ์„ค์ •

* ๐Ÿ› ์ „์— ๋„์› ๋˜ ํ™”๋ฉด์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ๋ชปํ•˜๋Š” ํ˜„์ƒ ๋ฒ„๊ทธ ํ”ฝ์Šค

* ๐ŸŽจ ์—ฌ์ • ์ €์žฅ Demo ์•ฑ ์„ธํŒ…

* ๐Ÿ“ Package MSNetworking, MSData ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ํƒ€์ž… ํ”„๋กœํผํ‹ฐ ์ˆ˜์ •

* โœจ ์—ฌ์ • ์ €์žฅ ํ™”๋ฉด ํ•˜๋‹จ์— ๋ฒ„ํŠผ ์Šคํƒ ์ถ”๊ฐ€

* โ™ป๏ธ Tree ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ Coordinator ๊ตฌํ˜„

* ๐Ÿ“ฆ ์—ฌ์ • ์ €์žฅ ํŒจํ‚ค์ง€์˜ Dependency์— MSData ์ถ”๊ฐ€

* ๐Ÿ“ฆ MSData ํŒจํ‚ค์ง€ ์ƒ์„ฑ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift
#	iOS/MSData/Package.swift
#	iOS/MusicSpot.xcworkspace/contents.xcworkspacedata
#	iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj

* ๐Ÿšš DTO ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ DTO์— public ์ถ”๊ฐ€

* โœจ Journey Mock ๋ฐ์ดํ„ฐ ์ ์šฉ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/Features/JourneyList/Sources/JourneyList/File.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Presentation/JourneyListViewModel.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Song.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Spot.swift
#	iOS/MSData/Resources/MockJourney.json
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ MSNetworking ์š”์†Œ๋“ค์— public ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* โ™ป๏ธ MSNetworking URL ๊ตฌ์กฐ ๋ณ€๊ฒฝ & Header ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* ๐ŸŽจ MSNetworking Error ์ด๋ฆ„ ๋ณ€๊ฒฝ & ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ MSNetworking์— timeout ์ถ”๊ฐ€

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* โœจ Journey Router ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋ˆ„๋ฝ๋œ popViewController ์ถ”๊ฐ€

* ๐Ÿ› ์—ฌ์ • ์ €์žฅ Demo์•ฑ์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์ˆ˜์ •

* ๐Ÿ“ MSNetworking ์— ๋Œ€ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO, ๋ณด๋‚ด๋Š” ์šฉ๊ณผ ๋ฐ›๋Š” ์šฉ์œผ๋กœ ํƒ€์ž… ๋ถ„๋ฆฌ

* ๐ŸŽจ Spot์— ๋Œ€ํ•œ router case ์ถ”๊ฐ€

* ๐ŸŽจ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐ŸŽจ ๋ช…์‹œ์  self ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO ์ƒ์„ฑ์ž ์ ‘๊ทผ ์ œํ•œ ์ˆ˜์ •

* ๐ŸŽจ SpotDTO์— ํ•„์š”ํ•œ ์ฝ”๋“œ ์ถ”๊ฐ€

* ๐Ÿ› SearchMusic์— ๋Œ€ํ•œ ์ž˜๋ชป๋œ ํ๋ฆ„์„ ์ˆ˜์ •

* ๐ŸŽจ ์—ฌ์ • ๋ฆฌ์ŠคํŠธ ์ž„์‹œ ์ˆ˜์ •

* ๐ŸŽจ ResponsibleDTO ์ž„์‹œ๋กœ Codable ์ฒ˜๋ฆฌ(ํšŒ์˜ ํ•„์š”)

* ๐ŸŽจ DTOConvertor ์ˆ˜์ •

* ๐Ÿšš ๋ˆ„๋ฝ๋œ ํŒŒ์ผ ์ถ”๊ฐ€

* ๐Ÿ“ Workspace ๋ฌธ์„œ ์ˆ˜์ •

* ๐Ÿ› JourneyList์˜ DTO ์—…๋ฐ์ดํŠธ

* ๐Ÿšš HomeMapScene ํŒจํ‚ค์ง€ ์‚ญ์ œ

* ๐ŸŽจ Resolve conflict

* [iOS] HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„ (#94)

* ๐Ÿšš (HomeMapScene): HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„

* โ™ป๏ธ Features ํด๋” ์ƒ์„ฑ

Module ๋‹จ์œ„ ๊ตฌ์กฐ๋กœ ์ธํ•ด Lint๋ฅผ ๋ชจ๋‘ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ•˜๋‚˜์˜ Features ํด๋” ์ƒ์„ฑ

* ๐ŸŽจ ๋ถˆํ•„์š”ํ•œ ์ค‘๋ณต ์ฝ”๋“œ ๋ฐ ๋ฏธ์‚ฌ์šฉ ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ๋‹ค๋ฅธ Package๋“ค ์ถ”๊ฐ€

* ๐ŸŽจ HomeMapScene Package ์„ค์ • ๋ณ€๊ฒฝ

* ๐Ÿšš Workspace ์ˆ˜์ •

* [iOS] ์—ฌ์ • ์™„๋ฃŒ Scene UI (#120)

* [iOS] MSButton ์ถ”๊ฐ€ (#73)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* โœจ MSButton & MSRectButton ์ถ”๊ฐ€

* [iOS] MSDesignSystem (#72)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* ๐Ÿ“ฆ JourneyListScene ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ‘ท SwiftLint ์ˆ˜์ •

* โœจ JourneyListViewController์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌํ•ญ ๊ตฌํ˜„

* โœจ JourneyList ํ—ค๋”์™€ Cell ์ถ”๊ฐ€

* ๐ŸŽจ ์“ฐ์ด์ง€ ์•Š๋Š” ํด๋กœ์ € ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

* โœจ JourneyListViewController ๊ตฌํ˜„

* โœจ StackView์— ์‚ฌ์šฉํ•  Spacer ์ถ”๊ฐ€

* โœจ ๋ˆ„๋ฝ๋œ Color ์ถ”๊ฐ€

* โœจ JourneyList UI ๊ตฌํ˜„

* ๐ŸŽจ ๋งค์ง ๋„˜๋ฒ„ Constantํ™”

* ๐Ÿšš ํ…Œ์ŠคํŠธ์šฉ ์•ฑ ํƒ€๊ฒŸ ์ฝ”๋“œ ์ œ๊ฑฐ & Dependency ํ•ด์ œ

* โ™ป๏ธ ์—ฌ์ • Cell์„ ๋ฆฌํŒฉํ† ๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

* ๐ŸŽจ Lint ์—๋Ÿฌ ๋Œ€์‘

* โ™ป๏ธ DataSource ๊ตฌ์กฐ์™€ Layout ๋ณ€๊ฒฝ

* โœจ ์—ฌ์ • ์ €์žฅ Spot Cell๊นŒ์ง€ UI ๊ตฌํ˜„

* ๐ŸŽจ Magic Number Constant๋กœ ๊ด€๋ฆฌ

* โœจ ์—ฌ์ • ์ €์žฅ UI ๊ตฌํ˜„

* ๐Ÿ“ฆ ํ…Œ์ŠคํŠธ ์•ฑ ํƒ€๊ฒŸ ์ œ๊ฑฐ

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ์ค‘๋ณต ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ํŒจํ‚ค์ง€ ์„ธํŒ… ํ•ด๊ฒฐ

* ๐Ÿšš ์ž„์‹œ ViewController๋“ค ์‚ญ์ œ

* โœจ Home (NavigateMap & JourneyList) ์ฝ”๋””๋„ค์ดํ„ฐ๋กœ ์—ฐ๊ฒฐ

* โœจ RewindJourney ์ฝ”๋””๋„ค์ดํ„ฐ ์—ฐ๊ฒฐ

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ์—ฌ์ • ๋ชฉ๋ก์ด ์Šคํฌ๋กค ๋˜๋Š” ๋™์•ˆ BottomSheet๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* โœจ BottomSheet์— Resize Indicator ์ถ”๊ฐ€

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Delegate ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ“ฆ MSUIKit์— MSLogger Dependency๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  Bottom Sheet์˜ State๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

* ๐Ÿ› BottomSheet ๋™์ž‘ ์˜ค๋ฅ˜ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๋ชฉ๋ก UI ๋ณ€๊ฒฝ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ๋“ค ์‚ญ์ œ

* ๐Ÿ“ฆ MSImageFetcher ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* โ™ป๏ธ MSCacheStorage์˜ ๋ฐ˜ํ™˜ ๊ฐ’์„ ๋‹จ์ˆœ enum์—์„œ Result ํƒ€์ž…๊ณผ MSCacheError๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ˜ํ™˜

* ๐Ÿงช MSCacheStorage ์ˆ˜์ •์— ๋”ฐ๋ฅธ Test Case ์ˆ˜์ •

* โœจ MSImageFetcher ๊ตฌํ˜„

* ๐Ÿ“ฆ SelectSong ํŒจํ‚ค์ง€ & ๋ฐ๋ชจ ์•ฑ ์„ธํŒ…

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ Cell ์ถ”๊ฐ€

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ™”๋ฉด UI ๊ตฌํ˜„

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ…์ŠคํŠธํ•„๋“œ์— ํ”Œ๋ ˆ์ด์Šคํ™€๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐Ÿšš ์—ฌ์ • ์ €์žฅ ๋ชจ๋ธ ํŒŒ์ผ ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ ๋Ÿฐ์น˜ ์Šคํฌ๋ฆฐ ์ˆ˜์ •

* ๐Ÿ› Logger ์ˆ˜์ •์— ๋”ฐ๋ฅธ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿงช ๋””๋ฒ„๊น…์šฉ ์ž„์‹œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์‚ญ์ œ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Model ์ˆ˜์ •ํ•˜๊ณ  Repository ์—ฐ๊ฒฐ

* โœจ ์—ฌ์ • ์ €์žฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* ๐Ÿšš Modal Background ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* โœจ MSAlertViewController ๊ตฌํ˜„

* โœจ ํ…์ŠคํŠธํ•„๋“œ AlertViewController์—์„œ ๋ถ„๋ฆฌํ•˜๊ณ  Feature์—์„œ ์ƒ์†๋ฐ›์•„ ์ถ”๊ฐ€

* ๐ŸŽจ Alert์˜ ๋ฒ„ํŠผ์— ๋กœ์ง์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿ› AlertViewController์˜ ๋นˆ ๊ณต๊ฐ„๋„ PanGesture๊ฐ€ ๋™์ž‘ํ•˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* โ™ป๏ธ NavigateMap Model ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* ๐ŸŽจ ์ผ๋ถ€ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ Lint ์ ์šฉ

* โœจ Home๊ด€๋ จ ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ์ž„์‹œ ์ ์šฉ

* โœจ ํ—ค๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐ŸŽจ Button ๋กœ์ง ์—ฐ๊ฒฐ ์ค€๋น„ & MediaPlayer ์ค€๋น„

* โ™ป๏ธ ์—ฌ์ • ์™„๋ฃŒ SpotCell UI & ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* ๐Ÿ“ TODO ์‚ญ์ œ & ์ถ”๊ฐ€

* ๐ŸŽจ Home Scene์—์„œ ์‚ฌ์šฉํ•  isRecording์„ UserDefaults์— ๋“ฑ๋ก

* ๐ŸŽจ RecordJourney ์‚ญ์ œ

* โœจ Home Scene ๋‚ด ๋ฒ„ํŠผ delegate ์ ์šฉ ์ค‘

* โœจ MusicKit ์‚ฌ์šฉํ•œ ์Œ์•… ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ ๋ฐ๋ชจ์•ฑ Bundle Identifier ์ˆ˜์ •

* ๐Ÿ› ์ŠคํŒŸ ๋ฒ„ํŠผ์ด ํƒญ ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* ๐ŸŽจ NavigateMapButtonStackView์—์„œ private ์ œ๊ฑฐ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Song ์ฃผ์ž… ๋ฐ›์€ ํ›„ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* โœจ ์—ฌ์ • ์ด๋ฆ„ ํ™”๋ฉด ํ‚ค๋ณด๋“œ ์กฐ์ • & ์ด๋ฆ„ ๋ฐ”์ธ๋”ฉ

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

# Conflicts:
#	iOS/Features/SelectSong/Package.swift

* โœจ ์—ฌ์ • ์™„๋ฃŒ ๋กœ์ง ๊ตฌํ˜„ ์™„๋ฃŒ (๋„คํŠธ์›Œํ‚น ์ œ์™ธ)

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ NavigateMap์— MSData Dependency ์ถ”๊ฐ€

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ MSData ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐Ÿšš ๋ชจ๋ธ ํŒŒ์ผ ์‚ญ์ œ & ์ปจ๋ฒค์…˜ ์ˆ˜์ •

* ๐ŸŽจ Resolve conflict

* ๐ŸŽจ ๋ฏธ์‚ฌ์šฉ import๋ฌธ ์ž„์‹œ ์ œ๊ฑฐ

* ๐ŸŽจ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์€ CacheStorage ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿ› ์ƒ์„ฑ์ž ์ฃผ์„ ์ฒ˜๋ฆฌ ํ•ด์ œ

* Update iOS/Features/RewindJourney/Sources/RewindJourney/MSProgressViewModel.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* Update iOS/MSData/Sources/MSData/Router/Journey/JourneyRouter.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* ๐ŸŽจ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>

* Delete iOS/MSCoreKit/Sources/MSNetworking/MSRouter.swift

* ๐Ÿ“ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿ› MSLogCategory ์ปจํ”Œ๋ฆญํŠธ ์ˆ˜์ •

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ํ”„๋ ˆ์ž„์›Œํฌ ์ˆ˜์ •

* ๐Ÿ“ฆ MSCoreKit ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* remove iOS

---------

Co-authored-by: mingun <[email protected]>
Co-authored-by: Junnos ๏ฃฟ <[email protected]>
Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>
Co-authored-by: Xerath <[email protected]>
Co-authored-by: ์œค๋™์ฃผ <[email protected]>
* ๐ŸŽจ Lint ๊ทœ์น™ ์ ์šฉ

* ๐ŸŽจ Package ํŒŒ์ผ Lint ๊ทœ์น™์— ๋งž์ถ”์–ด ์ˆ˜์ •

* โœจ Journey Mock ๋ฐ์ดํ„ฐ ์ ์šฉ

* ๐Ÿ› ๋จธ์ง€ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๊ธฐ๋ก์˜ ์ด๋ฏธ์ง€๋ฅผ ๋„คํŠธ์›Œํฌ๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ JourneyCell ์š”์†Œ๋“ค์—์„œ Metric ์ƒ์ˆ˜ ๋ถ„๋ฆฌ

* ๐Ÿ“ Lint ๊ทœ์น™ ์ˆ˜์ •: ์ค‘์ฒฉ ํƒ€์ž… ์กฐ๊ฑด ์™„ํ™”(warning 2 -> 3)

* ๐ŸŽจ ์ ‘๊ทผ ์ œํ•œ์ž, ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* โœจ ๋˜๊ฐ๊ธฐ ๊ธฐ๋Šฅ ์ˆ˜์ •: ์ „์— ๋ณด์—ฌ์ฃผ์—ˆ๋˜ ์ด๋ฏธ์ง€๋“ค์˜ progressView๋„ ํ•˜์ด๋ผ์ดํŠธ ์ฒ˜๋ฆฌ

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* ๐ŸŽจ Test ์ฝ”๋“œ์—์„œ Lint disable

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* [iOS] SpotScene (#114)

* ๐Ÿ“ RewindJourney ํŒจํ‚ค์ง€ ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐Ÿ“ ๊ตฌํ˜„์— ํ•„์š”ํ•œ UIKit ๊ฐ€์ ธ์˜ค๊ธฐ

* ๐Ÿ“ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ package ํŒŒ์ผ ์ˆ˜์ •

* โœจ UI Scene ๊ตฌํ˜„

* ๐Ÿ“ Package ํŒŒ์ผ ์ƒ์„ฑ

* โœจ Scene UI ํ™”๋ฉด ๊ตฌํ˜„

---------

Co-authored-by: mingun <[email protected]>

* ๐ŸŽจ ์ƒ์ˆ˜ ๋ณ€์ˆ˜ read-only๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ isHighlight -> isHighlighted

* โœจ Preview ์ถ”๊ฐ€, album art ํ‘œ์ง€ ๋ณ€๊ฒฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Package Dependency ์ œ๊ฑฐ

* Workspace ์„ธํŒ… Cherry-Pick

* ๐Ÿ‘ท CI ์ ์šฉ

* ๐Ÿ“ฆ Workspace ์„ธํŒ…, Feature ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ“ฆ commit script์— ์ถ”๊ฐ€๋œ ํŒจํ‚ค์ง€ ์ถ”๊ฐ€

* ๐Ÿ“ฆ SpotView ํŒจํ‚ค์ง€ ์ด๋ฆ„ Spot์œผ๋กœ ์ˆ˜์ •

* ๐Ÿ“ฆ RewindJourneyView โžก๏ธ RewindJourney๋กœ ํŒจํ‚ค์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* ๐Ÿ“ฆ ํ”์ ๋งŒ ์žˆ๋Š” ํŒจํ‚ค์ง€ ์ƒˆ๋กœ ์ƒ์„ฑ

* ๐ŸŽจ ๋นŒ๋“œ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ •

* ๐Ÿšš Workspace์˜ Feature๋“ค์„ ๊ทธ๋ฃนํ™”

* ๐Ÿ“ฆ Dependency๋ฅผ ํ†ตํ•œ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ

* ๐Ÿ“ฆ Workspace์— Test ํƒ€๊ฒŸ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ Core, Foundation, UIKit ํŒจํ‚ค์ง€ Dependency ์ œ๊ฑฐ

* ๐Ÿ‘ท test without build โžก๏ธ test

* ๐Ÿ“ฆ JourneyList์— MSData๋ฅผ Dependency๋กœ ์ถ”๊ฐ€

* ๐Ÿšš ๊ฐ Feature์— Demo ์•ฑ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

* ๐Ÿšš JourneyListDemo ์•ฑ ์„ธํŒ…

* ๐ŸŽจ LaunchScreen ์„ธํŒ…

* ๐Ÿ“ฆ MSFoundaiton์— Constants ํƒ€๊ฒŸ ์ถ”๊ฐ€

* โ™ป๏ธ MSCache ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ MSCacheStorage์˜ ๋ฉ”์„œ๋“œ๋“ค์— ๋ฌธ์„œํ™” ์„ค๋ช…์„ ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿšš Coordinator ํŒจํ„ด ๊ตฌ์กฐ ๊ตฌํ˜„

* ๐ŸŽจ Coordinator ๊ด€๋ จ ์ฝ”๋“œ Lint ์ ์šฉํ•˜์—ฌ ์ˆ˜์ •

* ๐Ÿ› ์บ์‹ฑ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„ ์‹คํŒจํ•˜๋Š” ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์บ์‹œ๋ฅผ ์‚ญ์ œํ•  ๋Œ€์ƒ์„ ์„ ํƒํ•ด์„œ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿงช MSCacheStorage ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ

* ๐Ÿ› iOS 16.0 ๋ฏธ๋งŒ ๋ฒ„์ „์—์„œ ์บ์‹ฑ์ด ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐ŸŽจ Layout group์˜ ๋†’์ด๋ฅผ Cell์— ์ƒ์ˆ˜๋กœ ์ •์˜๋œ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ Subtitle๋ฅผ ์ƒ์ˆ˜๋“ค๊ณผ ํ•จ๊ป˜ ๊ด€๋ฆฌ

* โœจ ์ž„์‹œ ์บ์‹ฑ ๋กœ์ง ๊ตฌํ˜„

* โœจ ํ˜„์žฌ ์œ„์น˜์—์„œ ๋‹ค์‹œ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ public API ํ•จ์ˆ˜ ์ƒ์„ฑ

* ๐ŸŽจ ๋น„์–ด์žˆ๋Š” MSData ํŒŒ์ผ ์‚ญ์ œ

* ๐ŸŽจ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐Ÿ› Dependency ์ถ”๊ฐ€

* โ™ป๏ธ Coordinator ๊ตฌ์กฐ์— Workspace ๋ธŒ๋žœ์น˜ dump

* ๐Ÿ“ฆ ํŒจํ‚ค์ง€ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ์ถ”๊ฐ€

* ๐ŸŽจ AppCoordinator ๋‚ด extension ๋ถ„๋ฆฌ, ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋‹ค์ค‘ pop ๋กœ์ง ๋ณ€๊ฒฝ

* ๐Ÿ“ CameraView ์ƒ์„ฑ

* โœจ ์นด๋ฉ”๋ผ UI ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๋กœ์ง ์ถ”๊ฐ€

* โ™ป๏ธ ์ฝ”๋“œ ์ •๋ฆฌ ๋ฐ ๊ตฌ์กฐ ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ ์ด๋ฏธ์ง€ ์†ก์ถœํ•ด์ฃผ๋Š” ๋กœ์ง์„ ๋‹ค๋ฃฐ viewModel ํŒŒ์ผ ์ƒ์„ฑ

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜์— ๋งž์ถ˜ ์ฝ”๋“œ ์ˆ˜์ •

* ๐ŸŽจ Commit ํŒŒ์ผ ์ˆ˜์ •

* ๐ŸŽจ Lint ๊ทœ์น™์— ๋งž์ถ”์–ด ์ฝ”๋“œ ์ˆ˜์ • + Demo App ์…‹ํŒ…

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜ ๋งž์ถ”์–ด ์ˆ˜์ •

* ๐Ÿ“ Demo App ์นด๋ฉ”๋ผ ํ™˜๊ฒฝ์„ค์ •

* ๐Ÿ› ์ „์— ๋„์› ๋˜ ํ™”๋ฉด์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ๋ชปํ•˜๋Š” ํ˜„์ƒ ๋ฒ„๊ทธ ํ”ฝ์Šค

* ๐ŸŽจ ์—ฌ์ • ์ €์žฅ Demo ์•ฑ ์„ธํŒ…

* ๐Ÿ“ Package MSNetworking, MSData ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ํƒ€์ž… ํ”„๋กœํผํ‹ฐ ์ˆ˜์ •

* โœจ ์—ฌ์ • ์ €์žฅ ํ™”๋ฉด ํ•˜๋‹จ์— ๋ฒ„ํŠผ ์Šคํƒ ์ถ”๊ฐ€

* โ™ป๏ธ Tree ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ Coordinator ๊ตฌํ˜„

* ๐Ÿ“ฆ ์—ฌ์ • ์ €์žฅ ํŒจํ‚ค์ง€์˜ Dependency์— MSData ์ถ”๊ฐ€

* ๐Ÿ“ฆ MSData ํŒจํ‚ค์ง€ ์ƒ์„ฑ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift
#	iOS/MSData/Package.swift
#	iOS/MusicSpot.xcworkspace/contents.xcworkspacedata
#	iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj

* ๐Ÿšš DTO ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ DTO์— public ์ถ”๊ฐ€

* โœจ Journey Mock ๋ฐ์ดํ„ฐ ์ ์šฉ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/Features/JourneyList/Sources/JourneyList/File.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Presentation/JourneyListViewModel.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Song.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Spot.swift
#	iOS/MSData/Resources/MockJourney.json
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ MSNetworking ์š”์†Œ๋“ค์— public ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* โ™ป๏ธ MSNetworking URL ๊ตฌ์กฐ ๋ณ€๊ฒฝ & Header ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* ๐ŸŽจ MSNetworking Error ์ด๋ฆ„ ๋ณ€๊ฒฝ & ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ MSNetworking์— timeout ์ถ”๊ฐ€

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* โœจ Journey Router ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋ˆ„๋ฝ๋œ popViewController ์ถ”๊ฐ€

* ๐Ÿ› ์—ฌ์ • ์ €์žฅ Demo์•ฑ์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์ˆ˜์ •

* ๐Ÿ“ MSNetworking ์— ๋Œ€ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO, ๋ณด๋‚ด๋Š” ์šฉ๊ณผ ๋ฐ›๋Š” ์šฉ์œผ๋กœ ํƒ€์ž… ๋ถ„๋ฆฌ

* ๐ŸŽจ Spot์— ๋Œ€ํ•œ router case ์ถ”๊ฐ€

* ๐ŸŽจ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐ŸŽจ ๋ช…์‹œ์  self ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO ์ƒ์„ฑ์ž ์ ‘๊ทผ ์ œํ•œ ์ˆ˜์ •

* ๐ŸŽจ SpotDTO์— ํ•„์š”ํ•œ ์ฝ”๋“œ ์ถ”๊ฐ€

* ๐Ÿ› SearchMusic์— ๋Œ€ํ•œ ์ž˜๋ชป๋œ ํ๋ฆ„์„ ์ˆ˜์ •

* ๐ŸŽจ ์—ฌ์ • ๋ฆฌ์ŠคํŠธ ์ž„์‹œ ์ˆ˜์ •

* ๐ŸŽจ ResponsibleDTO ์ž„์‹œ๋กœ Codable ์ฒ˜๋ฆฌ(ํšŒ์˜ ํ•„์š”)

* ๐ŸŽจ DTOConvertor ์ˆ˜์ •

* ๐Ÿšš ๋ˆ„๋ฝ๋œ ํŒŒ์ผ ์ถ”๊ฐ€

* ๐Ÿ“ Workspace ๋ฌธ์„œ ์ˆ˜์ •

* ๐Ÿ› JourneyList์˜ DTO ์—…๋ฐ์ดํŠธ

* ๐Ÿšš HomeMapScene ํŒจํ‚ค์ง€ ์‚ญ์ œ

* ๐ŸŽจ Resolve conflict

* [iOS] HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„ (#94)

* ๐Ÿšš (HomeMapScene): HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„

* โ™ป๏ธ Features ํด๋” ์ƒ์„ฑ

Module ๋‹จ์œ„ ๊ตฌ์กฐ๋กœ ์ธํ•ด Lint๋ฅผ ๋ชจ๋‘ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ•˜๋‚˜์˜ Features ํด๋” ์ƒ์„ฑ

* ๐ŸŽจ ๋ถˆํ•„์š”ํ•œ ์ค‘๋ณต ์ฝ”๋“œ ๋ฐ ๋ฏธ์‚ฌ์šฉ ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ๋‹ค๋ฅธ Package๋“ค ์ถ”๊ฐ€

* ๐ŸŽจ HomeMapScene Package ์„ค์ • ๋ณ€๊ฒฝ

* ๐Ÿšš Workspace ์ˆ˜์ •

* [iOS] ์—ฌ์ • ์™„๋ฃŒ Scene UI (#120)

* [iOS] MSButton ์ถ”๊ฐ€ (#73)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* โœจ MSButton & MSRectButton ์ถ”๊ฐ€

* [iOS] MSDesignSystem (#72)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* ๐Ÿ“ฆ JourneyListScene ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ‘ท SwiftLint ์ˆ˜์ •

* โœจ JourneyListViewController์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌํ•ญ ๊ตฌํ˜„

* โœจ JourneyList ํ—ค๋”์™€ Cell ์ถ”๊ฐ€

* ๐ŸŽจ ์“ฐ์ด์ง€ ์•Š๋Š” ํด๋กœ์ € ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

* โœจ JourneyListViewController ๊ตฌํ˜„

* โœจ StackView์— ์‚ฌ์šฉํ•  Spacer ์ถ”๊ฐ€

* โœจ ๋ˆ„๋ฝ๋œ Color ์ถ”๊ฐ€

* โœจ JourneyList UI ๊ตฌํ˜„

* ๐ŸŽจ ๋งค์ง ๋„˜๋ฒ„ Constantํ™”

* ๐Ÿšš ํ…Œ์ŠคํŠธ์šฉ ์•ฑ ํƒ€๊ฒŸ ์ฝ”๋“œ ์ œ๊ฑฐ & Dependency ํ•ด์ œ

* โ™ป๏ธ ์—ฌ์ • Cell์„ ๋ฆฌํŒฉํ† ๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

* ๐ŸŽจ Lint ์—๋Ÿฌ ๋Œ€์‘

* โ™ป๏ธ DataSource ๊ตฌ์กฐ์™€ Layout ๋ณ€๊ฒฝ

* โœจ ์—ฌ์ • ์ €์žฅ Spot Cell๊นŒ์ง€ UI ๊ตฌํ˜„

* ๐ŸŽจ Magic Number Constant๋กœ ๊ด€๋ฆฌ

* โœจ ์—ฌ์ • ์ €์žฅ UI ๊ตฌํ˜„

* ๐Ÿ“ฆ ํ…Œ์ŠคํŠธ ์•ฑ ํƒ€๊ฒŸ ์ œ๊ฑฐ

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ์ค‘๋ณต ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ํŒจํ‚ค์ง€ ์„ธํŒ… ํ•ด๊ฒฐ

* ๐Ÿšš ์ž„์‹œ ViewController๋“ค ์‚ญ์ œ

* โœจ Home (NavigateMap & JourneyList) ์ฝ”๋””๋„ค์ดํ„ฐ๋กœ ์—ฐ๊ฒฐ

* โœจ RewindJourney ์ฝ”๋””๋„ค์ดํ„ฐ ์—ฐ๊ฒฐ

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ์—ฌ์ • ๋ชฉ๋ก์ด ์Šคํฌ๋กค ๋˜๋Š” ๋™์•ˆ BottomSheet๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* โœจ BottomSheet์— Resize Indicator ์ถ”๊ฐ€

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Delegate ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ“ฆ MSUIKit์— MSLogger Dependency๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  Bottom Sheet์˜ State๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

* ๐Ÿ› BottomSheet ๋™์ž‘ ์˜ค๋ฅ˜ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๋ชฉ๋ก UI ๋ณ€๊ฒฝ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ๋“ค ์‚ญ์ œ

* ๐Ÿ“ฆ MSImageFetcher ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* โ™ป๏ธ MSCacheStorage์˜ ๋ฐ˜ํ™˜ ๊ฐ’์„ ๋‹จ์ˆœ enum์—์„œ Result ํƒ€์ž…๊ณผ MSCacheError๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ˜ํ™˜

* ๐Ÿงช MSCacheStorage ์ˆ˜์ •์— ๋”ฐ๋ฅธ Test Case ์ˆ˜์ •

* โœจ MSImageFetcher ๊ตฌํ˜„

* ๐Ÿ“ฆ SelectSong ํŒจํ‚ค์ง€ & ๋ฐ๋ชจ ์•ฑ ์„ธํŒ…

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ Cell ์ถ”๊ฐ€

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ™”๋ฉด UI ๊ตฌํ˜„

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ…์ŠคํŠธํ•„๋“œ์— ํ”Œ๋ ˆ์ด์Šคํ™€๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐Ÿšš ์—ฌ์ • ์ €์žฅ ๋ชจ๋ธ ํŒŒ์ผ ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ ๋Ÿฐ์น˜ ์Šคํฌ๋ฆฐ ์ˆ˜์ •

* ๐Ÿ› Logger ์ˆ˜์ •์— ๋”ฐ๋ฅธ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿงช ๋””๋ฒ„๊น…์šฉ ์ž„์‹œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์‚ญ์ œ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Model ์ˆ˜์ •ํ•˜๊ณ  Repository ์—ฐ๊ฒฐ

* โœจ ์—ฌ์ • ์ €์žฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* ๐Ÿšš Modal Background ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* โœจ MSAlertViewController ๊ตฌํ˜„

* โœจ ํ…์ŠคํŠธํ•„๋“œ AlertViewController์—์„œ ๋ถ„๋ฆฌํ•˜๊ณ  Feature์—์„œ ์ƒ์†๋ฐ›์•„ ์ถ”๊ฐ€

* ๐ŸŽจ Alert์˜ ๋ฒ„ํŠผ์— ๋กœ์ง์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿ› AlertViewController์˜ ๋นˆ ๊ณต๊ฐ„๋„ PanGesture๊ฐ€ ๋™์ž‘ํ•˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* โ™ป๏ธ NavigateMap Model ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* ๐ŸŽจ ์ผ๋ถ€ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ Lint ์ ์šฉ

* โœจ Home๊ด€๋ จ ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ์ž„์‹œ ์ ์šฉ

* โœจ ํ—ค๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐ŸŽจ Button ๋กœ์ง ์—ฐ๊ฒฐ ์ค€๋น„ & MediaPlayer ์ค€๋น„

* โ™ป๏ธ ์—ฌ์ • ์™„๋ฃŒ SpotCell UI & ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* ๐Ÿ“ TODO ์‚ญ์ œ & ์ถ”๊ฐ€

* ๐ŸŽจ Home Scene์—์„œ ์‚ฌ์šฉํ•  isRecording์„ UserDefaults์— ๋“ฑ๋ก

* ๐ŸŽจ RecordJourney ์‚ญ์ œ

* โœจ Home Scene ๋‚ด ๋ฒ„ํŠผ delegate ์ ์šฉ ์ค‘

* โœจ MusicKit ์‚ฌ์šฉํ•œ ์Œ์•… ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ ๋ฐ๋ชจ์•ฑ Bundle Identifier ์ˆ˜์ •

* ๐Ÿ› ์ŠคํŒŸ ๋ฒ„ํŠผ์ด ํƒญ ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* ๐ŸŽจ NavigateMapButtonStackView์—์„œ private ์ œ๊ฑฐ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Song ์ฃผ์ž… ๋ฐ›์€ ํ›„ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* โœจ ์—ฌ์ • ์ด๋ฆ„ ํ™”๋ฉด ํ‚ค๋ณด๋“œ ์กฐ์ • & ์ด๋ฆ„ ๋ฐ”์ธ๋”ฉ

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

# Conflicts:
#	iOS/Features/SelectSong/Package.swift

* โœจ ์—ฌ์ • ์™„๋ฃŒ ๋กœ์ง ๊ตฌํ˜„ ์™„๋ฃŒ (๋„คํŠธ์›Œํ‚น ์ œ์™ธ)

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ NavigateMap์— MSData Dependency ์ถ”๊ฐ€

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ MSData ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐Ÿšš ๋ชจ๋ธ ํŒŒ์ผ ์‚ญ์ œ & ์ปจ๋ฒค์…˜ ์ˆ˜์ •

* ๐ŸŽจ Resolve conflict

* ๐ŸŽจ ๋ฏธ์‚ฌ์šฉ import๋ฌธ ์ž„์‹œ ์ œ๊ฑฐ

* ๐ŸŽจ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์€ CacheStorage ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿ› ์ƒ์„ฑ์ž ์ฃผ์„ ์ฒ˜๋ฆฌ ํ•ด์ œ

* Update iOS/Features/RewindJourney/Sources/RewindJourney/MSProgressViewModel.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* Update iOS/MSData/Sources/MSData/Router/Journey/JourneyRouter.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* ๐ŸŽจ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>

* Delete iOS/MSCoreKit/Sources/MSNetworking/MSRouter.swift

* ๐Ÿ“ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿ› MSLogCategory ์ปจํ”Œ๋ฆญํŠธ ์ˆ˜์ •

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ํ”„๋ ˆ์ž„์›Œํฌ ์ˆ˜์ •

* ๐Ÿ“ฆ MSCoreKit ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* fix

---------

Co-authored-by: mingun <[email protected]>
Co-authored-by: Junnos ๏ฃฟ <[email protected]>
Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>
Co-authored-by: Xerath <[email protected]>
Co-authored-by: ์œค๋™์ฃผ <[email protected]>
* ๐Ÿ› ๋จธ์ง€ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๊ธฐ๋ก์˜ ์ด๋ฏธ์ง€๋ฅผ ๋„คํŠธ์›Œํฌ๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ JourneyCell ์š”์†Œ๋“ค์—์„œ Metric ์ƒ์ˆ˜ ๋ถ„๋ฆฌ

* ๐Ÿ“ Lint ๊ทœ์น™ ์ˆ˜์ •: ์ค‘์ฒฉ ํƒ€์ž… ์กฐ๊ฑด ์™„ํ™”(warning 2 -> 3)

* ๐ŸŽจ ์ ‘๊ทผ ์ œํ•œ์ž, ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* โœจ ๋˜๊ฐ๊ธฐ ๊ธฐ๋Šฅ ์ˆ˜์ •: ์ „์— ๋ณด์—ฌ์ฃผ์—ˆ๋˜ ์ด๋ฏธ์ง€๋“ค์˜ progressView๋„ ํ•˜์ด๋ผ์ดํŠธ ์ฒ˜๋ฆฌ

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* ๐ŸŽจ Test ์ฝ”๋“œ์—์„œ Lint disable

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* [iOS] SpotScene (#114)

* ๐Ÿ“ RewindJourney ํŒจํ‚ค์ง€ ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐Ÿ“ ๊ตฌํ˜„์— ํ•„์š”ํ•œ UIKit ๊ฐ€์ ธ์˜ค๊ธฐ

* ๐Ÿ“ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ package ํŒŒ์ผ ์ˆ˜์ •

* โœจ UI Scene ๊ตฌํ˜„

* ๐Ÿ“ Package ํŒŒ์ผ ์ƒ์„ฑ

* โœจ Scene UI ํ™”๋ฉด ๊ตฌํ˜„

---------

Co-authored-by: mingun <[email protected]>

* ๐ŸŽจ ์ƒ์ˆ˜ ๋ณ€์ˆ˜ read-only๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ isHighlight -> isHighlighted

* โœจ Preview ์ถ”๊ฐ€, album art ํ‘œ์ง€ ๋ณ€๊ฒฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Package Dependency ์ œ๊ฑฐ

* Workspace ์„ธํŒ… Cherry-Pick

* ๐Ÿ‘ท CI ์ ์šฉ

* ๐Ÿ“ฆ Workspace ์„ธํŒ…, Feature ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ“ฆ commit script์— ์ถ”๊ฐ€๋œ ํŒจํ‚ค์ง€ ์ถ”๊ฐ€

* ๐Ÿ“ฆ SpotView ํŒจํ‚ค์ง€ ์ด๋ฆ„ Spot์œผ๋กœ ์ˆ˜์ •

* ๐Ÿ“ฆ RewindJourneyView โžก๏ธ RewindJourney๋กœ ํŒจํ‚ค์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* ๐Ÿ“ฆ ํ”์ ๋งŒ ์žˆ๋Š” ํŒจํ‚ค์ง€ ์ƒˆ๋กœ ์ƒ์„ฑ

* ๐ŸŽจ ๋นŒ๋“œ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ •

* ๐Ÿšš Workspace์˜ Feature๋“ค์„ ๊ทธ๋ฃนํ™”

* ๐Ÿ“ฆ Dependency๋ฅผ ํ†ตํ•œ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ

* ๐Ÿ“ฆ Workspace์— Test ํƒ€๊ฒŸ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ Core, Foundation, UIKit ํŒจํ‚ค์ง€ Dependency ์ œ๊ฑฐ

* ๐Ÿ‘ท test without build โžก๏ธ test

* ๐Ÿ“ฆ JourneyList์— MSData๋ฅผ Dependency๋กœ ์ถ”๊ฐ€

* ๐Ÿšš ๊ฐ Feature์— Demo ์•ฑ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

* ๐Ÿšš JourneyListDemo ์•ฑ ์„ธํŒ…

* ๐ŸŽจ LaunchScreen ์„ธํŒ…

* ๐Ÿ“ฆ MSFoundaiton์— Constants ํƒ€๊ฒŸ ์ถ”๊ฐ€

* โ™ป๏ธ MSCache ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ MSCacheStorage์˜ ๋ฉ”์„œ๋“œ๋“ค์— ๋ฌธ์„œํ™” ์„ค๋ช…์„ ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿšš Coordinator ํŒจํ„ด ๊ตฌ์กฐ ๊ตฌํ˜„

* ๐ŸŽจ Coordinator ๊ด€๋ จ ์ฝ”๋“œ Lint ์ ์šฉํ•˜์—ฌ ์ˆ˜์ •

* ๐Ÿ› ์บ์‹ฑ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„ ์‹คํŒจํ•˜๋Š” ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์บ์‹œ๋ฅผ ์‚ญ์ œํ•  ๋Œ€์ƒ์„ ์„ ํƒํ•ด์„œ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿงช MSCacheStorage ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ

* ๐Ÿ› iOS 16.0 ๋ฏธ๋งŒ ๋ฒ„์ „์—์„œ ์บ์‹ฑ์ด ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐ŸŽจ Layout group์˜ ๋†’์ด๋ฅผ Cell์— ์ƒ์ˆ˜๋กœ ์ •์˜๋œ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ Subtitle๋ฅผ ์ƒ์ˆ˜๋“ค๊ณผ ํ•จ๊ป˜ ๊ด€๋ฆฌ

* โœจ ์ž„์‹œ ์บ์‹ฑ ๋กœ์ง ๊ตฌํ˜„

* โœจ ํ˜„์žฌ ์œ„์น˜์—์„œ ๋‹ค์‹œ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ public API ํ•จ์ˆ˜ ์ƒ์„ฑ

* ๐ŸŽจ ๋น„์–ด์žˆ๋Š” MSData ํŒŒ์ผ ์‚ญ์ œ

* ๐ŸŽจ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐Ÿ› Dependency ์ถ”๊ฐ€

* โ™ป๏ธ Coordinator ๊ตฌ์กฐ์— Workspace ๋ธŒ๋žœ์น˜ dump

* ๐Ÿ“ฆ ํŒจํ‚ค์ง€ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ์ถ”๊ฐ€

* ๐ŸŽจ AppCoordinator ๋‚ด extension ๋ถ„๋ฆฌ, ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋‹ค์ค‘ pop ๋กœ์ง ๋ณ€๊ฒฝ

* ๐Ÿ“ CameraView ์ƒ์„ฑ

* โœจ ์นด๋ฉ”๋ผ UI ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๋กœ์ง ์ถ”๊ฐ€

* โ™ป๏ธ ์ฝ”๋“œ ์ •๋ฆฌ ๋ฐ ๊ตฌ์กฐ ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ ์ด๋ฏธ์ง€ ์†ก์ถœํ•ด์ฃผ๋Š” ๋กœ์ง์„ ๋‹ค๋ฃฐ viewModel ํŒŒ์ผ ์ƒ์„ฑ

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜์— ๋งž์ถ˜ ์ฝ”๋“œ ์ˆ˜์ •

* ๐ŸŽจ Commit ํŒŒ์ผ ์ˆ˜์ •

* ๐ŸŽจ Lint ๊ทœ์น™์— ๋งž์ถ”์–ด ์ฝ”๋“œ ์ˆ˜์ • + Demo App ์…‹ํŒ…

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜ ๋งž์ถ”์–ด ์ˆ˜์ •

* ๐Ÿ“ Demo App ์นด๋ฉ”๋ผ ํ™˜๊ฒฝ์„ค์ •

* ๐Ÿ› ์ „์— ๋„์› ๋˜ ํ™”๋ฉด์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ๋ชปํ•˜๋Š” ํ˜„์ƒ ๋ฒ„๊ทธ ํ”ฝ์Šค

* ๐ŸŽจ ์—ฌ์ • ์ €์žฅ Demo ์•ฑ ์„ธํŒ…

* ๐Ÿ“ Package MSNetworking, MSData ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ํƒ€์ž… ํ”„๋กœํผํ‹ฐ ์ˆ˜์ •

* โœจ ์—ฌ์ • ์ €์žฅ ํ™”๋ฉด ํ•˜๋‹จ์— ๋ฒ„ํŠผ ์Šคํƒ ์ถ”๊ฐ€

* โ™ป๏ธ Tree ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ Coordinator ๊ตฌํ˜„

* ๐Ÿ“ฆ ์—ฌ์ • ์ €์žฅ ํŒจํ‚ค์ง€์˜ Dependency์— MSData ์ถ”๊ฐ€

* ๐Ÿ“ฆ MSData ํŒจํ‚ค์ง€ ์ƒ์„ฑ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift
#	iOS/MSData/Package.swift
#	iOS/MusicSpot.xcworkspace/contents.xcworkspacedata
#	iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj

* ๐Ÿšš DTO ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ DTO์— public ์ถ”๊ฐ€

* โœจ Journey Mock ๋ฐ์ดํ„ฐ ์ ์šฉ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/Features/JourneyList/Sources/JourneyList/File.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Presentation/JourneyListViewModel.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Song.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Spot.swift
#	iOS/MSData/Resources/MockJourney.json
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ MSNetworking ์š”์†Œ๋“ค์— public ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* โ™ป๏ธ MSNetworking URL ๊ตฌ์กฐ ๋ณ€๊ฒฝ & Header ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* ๐ŸŽจ MSNetworking Error ์ด๋ฆ„ ๋ณ€๊ฒฝ & ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ MSNetworking์— timeout ์ถ”๊ฐ€

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* โœจ Journey Router ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋ˆ„๋ฝ๋œ popViewController ์ถ”๊ฐ€

* ๐Ÿ› ์—ฌ์ • ์ €์žฅ Demo์•ฑ์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์ˆ˜์ •

* ๐Ÿ“ MSNetworking ์— ๋Œ€ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO, ๋ณด๋‚ด๋Š” ์šฉ๊ณผ ๋ฐ›๋Š” ์šฉ์œผ๋กœ ํƒ€์ž… ๋ถ„๋ฆฌ

* ๐ŸŽจ Spot์— ๋Œ€ํ•œ router case ์ถ”๊ฐ€

* ๐ŸŽจ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐ŸŽจ ๋ช…์‹œ์  self ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO ์ƒ์„ฑ์ž ์ ‘๊ทผ ์ œํ•œ ์ˆ˜์ •

* ๐ŸŽจ SpotDTO์— ํ•„์š”ํ•œ ์ฝ”๋“œ ์ถ”๊ฐ€

* ๐Ÿ› SearchMusic์— ๋Œ€ํ•œ ์ž˜๋ชป๋œ ํ๋ฆ„์„ ์ˆ˜์ •

* ๐ŸŽจ ์—ฌ์ • ๋ฆฌ์ŠคํŠธ ์ž„์‹œ ์ˆ˜์ •

* ๐ŸŽจ ResponsibleDTO ์ž„์‹œ๋กœ Codable ์ฒ˜๋ฆฌ(ํšŒ์˜ ํ•„์š”)

* ๐ŸŽจ DTOConvertor ์ˆ˜์ •

* ๐Ÿšš ๋ˆ„๋ฝ๋œ ํŒŒ์ผ ์ถ”๊ฐ€

* ๐Ÿ“ Workspace ๋ฌธ์„œ ์ˆ˜์ •

* ๐Ÿ› JourneyList์˜ DTO ์—…๋ฐ์ดํŠธ

* ๐Ÿšš HomeMapScene ํŒจํ‚ค์ง€ ์‚ญ์ œ

* ๐ŸŽจ Resolve conflict

* [iOS] HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„ (#94)

* ๐Ÿšš (HomeMapScene): HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„

* โ™ป๏ธ Features ํด๋” ์ƒ์„ฑ

Module ๋‹จ์œ„ ๊ตฌ์กฐ๋กœ ์ธํ•ด Lint๋ฅผ ๋ชจ๋‘ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ•˜๋‚˜์˜ Features ํด๋” ์ƒ์„ฑ

* ๐ŸŽจ ๋ถˆํ•„์š”ํ•œ ์ค‘๋ณต ์ฝ”๋“œ ๋ฐ ๋ฏธ์‚ฌ์šฉ ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ๋‹ค๋ฅธ Package๋“ค ์ถ”๊ฐ€

* ๐ŸŽจ HomeMapScene Package ์„ค์ • ๋ณ€๊ฒฝ

* ๐Ÿšš Workspace ์ˆ˜์ •

* [iOS] ์—ฌ์ • ์™„๋ฃŒ Scene UI (#120)

* [iOS] MSButton ์ถ”๊ฐ€ (#73)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* โœจ MSButton & MSRectButton ์ถ”๊ฐ€

* [iOS] MSDesignSystem (#72)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* ๐Ÿ“ฆ JourneyListScene ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ‘ท SwiftLint ์ˆ˜์ •

* โœจ JourneyListViewController์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌํ•ญ ๊ตฌํ˜„

* โœจ JourneyList ํ—ค๋”์™€ Cell ์ถ”๊ฐ€

* ๐ŸŽจ ์“ฐ์ด์ง€ ์•Š๋Š” ํด๋กœ์ € ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

* โœจ JourneyListViewController ๊ตฌํ˜„

* โœจ StackView์— ์‚ฌ์šฉํ•  Spacer ์ถ”๊ฐ€

* โœจ ๋ˆ„๋ฝ๋œ Color ์ถ”๊ฐ€

* โœจ JourneyList UI ๊ตฌํ˜„

* ๐ŸŽจ ๋งค์ง ๋„˜๋ฒ„ Constantํ™”

* ๐Ÿšš ํ…Œ์ŠคํŠธ์šฉ ์•ฑ ํƒ€๊ฒŸ ์ฝ”๋“œ ์ œ๊ฑฐ & Dependency ํ•ด์ œ

* โ™ป๏ธ ์—ฌ์ • Cell์„ ๋ฆฌํŒฉํ† ๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

* ๐ŸŽจ Lint ์—๋Ÿฌ ๋Œ€์‘

* โ™ป๏ธ DataSource ๊ตฌ์กฐ์™€ Layout ๋ณ€๊ฒฝ

* โœจ ์—ฌ์ • ์ €์žฅ Spot Cell๊นŒ์ง€ UI ๊ตฌํ˜„

* ๐ŸŽจ Magic Number Constant๋กœ ๊ด€๋ฆฌ

* โœจ ์—ฌ์ • ์ €์žฅ UI ๊ตฌํ˜„

* ๐Ÿ“ฆ ํ…Œ์ŠคํŠธ ์•ฑ ํƒ€๊ฒŸ ์ œ๊ฑฐ

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ์ค‘๋ณต ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ํŒจํ‚ค์ง€ ์„ธํŒ… ํ•ด๊ฒฐ

* ๐Ÿšš ์ž„์‹œ ViewController๋“ค ์‚ญ์ œ

* โœจ Home (NavigateMap & JourneyList) ์ฝ”๋””๋„ค์ดํ„ฐ๋กœ ์—ฐ๊ฒฐ

* โœจ RewindJourney ์ฝ”๋””๋„ค์ดํ„ฐ ์—ฐ๊ฒฐ

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ์—ฌ์ • ๋ชฉ๋ก์ด ์Šคํฌ๋กค ๋˜๋Š” ๋™์•ˆ BottomSheet๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* โœจ BottomSheet์— Resize Indicator ์ถ”๊ฐ€

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Delegate ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ“ฆ MSUIKit์— MSLogger Dependency๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  Bottom Sheet์˜ State๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

* ๐Ÿ› BottomSheet ๋™์ž‘ ์˜ค๋ฅ˜ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๋ชฉ๋ก UI ๋ณ€๊ฒฝ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ๋“ค ์‚ญ์ œ

* ๐Ÿ“ฆ MSImageFetcher ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* โ™ป๏ธ MSCacheStorage์˜ ๋ฐ˜ํ™˜ ๊ฐ’์„ ๋‹จ์ˆœ enum์—์„œ Result ํƒ€์ž…๊ณผ MSCacheError๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ˜ํ™˜

* ๐Ÿงช MSCacheStorage ์ˆ˜์ •์— ๋”ฐ๋ฅธ Test Case ์ˆ˜์ •

* โœจ MSImageFetcher ๊ตฌํ˜„

* ๐Ÿ“ฆ SelectSong ํŒจํ‚ค์ง€ & ๋ฐ๋ชจ ์•ฑ ์„ธํŒ…

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ Cell ์ถ”๊ฐ€

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ™”๋ฉด UI ๊ตฌํ˜„

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ…์ŠคํŠธํ•„๋“œ์— ํ”Œ๋ ˆ์ด์Šคํ™€๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐Ÿšš ์—ฌ์ • ์ €์žฅ ๋ชจ๋ธ ํŒŒ์ผ ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ ๋Ÿฐ์น˜ ์Šคํฌ๋ฆฐ ์ˆ˜์ •

* ๐Ÿ› Logger ์ˆ˜์ •์— ๋”ฐ๋ฅธ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿงช ๋””๋ฒ„๊น…์šฉ ์ž„์‹œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์‚ญ์ œ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Model ์ˆ˜์ •ํ•˜๊ณ  Repository ์—ฐ๊ฒฐ

* โœจ ์—ฌ์ • ์ €์žฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* ๐Ÿšš Modal Background ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* โœจ MSAlertViewController ๊ตฌํ˜„

* โœจ ํ…์ŠคํŠธํ•„๋“œ AlertViewController์—์„œ ๋ถ„๋ฆฌํ•˜๊ณ  Feature์—์„œ ์ƒ์†๋ฐ›์•„ ์ถ”๊ฐ€

* ๐ŸŽจ Alert์˜ ๋ฒ„ํŠผ์— ๋กœ์ง์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿ› AlertViewController์˜ ๋นˆ ๊ณต๊ฐ„๋„ PanGesture๊ฐ€ ๋™์ž‘ํ•˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* โ™ป๏ธ NavigateMap Model ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* ๐ŸŽจ ์ผ๋ถ€ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ Lint ์ ์šฉ

* โœจ Home๊ด€๋ จ ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ์ž„์‹œ ์ ์šฉ

* โœจ ํ—ค๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐ŸŽจ Button ๋กœ์ง ์—ฐ๊ฒฐ ์ค€๋น„ & MediaPlayer ์ค€๋น„

* โ™ป๏ธ ์—ฌ์ • ์™„๋ฃŒ SpotCell UI & ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* ๐Ÿ“ TODO ์‚ญ์ œ & ์ถ”๊ฐ€

* ๐ŸŽจ Home Scene์—์„œ ์‚ฌ์šฉํ•  isRecording์„ UserDefaults์— ๋“ฑ๋ก

* ๐ŸŽจ RecordJourney ์‚ญ์ œ

* โœจ Home Scene ๋‚ด ๋ฒ„ํŠผ delegate ์ ์šฉ ์ค‘

* โœจ MusicKit ์‚ฌ์šฉํ•œ ์Œ์•… ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ ๋ฐ๋ชจ์•ฑ Bundle Identifier ์ˆ˜์ •

* ๐Ÿ› ์ŠคํŒŸ ๋ฒ„ํŠผ์ด ํƒญ ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* ๐ŸŽจ NavigateMapButtonStackView์—์„œ private ์ œ๊ฑฐ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Song ์ฃผ์ž… ๋ฐ›์€ ํ›„ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* โœจ ์—ฌ์ • ์ด๋ฆ„ ํ™”๋ฉด ํ‚ค๋ณด๋“œ ์กฐ์ • & ์ด๋ฆ„ ๋ฐ”์ธ๋”ฉ

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

# Conflicts:
#	iOS/Features/SelectSong/Package.swift

* โœจ ์—ฌ์ • ์™„๋ฃŒ ๋กœ์ง ๊ตฌํ˜„ ์™„๋ฃŒ (๋„คํŠธ์›Œํ‚น ์ œ์™ธ)

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ NavigateMap์— MSData Dependency ์ถ”๊ฐ€

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ MSData ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐Ÿšš ๋ชจ๋ธ ํŒŒ์ผ ์‚ญ์ œ & ์ปจ๋ฒค์…˜ ์ˆ˜์ •

* ๐ŸŽจ Resolve conflict

* ๐ŸŽจ ๋ฏธ์‚ฌ์šฉ import๋ฌธ ์ž„์‹œ ์ œ๊ฑฐ

* ๐ŸŽจ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์€ CacheStorage ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿ› ์ƒ์„ฑ์ž ์ฃผ์„ ์ฒ˜๋ฆฌ ํ•ด์ œ

* Update iOS/Features/RewindJourney/Sources/RewindJourney/MSProgressViewModel.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* Update iOS/MSData/Sources/MSData/Router/Journey/JourneyRouter.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* ๐ŸŽจ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>

* Delete iOS/MSCoreKit/Sources/MSNetworking/MSRouter.swift

* ๐Ÿ“ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿ› MSLogCategory ์ปจํ”Œ๋ฆญํŠธ ์ˆ˜์ •

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ํ”„๋ ˆ์ž„์›Œํฌ ์ˆ˜์ •

* ๐Ÿ“ฆ MSCoreKit ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โ™ป๏ธ ์˜๋ฏธ์—†๋Š” ๋ถ€๋ถ„ ์ œ๊ฑฐ

* โ™ป๏ธ ์˜๋ฏธ์—†๋Š” ๋ถ€๋ถ„ ์ˆ˜์ •

* โ™ป๏ธ Spot ์ €์žฅ ์‹œ coordinate์— ์ถ”๊ฐ€

---------

Co-authored-by: Junnos ๏ฃฟ <[email protected]>
Co-authored-by: mingun <[email protected]>
Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>
Co-authored-by: Xerath <[email protected]>
Co-authored-by: ์œค๋™์ฃผ <[email protected]>
* ๐Ÿ› ๋จธ์ง€ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๊ธฐ๋ก์˜ ์ด๋ฏธ์ง€๋ฅผ ๋„คํŠธ์›Œํฌ๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ JourneyCell ์š”์†Œ๋“ค์—์„œ Metric ์ƒ์ˆ˜ ๋ถ„๋ฆฌ

* ๐Ÿ“ Lint ๊ทœ์น™ ์ˆ˜์ •: ์ค‘์ฒฉ ํƒ€์ž… ์กฐ๊ฑด ์™„ํ™”(warning 2 -> 3)

* ๐ŸŽจ ์ ‘๊ทผ ์ œํ•œ์ž, ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* โœจ ๋˜๊ฐ๊ธฐ ๊ธฐ๋Šฅ ์ˆ˜์ •: ์ „์— ๋ณด์—ฌ์ฃผ์—ˆ๋˜ ์ด๋ฏธ์ง€๋“ค์˜ progressView๋„ ํ•˜์ด๋ผ์ดํŠธ ์ฒ˜๋ฆฌ

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* ๐ŸŽจ Test ์ฝ”๋“œ์—์„œ Lint disable

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* [iOS] SpotScene (#114)

* ๐Ÿ“ RewindJourney ํŒจํ‚ค์ง€ ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐Ÿ“ ๊ตฌํ˜„์— ํ•„์š”ํ•œ UIKit ๊ฐ€์ ธ์˜ค๊ธฐ

* ๐Ÿ“ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ package ํŒŒ์ผ ์ˆ˜์ •

* โœจ UI Scene ๊ตฌํ˜„

* ๐Ÿ“ Package ํŒŒ์ผ ์ƒ์„ฑ

* โœจ Scene UI ํ™”๋ฉด ๊ตฌํ˜„

---------

Co-authored-by: mingun <[email protected]>

* ๐ŸŽจ ์ƒ์ˆ˜ ๋ณ€์ˆ˜ read-only๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ isHighlight -> isHighlighted

* โœจ Preview ์ถ”๊ฐ€, album art ํ‘œ์ง€ ๋ณ€๊ฒฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Package Dependency ์ œ๊ฑฐ

* Workspace ์„ธํŒ… Cherry-Pick

* ๐Ÿ‘ท CI ์ ์šฉ

* ๐Ÿ“ฆ Workspace ์„ธํŒ…, Feature ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ“ฆ commit script์— ์ถ”๊ฐ€๋œ ํŒจํ‚ค์ง€ ์ถ”๊ฐ€

* ๐Ÿ“ฆ SpotView ํŒจํ‚ค์ง€ ์ด๋ฆ„ Spot์œผ๋กœ ์ˆ˜์ •

* ๐Ÿ“ฆ RewindJourneyView โžก๏ธ RewindJourney๋กœ ํŒจํ‚ค์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* ๐Ÿ“ฆ ํ”์ ๋งŒ ์žˆ๋Š” ํŒจํ‚ค์ง€ ์ƒˆ๋กœ ์ƒ์„ฑ

* ๐ŸŽจ ๋นŒ๋“œ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ •

* ๐Ÿšš Workspace์˜ Feature๋“ค์„ ๊ทธ๋ฃนํ™”

* ๐Ÿ“ฆ Dependency๋ฅผ ํ†ตํ•œ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ

* ๐Ÿ“ฆ Workspace์— Test ํƒ€๊ฒŸ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ Core, Foundation, UIKit ํŒจํ‚ค์ง€ Dependency ์ œ๊ฑฐ

* ๐Ÿ‘ท test without build โžก๏ธ test

* ๐Ÿ“ฆ JourneyList์— MSData๋ฅผ Dependency๋กœ ์ถ”๊ฐ€

* ๐Ÿšš ๊ฐ Feature์— Demo ์•ฑ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

* ๐Ÿšš JourneyListDemo ์•ฑ ์„ธํŒ…

* ๐ŸŽจ LaunchScreen ์„ธํŒ…

* ๐Ÿ“ฆ MSFoundaiton์— Constants ํƒ€๊ฒŸ ์ถ”๊ฐ€

* โ™ป๏ธ MSCache ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ MSCacheStorage์˜ ๋ฉ”์„œ๋“œ๋“ค์— ๋ฌธ์„œํ™” ์„ค๋ช…์„ ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿšš Coordinator ํŒจํ„ด ๊ตฌ์กฐ ๊ตฌํ˜„

* ๐ŸŽจ Coordinator ๊ด€๋ จ ์ฝ”๋“œ Lint ์ ์šฉํ•˜์—ฌ ์ˆ˜์ •

* ๐Ÿ› ์บ์‹ฑ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„ ์‹คํŒจํ•˜๋Š” ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์บ์‹œ๋ฅผ ์‚ญ์ œํ•  ๋Œ€์ƒ์„ ์„ ํƒํ•ด์„œ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿงช MSCacheStorage ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ

* ๐Ÿ› iOS 16.0 ๋ฏธ๋งŒ ๋ฒ„์ „์—์„œ ์บ์‹ฑ์ด ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐ŸŽจ Layout group์˜ ๋†’์ด๋ฅผ Cell์— ์ƒ์ˆ˜๋กœ ์ •์˜๋œ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ Subtitle๋ฅผ ์ƒ์ˆ˜๋“ค๊ณผ ํ•จ๊ป˜ ๊ด€๋ฆฌ

* โœจ ์ž„์‹œ ์บ์‹ฑ ๋กœ์ง ๊ตฌํ˜„

* โœจ ํ˜„์žฌ ์œ„์น˜์—์„œ ๋‹ค์‹œ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ public API ํ•จ์ˆ˜ ์ƒ์„ฑ

* ๐ŸŽจ ๋น„์–ด์žˆ๋Š” MSData ํŒŒ์ผ ์‚ญ์ œ

* ๐ŸŽจ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐Ÿ› Dependency ์ถ”๊ฐ€

* โ™ป๏ธ Coordinator ๊ตฌ์กฐ์— Workspace ๋ธŒ๋žœ์น˜ dump

* ๐Ÿ“ฆ ํŒจํ‚ค์ง€ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ์ถ”๊ฐ€

* ๐ŸŽจ AppCoordinator ๋‚ด extension ๋ถ„๋ฆฌ, ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋‹ค์ค‘ pop ๋กœ์ง ๋ณ€๊ฒฝ

* ๐Ÿ“ CameraView ์ƒ์„ฑ

* โœจ ์นด๋ฉ”๋ผ UI ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๋กœ์ง ์ถ”๊ฐ€

* โ™ป๏ธ ์ฝ”๋“œ ์ •๋ฆฌ ๋ฐ ๊ตฌ์กฐ ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ ์ด๋ฏธ์ง€ ์†ก์ถœํ•ด์ฃผ๋Š” ๋กœ์ง์„ ๋‹ค๋ฃฐ viewModel ํŒŒ์ผ ์ƒ์„ฑ

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜์— ๋งž์ถ˜ ์ฝ”๋“œ ์ˆ˜์ •

* ๐ŸŽจ Commit ํŒŒ์ผ ์ˆ˜์ •

* ๐ŸŽจ Lint ๊ทœ์น™์— ๋งž์ถ”์–ด ์ฝ”๋“œ ์ˆ˜์ • + Demo App ์…‹ํŒ…

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜ ๋งž์ถ”์–ด ์ˆ˜์ •

* ๐Ÿ“ Demo App ์นด๋ฉ”๋ผ ํ™˜๊ฒฝ์„ค์ •

* ๐Ÿ› ์ „์— ๋„์› ๋˜ ํ™”๋ฉด์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ๋ชปํ•˜๋Š” ํ˜„์ƒ ๋ฒ„๊ทธ ํ”ฝ์Šค

* ๐ŸŽจ ์—ฌ์ • ์ €์žฅ Demo ์•ฑ ์„ธํŒ…

* ๐Ÿ“ Package MSNetworking, MSData ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ํƒ€์ž… ํ”„๋กœํผํ‹ฐ ์ˆ˜์ •

* โœจ ์—ฌ์ • ์ €์žฅ ํ™”๋ฉด ํ•˜๋‹จ์— ๋ฒ„ํŠผ ์Šคํƒ ์ถ”๊ฐ€

* โ™ป๏ธ Tree ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ Coordinator ๊ตฌํ˜„

* ๐Ÿ“ฆ ์—ฌ์ • ์ €์žฅ ํŒจํ‚ค์ง€์˜ Dependency์— MSData ์ถ”๊ฐ€

* ๐Ÿ“ฆ MSData ํŒจํ‚ค์ง€ ์ƒ์„ฑ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift
#	iOS/MSData/Package.swift
#	iOS/MusicSpot.xcworkspace/contents.xcworkspacedata
#	iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj

* ๐Ÿšš DTO ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ DTO์— public ์ถ”๊ฐ€

* โœจ Journey Mock ๋ฐ์ดํ„ฐ ์ ์šฉ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/Features/JourneyList/Sources/JourneyList/File.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Presentation/JourneyListViewModel.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Song.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Spot.swift
#	iOS/MSData/Resources/MockJourney.json
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ MSNetworking ์š”์†Œ๋“ค์— public ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* โ™ป๏ธ MSNetworking URL ๊ตฌ์กฐ ๋ณ€๊ฒฝ & Header ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* ๐ŸŽจ MSNetworking Error ์ด๋ฆ„ ๋ณ€๊ฒฝ & ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ MSNetworking์— timeout ์ถ”๊ฐ€

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* โœจ Journey Router ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋ˆ„๋ฝ๋œ popViewController ์ถ”๊ฐ€

* ๐Ÿ› ์—ฌ์ • ์ €์žฅ Demo์•ฑ์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์ˆ˜์ •

* ๐Ÿ“ MSNetworking ์— ๋Œ€ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO, ๋ณด๋‚ด๋Š” ์šฉ๊ณผ ๋ฐ›๋Š” ์šฉ์œผ๋กœ ํƒ€์ž… ๋ถ„๋ฆฌ

* ๐ŸŽจ Spot์— ๋Œ€ํ•œ router case ์ถ”๊ฐ€

* ๐ŸŽจ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐ŸŽจ ๋ช…์‹œ์  self ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO ์ƒ์„ฑ์ž ์ ‘๊ทผ ์ œํ•œ ์ˆ˜์ •

* ๐ŸŽจ SpotDTO์— ํ•„์š”ํ•œ ์ฝ”๋“œ ์ถ”๊ฐ€

* ๐Ÿ› SearchMusic์— ๋Œ€ํ•œ ์ž˜๋ชป๋œ ํ๋ฆ„์„ ์ˆ˜์ •

* ๐ŸŽจ ์—ฌ์ • ๋ฆฌ์ŠคํŠธ ์ž„์‹œ ์ˆ˜์ •

* ๐ŸŽจ ResponsibleDTO ์ž„์‹œ๋กœ Codable ์ฒ˜๋ฆฌ(ํšŒ์˜ ํ•„์š”)

* ๐ŸŽจ DTOConvertor ์ˆ˜์ •

* ๐Ÿšš ๋ˆ„๋ฝ๋œ ํŒŒ์ผ ์ถ”๊ฐ€

* ๐Ÿ“ Workspace ๋ฌธ์„œ ์ˆ˜์ •

* ๐Ÿ› JourneyList์˜ DTO ์—…๋ฐ์ดํŠธ

* ๐Ÿšš HomeMapScene ํŒจํ‚ค์ง€ ์‚ญ์ œ

* ๐ŸŽจ Resolve conflict

* [iOS] HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„ (#94)

* ๐Ÿšš (HomeMapScene): HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„

* โ™ป๏ธ Features ํด๋” ์ƒ์„ฑ

Module ๋‹จ์œ„ ๊ตฌ์กฐ๋กœ ์ธํ•ด Lint๋ฅผ ๋ชจ๋‘ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ•˜๋‚˜์˜ Features ํด๋” ์ƒ์„ฑ

* ๐ŸŽจ ๋ถˆํ•„์š”ํ•œ ์ค‘๋ณต ์ฝ”๋“œ ๋ฐ ๋ฏธ์‚ฌ์šฉ ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ๋‹ค๋ฅธ Package๋“ค ์ถ”๊ฐ€

* ๐ŸŽจ HomeMapScene Package ์„ค์ • ๋ณ€๊ฒฝ

* ๐Ÿšš Workspace ์ˆ˜์ •

* [iOS] ์—ฌ์ • ์™„๋ฃŒ Scene UI (#120)

* [iOS] MSButton ์ถ”๊ฐ€ (#73)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* โœจ MSButton & MSRectButton ์ถ”๊ฐ€

* [iOS] MSDesignSystem (#72)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* ๐Ÿ“ฆ JourneyListScene ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ‘ท SwiftLint ์ˆ˜์ •

* โœจ JourneyListViewController์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌํ•ญ ๊ตฌํ˜„

* โœจ JourneyList ํ—ค๋”์™€ Cell ์ถ”๊ฐ€

* ๐ŸŽจ ์“ฐ์ด์ง€ ์•Š๋Š” ํด๋กœ์ € ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

* โœจ JourneyListViewController ๊ตฌํ˜„

* โœจ StackView์— ์‚ฌ์šฉํ•  Spacer ์ถ”๊ฐ€

* โœจ ๋ˆ„๋ฝ๋œ Color ์ถ”๊ฐ€

* โœจ JourneyList UI ๊ตฌํ˜„

* ๐ŸŽจ ๋งค์ง ๋„˜๋ฒ„ Constantํ™”

* ๐Ÿšš ํ…Œ์ŠคํŠธ์šฉ ์•ฑ ํƒ€๊ฒŸ ์ฝ”๋“œ ์ œ๊ฑฐ & Dependency ํ•ด์ œ

* โ™ป๏ธ ์—ฌ์ • Cell์„ ๋ฆฌํŒฉํ† ๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

* ๐ŸŽจ Lint ์—๋Ÿฌ ๋Œ€์‘

* โ™ป๏ธ DataSource ๊ตฌ์กฐ์™€ Layout ๋ณ€๊ฒฝ

* โœจ ์—ฌ์ • ์ €์žฅ Spot Cell๊นŒ์ง€ UI ๊ตฌํ˜„

* ๐ŸŽจ Magic Number Constant๋กœ ๊ด€๋ฆฌ

* โœจ ์—ฌ์ • ์ €์žฅ UI ๊ตฌํ˜„

* ๐Ÿ“ฆ ํ…Œ์ŠคํŠธ ์•ฑ ํƒ€๊ฒŸ ์ œ๊ฑฐ

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ์ค‘๋ณต ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ํŒจํ‚ค์ง€ ์„ธํŒ… ํ•ด๊ฒฐ

* ๐Ÿšš ์ž„์‹œ ViewController๋“ค ์‚ญ์ œ

* โœจ Home (NavigateMap & JourneyList) ์ฝ”๋””๋„ค์ดํ„ฐ๋กœ ์—ฐ๊ฒฐ

* โœจ RewindJourney ์ฝ”๋””๋„ค์ดํ„ฐ ์—ฐ๊ฒฐ

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ์—ฌ์ • ๋ชฉ๋ก์ด ์Šคํฌ๋กค ๋˜๋Š” ๋™์•ˆ BottomSheet๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* โœจ BottomSheet์— Resize Indicator ์ถ”๊ฐ€

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Delegate ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ“ฆ MSUIKit์— MSLogger Dependency๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  Bottom Sheet์˜ State๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

* ๐Ÿ› BottomSheet ๋™์ž‘ ์˜ค๋ฅ˜ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๋ชฉ๋ก UI ๋ณ€๊ฒฝ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ๋“ค ์‚ญ์ œ

* ๐Ÿ“ฆ MSImageFetcher ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* โ™ป๏ธ MSCacheStorage์˜ ๋ฐ˜ํ™˜ ๊ฐ’์„ ๋‹จ์ˆœ enum์—์„œ Result ํƒ€์ž…๊ณผ MSCacheError๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ˜ํ™˜

* ๐Ÿงช MSCacheStorage ์ˆ˜์ •์— ๋”ฐ๋ฅธ Test Case ์ˆ˜์ •

* โœจ MSImageFetcher ๊ตฌํ˜„

* ๐Ÿ“ฆ SelectSong ํŒจํ‚ค์ง€ & ๋ฐ๋ชจ ์•ฑ ์„ธํŒ…

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ Cell ์ถ”๊ฐ€

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ™”๋ฉด UI ๊ตฌํ˜„

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ…์ŠคํŠธํ•„๋“œ์— ํ”Œ๋ ˆ์ด์Šคํ™€๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐Ÿšš ์—ฌ์ • ์ €์žฅ ๋ชจ๋ธ ํŒŒ์ผ ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ ๋Ÿฐ์น˜ ์Šคํฌ๋ฆฐ ์ˆ˜์ •

* ๐Ÿ› Logger ์ˆ˜์ •์— ๋”ฐ๋ฅธ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿงช ๋””๋ฒ„๊น…์šฉ ์ž„์‹œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์‚ญ์ œ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Model ์ˆ˜์ •ํ•˜๊ณ  Repository ์—ฐ๊ฒฐ

* โœจ ์—ฌ์ • ์ €์žฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* ๐Ÿšš Modal Background ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* โœจ MSAlertViewController ๊ตฌํ˜„

* โœจ ํ…์ŠคํŠธํ•„๋“œ AlertViewController์—์„œ ๋ถ„๋ฆฌํ•˜๊ณ  Feature์—์„œ ์ƒ์†๋ฐ›์•„ ์ถ”๊ฐ€

* ๐ŸŽจ Alert์˜ ๋ฒ„ํŠผ์— ๋กœ์ง์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿ› AlertViewController์˜ ๋นˆ ๊ณต๊ฐ„๋„ PanGesture๊ฐ€ ๋™์ž‘ํ•˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* โ™ป๏ธ NavigateMap Model ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* ๐ŸŽจ ์ผ๋ถ€ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ Lint ์ ์šฉ

* โœจ Home๊ด€๋ จ ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ์ž„์‹œ ์ ์šฉ

* โœจ ํ—ค๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐ŸŽจ Button ๋กœ์ง ์—ฐ๊ฒฐ ์ค€๋น„ & MediaPlayer ์ค€๋น„

* โ™ป๏ธ ์—ฌ์ • ์™„๋ฃŒ SpotCell UI & ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* ๐Ÿ“ TODO ์‚ญ์ œ & ์ถ”๊ฐ€

* ๐ŸŽจ Home Scene์—์„œ ์‚ฌ์šฉํ•  isRecording์„ UserDefaults์— ๋“ฑ๋ก

* ๐ŸŽจ RecordJourney ์‚ญ์ œ

* โœจ Home Scene ๋‚ด ๋ฒ„ํŠผ delegate ์ ์šฉ ์ค‘

* โœจ MusicKit ์‚ฌ์šฉํ•œ ์Œ์•… ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ ๋ฐ๋ชจ์•ฑ Bundle Identifier ์ˆ˜์ •

* ๐Ÿ› ์ŠคํŒŸ ๋ฒ„ํŠผ์ด ํƒญ ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* ๐ŸŽจ NavigateMapButtonStackView์—์„œ private ์ œ๊ฑฐ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Song ์ฃผ์ž… ๋ฐ›์€ ํ›„ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* โœจ ์—ฌ์ • ์ด๋ฆ„ ํ™”๋ฉด ํ‚ค๋ณด๋“œ ์กฐ์ • & ์ด๋ฆ„ ๋ฐ”์ธ๋”ฉ

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

# Conflicts:
#	iOS/Features/SelectSong/Package.swift

* โœจ ์—ฌ์ • ์™„๋ฃŒ ๋กœ์ง ๊ตฌํ˜„ ์™„๋ฃŒ (๋„คํŠธ์›Œํ‚น ์ œ์™ธ)

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ NavigateMap์— MSData Dependency ์ถ”๊ฐ€

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ MSData ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐Ÿšš ๋ชจ๋ธ ํŒŒ์ผ ์‚ญ์ œ & ์ปจ๋ฒค์…˜ ์ˆ˜์ •

* ๐ŸŽจ Resolve conflict

* ๐ŸŽจ ๋ฏธ์‚ฌ์šฉ import๋ฌธ ์ž„์‹œ ์ œ๊ฑฐ

* ๐ŸŽจ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์€ CacheStorage ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿ› ์ƒ์„ฑ์ž ์ฃผ์„ ์ฒ˜๋ฆฌ ํ•ด์ œ

* Update iOS/Features/RewindJourney/Sources/RewindJourney/MSProgressViewModel.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* Update iOS/MSData/Sources/MSData/Router/Journey/JourneyRouter.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* ๐ŸŽจ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>

* Delete iOS/MSCoreKit/Sources/MSNetworking/MSRouter.swift

* ๐Ÿ“ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿ› MSLogCategory ์ปจํ”Œ๋ฆญํŠธ ์ˆ˜์ •

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ํ”„๋ ˆ์ž„์›Œํฌ ์ˆ˜์ •

* ๐Ÿ“ฆ MSCoreKit ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โ™ป๏ธ 2์ฐจ์› ๋ฐฐ์—ด ํŒ ๋ณ„ ๋กœ์ง ์ˆ˜์ •

* โ™ป๏ธ Spot ์ €์žฅ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

\

---------

Co-authored-by: Junnos ๏ฃฟ <[email protected]>
Co-authored-by: mingun <[email protected]>
Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>
Co-authored-by: Xerath <[email protected]>
Co-authored-by: ์œค๋™์ฃผ <[email protected]>
* โœจ Preview ์ถ”๊ฐ€

* ๐ŸŽจ Lint ๊ทœ์น™ ์ ์šฉ

* ๐ŸŽจ Lint ๊ทœ์น™ ์ ์šฉ

* ๐ŸŽจ Package ํŒŒ์ผ Lint ๊ทœ์น™์— ๋งž์ถ”์–ด ์ˆ˜์ •

* โœจ Journey Mock ๋ฐ์ดํ„ฐ ์ ์šฉ

* ๐Ÿ› ๋จธ์ง€ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๊ธฐ๋ก์˜ ์ด๋ฏธ์ง€๋ฅผ ๋„คํŠธ์›Œํฌ๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ JourneyCell ์š”์†Œ๋“ค์—์„œ Metric ์ƒ์ˆ˜ ๋ถ„๋ฆฌ

* ๐Ÿ“ Lint ๊ทœ์น™ ์ˆ˜์ •: ์ค‘์ฒฉ ํƒ€์ž… ์กฐ๊ฑด ์™„ํ™”(warning 2 -> 3)

* ๐ŸŽจ ์ ‘๊ทผ ์ œํ•œ์ž, ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* โœจ ๋˜๊ฐ๊ธฐ ๊ธฐ๋Šฅ ์ˆ˜์ •: ์ „์— ๋ณด์—ฌ์ฃผ์—ˆ๋˜ ์ด๋ฏธ์ง€๋“ค์˜ progressView๋„ ํ•˜์ด๋ผ์ดํŠธ ์ฒ˜๋ฆฌ

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* ๐ŸŽจ Test ์ฝ”๋“œ์—์„œ Lint disable

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* [iOS] SpotScene (#114)

* ๐Ÿ“ RewindJourney ํŒจํ‚ค์ง€ ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐Ÿ“ ๊ตฌํ˜„์— ํ•„์š”ํ•œ UIKit ๊ฐ€์ ธ์˜ค๊ธฐ

* ๐Ÿ“ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ package ํŒŒ์ผ ์ˆ˜์ •

* โœจ UI Scene ๊ตฌํ˜„

* ๐Ÿ“ Package ํŒŒ์ผ ์ƒ์„ฑ

* โœจ Scene UI ํ™”๋ฉด ๊ตฌํ˜„

---------

Co-authored-by: mingun <[email protected]>

* ๐ŸŽจ ์ƒ์ˆ˜ ๋ณ€์ˆ˜ read-only๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ isHighlight -> isHighlighted

* โœจ Preview ์ถ”๊ฐ€, album art ํ‘œ์ง€ ๋ณ€๊ฒฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Package Dependency ์ œ๊ฑฐ

* Workspace ์„ธํŒ… Cherry-Pick

* ๐Ÿ‘ท CI ์ ์šฉ

* ๐Ÿ“ฆ Workspace ์„ธํŒ…, Feature ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ“ฆ commit script์— ์ถ”๊ฐ€๋œ ํŒจํ‚ค์ง€ ์ถ”๊ฐ€

* ๐Ÿ“ฆ SpotView ํŒจํ‚ค์ง€ ์ด๋ฆ„ Spot์œผ๋กœ ์ˆ˜์ •

* ๐Ÿ“ฆ RewindJourneyView โžก๏ธ RewindJourney๋กœ ํŒจํ‚ค์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* ๐Ÿ“ฆ ํ”์ ๋งŒ ์žˆ๋Š” ํŒจํ‚ค์ง€ ์ƒˆ๋กœ ์ƒ์„ฑ

* ๐ŸŽจ ๋นŒ๋“œ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ •

* ๐Ÿšš Workspace์˜ Feature๋“ค์„ ๊ทธ๋ฃนํ™”

* ๐Ÿ“ฆ Dependency๋ฅผ ํ†ตํ•œ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ

* ๐Ÿ“ฆ Workspace์— Test ํƒ€๊ฒŸ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ Core, Foundation, UIKit ํŒจํ‚ค์ง€ Dependency ์ œ๊ฑฐ

* ๐Ÿ‘ท test without build โžก๏ธ test

* ๐Ÿ“ฆ JourneyList์— MSData๋ฅผ Dependency๋กœ ์ถ”๊ฐ€

* ๐Ÿšš ๊ฐ Feature์— Demo ์•ฑ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

* ๐Ÿšš JourneyListDemo ์•ฑ ์„ธํŒ…

* ๐ŸŽจ LaunchScreen ์„ธํŒ…

* ๐Ÿ“ฆ MSFoundaiton์— Constants ํƒ€๊ฒŸ ์ถ”๊ฐ€

* โ™ป๏ธ MSCache ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ MSCacheStorage์˜ ๋ฉ”์„œ๋“œ๋“ค์— ๋ฌธ์„œํ™” ์„ค๋ช…์„ ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿšš Coordinator ํŒจํ„ด ๊ตฌ์กฐ ๊ตฌํ˜„

* ๐ŸŽจ Coordinator ๊ด€๋ จ ์ฝ”๋“œ Lint ์ ์šฉํ•˜์—ฌ ์ˆ˜์ •

* ๐Ÿ› ์บ์‹ฑ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„ ์‹คํŒจํ•˜๋Š” ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์บ์‹œ๋ฅผ ์‚ญ์ œํ•  ๋Œ€์ƒ์„ ์„ ํƒํ•ด์„œ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿงช MSCacheStorage ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ

* ๐Ÿ› iOS 16.0 ๋ฏธ๋งŒ ๋ฒ„์ „์—์„œ ์บ์‹ฑ์ด ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐ŸŽจ Layout group์˜ ๋†’์ด๋ฅผ Cell์— ์ƒ์ˆ˜๋กœ ์ •์˜๋œ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ Subtitle๋ฅผ ์ƒ์ˆ˜๋“ค๊ณผ ํ•จ๊ป˜ ๊ด€๋ฆฌ

* โœจ ์ž„์‹œ ์บ์‹ฑ ๋กœ์ง ๊ตฌํ˜„

* โœจ ํ˜„์žฌ ์œ„์น˜์—์„œ ๋‹ค์‹œ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ public API ํ•จ์ˆ˜ ์ƒ์„ฑ

* ๐ŸŽจ ๋น„์–ด์žˆ๋Š” MSData ํŒŒ์ผ ์‚ญ์ œ

* ๐ŸŽจ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐Ÿ› Dependency ์ถ”๊ฐ€

* โ™ป๏ธ Coordinator ๊ตฌ์กฐ์— Workspace ๋ธŒ๋žœ์น˜ dump

* ๐Ÿ“ฆ ํŒจํ‚ค์ง€ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ์ถ”๊ฐ€

* ๐ŸŽจ AppCoordinator ๋‚ด extension ๋ถ„๋ฆฌ, ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋‹ค์ค‘ pop ๋กœ์ง ๋ณ€๊ฒฝ

* ๐Ÿ“ CameraView ์ƒ์„ฑ

* โœจ ์นด๋ฉ”๋ผ UI ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๋กœ์ง ์ถ”๊ฐ€

* โ™ป๏ธ ์ฝ”๋“œ ์ •๋ฆฌ ๋ฐ ๊ตฌ์กฐ ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ ์ด๋ฏธ์ง€ ์†ก์ถœํ•ด์ฃผ๋Š” ๋กœ์ง์„ ๋‹ค๋ฃฐ viewModel ํŒŒ์ผ ์ƒ์„ฑ

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜์— ๋งž์ถ˜ ์ฝ”๋“œ ์ˆ˜์ •

* ๐ŸŽจ Commit ํŒŒ์ผ ์ˆ˜์ •

* ๐ŸŽจ Lint ๊ทœ์น™์— ๋งž์ถ”์–ด ์ฝ”๋“œ ์ˆ˜์ • + Demo App ์…‹ํŒ…

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜ ๋งž์ถ”์–ด ์ˆ˜์ •

* ๐Ÿ“ Demo App ์นด๋ฉ”๋ผ ํ™˜๊ฒฝ์„ค์ •

* ๐Ÿ› ์ „์— ๋„์› ๋˜ ํ™”๋ฉด์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ๋ชปํ•˜๋Š” ํ˜„์ƒ ๋ฒ„๊ทธ ํ”ฝ์Šค

* ๐ŸŽจ ์—ฌ์ • ์ €์žฅ Demo ์•ฑ ์„ธํŒ…

* ๐Ÿ“ Package MSNetworking, MSData ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ํƒ€์ž… ํ”„๋กœํผํ‹ฐ ์ˆ˜์ •

* โœจ ์—ฌ์ • ์ €์žฅ ํ™”๋ฉด ํ•˜๋‹จ์— ๋ฒ„ํŠผ ์Šคํƒ ์ถ”๊ฐ€

* โ™ป๏ธ Tree ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ Coordinator ๊ตฌํ˜„

* ๐Ÿ“ฆ ์—ฌ์ • ์ €์žฅ ํŒจํ‚ค์ง€์˜ Dependency์— MSData ์ถ”๊ฐ€

* ๐Ÿ“ฆ MSData ํŒจํ‚ค์ง€ ์ƒ์„ฑ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift
#	iOS/MSData/Package.swift
#	iOS/MusicSpot.xcworkspace/contents.xcworkspacedata
#	iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj

* ๐Ÿšš DTO ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ DTO์— public ์ถ”๊ฐ€

* โœจ Journey Mock ๋ฐ์ดํ„ฐ ์ ์šฉ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/Features/JourneyList/Sources/JourneyList/File.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Presentation/JourneyListViewModel.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Song.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Spot.swift
#	iOS/MSData/Resources/MockJourney.json
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ MSNetworking ์š”์†Œ๋“ค์— public ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* โ™ป๏ธ MSNetworking URL ๊ตฌ์กฐ ๋ณ€๊ฒฝ & Header ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* ๐ŸŽจ MSNetworking Error ์ด๋ฆ„ ๋ณ€๊ฒฝ & ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ MSNetworking์— timeout ์ถ”๊ฐ€

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* โœจ Journey Router ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋ˆ„๋ฝ๋œ popViewController ์ถ”๊ฐ€

* ๐Ÿ› ์—ฌ์ • ์ €์žฅ Demo์•ฑ์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์ˆ˜์ •

* ๐Ÿ“ MSNetworking ์— ๋Œ€ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO, ๋ณด๋‚ด๋Š” ์šฉ๊ณผ ๋ฐ›๋Š” ์šฉ์œผ๋กœ ํƒ€์ž… ๋ถ„๋ฆฌ

* ๐ŸŽจ Spot์— ๋Œ€ํ•œ router case ์ถ”๊ฐ€

* ๐ŸŽจ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐ŸŽจ ๋ช…์‹œ์  self ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO ์ƒ์„ฑ์ž ์ ‘๊ทผ ์ œํ•œ ์ˆ˜์ •

* ๐ŸŽจ SpotDTO์— ํ•„์š”ํ•œ ์ฝ”๋“œ ์ถ”๊ฐ€

* ๐Ÿ› SearchMusic์— ๋Œ€ํ•œ ์ž˜๋ชป๋œ ํ๋ฆ„์„ ์ˆ˜์ •

* ๐ŸŽจ ์—ฌ์ • ๋ฆฌ์ŠคํŠธ ์ž„์‹œ ์ˆ˜์ •

* ๐ŸŽจ ResponsibleDTO ์ž„์‹œ๋กœ Codable ์ฒ˜๋ฆฌ(ํšŒ์˜ ํ•„์š”)

* ๐ŸŽจ DTOConvertor ์ˆ˜์ •

* ๐Ÿšš ๋ˆ„๋ฝ๋œ ํŒŒ์ผ ์ถ”๊ฐ€

* ๐Ÿ“ Workspace ๋ฌธ์„œ ์ˆ˜์ •

* ๐Ÿ› JourneyList์˜ DTO ์—…๋ฐ์ดํŠธ

* ๐Ÿšš HomeMapScene ํŒจํ‚ค์ง€ ์‚ญ์ œ

* ๐ŸŽจ Resolve conflict

* [iOS] HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„ (#94)

* ๐Ÿšš (HomeMapScene): HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„

* โ™ป๏ธ Features ํด๋” ์ƒ์„ฑ

Module ๋‹จ์œ„ ๊ตฌ์กฐ๋กœ ์ธํ•ด Lint๋ฅผ ๋ชจ๋‘ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ•˜๋‚˜์˜ Features ํด๋” ์ƒ์„ฑ

* ๐ŸŽจ ๋ถˆํ•„์š”ํ•œ ์ค‘๋ณต ์ฝ”๋“œ ๋ฐ ๋ฏธ์‚ฌ์šฉ ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ๋‹ค๋ฅธ Package๋“ค ์ถ”๊ฐ€

* ๐ŸŽจ HomeMapScene Package ์„ค์ • ๋ณ€๊ฒฝ

* ๐Ÿšš Workspace ์ˆ˜์ •

* [iOS] ์—ฌ์ • ์™„๋ฃŒ Scene UI (#120)

* [iOS] MSButton ์ถ”๊ฐ€ (#73)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* โœจ MSButton & MSRectButton ์ถ”๊ฐ€

* [iOS] MSDesignSystem (#72)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* ๐Ÿ“ฆ JourneyListScene ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ‘ท SwiftLint ์ˆ˜์ •

* โœจ JourneyListViewController์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌํ•ญ ๊ตฌํ˜„

* โœจ JourneyList ํ—ค๋”์™€ Cell ์ถ”๊ฐ€

* ๐ŸŽจ ์“ฐ์ด์ง€ ์•Š๋Š” ํด๋กœ์ € ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

* โœจ JourneyListViewController ๊ตฌํ˜„

* โœจ StackView์— ์‚ฌ์šฉํ•  Spacer ์ถ”๊ฐ€

* โœจ ๋ˆ„๋ฝ๋œ Color ์ถ”๊ฐ€

* โœจ JourneyList UI ๊ตฌํ˜„

* ๐ŸŽจ ๋งค์ง ๋„˜๋ฒ„ Constantํ™”

* ๐Ÿšš ํ…Œ์ŠคํŠธ์šฉ ์•ฑ ํƒ€๊ฒŸ ์ฝ”๋“œ ์ œ๊ฑฐ & Dependency ํ•ด์ œ

* โ™ป๏ธ ์—ฌ์ • Cell์„ ๋ฆฌํŒฉํ† ๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

* ๐ŸŽจ Lint ์—๋Ÿฌ ๋Œ€์‘

* โ™ป๏ธ DataSource ๊ตฌ์กฐ์™€ Layout ๋ณ€๊ฒฝ

* โœจ ์—ฌ์ • ์ €์žฅ Spot Cell๊นŒ์ง€ UI ๊ตฌํ˜„

* ๐ŸŽจ Magic Number Constant๋กœ ๊ด€๋ฆฌ

* โœจ ์—ฌ์ • ์ €์žฅ UI ๊ตฌํ˜„

* ๐Ÿ“ฆ ํ…Œ์ŠคํŠธ ์•ฑ ํƒ€๊ฒŸ ์ œ๊ฑฐ

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ์ค‘๋ณต ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ํŒจํ‚ค์ง€ ์„ธํŒ… ํ•ด๊ฒฐ

* ๐Ÿšš ์ž„์‹œ ViewController๋“ค ์‚ญ์ œ

* โœจ Home (NavigateMap & JourneyList) ์ฝ”๋””๋„ค์ดํ„ฐ๋กœ ์—ฐ๊ฒฐ

* โœจ RewindJourney ์ฝ”๋””๋„ค์ดํ„ฐ ์—ฐ๊ฒฐ

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ์—ฌ์ • ๋ชฉ๋ก์ด ์Šคํฌ๋กค ๋˜๋Š” ๋™์•ˆ BottomSheet๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* โœจ BottomSheet์— Resize Indicator ์ถ”๊ฐ€

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Delegate ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ“ฆ MSUIKit์— MSLogger Dependency๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  Bottom Sheet์˜ State๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

* ๐Ÿ› BottomSheet ๋™์ž‘ ์˜ค๋ฅ˜ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๋ชฉ๋ก UI ๋ณ€๊ฒฝ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ๋“ค ์‚ญ์ œ

* ๐Ÿ“ฆ MSImageFetcher ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* โ™ป๏ธ MSCacheStorage์˜ ๋ฐ˜ํ™˜ ๊ฐ’์„ ๋‹จ์ˆœ enum์—์„œ Result ํƒ€์ž…๊ณผ MSCacheError๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ˜ํ™˜

* ๐Ÿงช MSCacheStorage ์ˆ˜์ •์— ๋”ฐ๋ฅธ Test Case ์ˆ˜์ •

* โœจ MSImageFetcher ๊ตฌํ˜„

* ๐Ÿ“ฆ SelectSong ํŒจํ‚ค์ง€ & ๋ฐ๋ชจ ์•ฑ ์„ธํŒ…

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ Cell ์ถ”๊ฐ€

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ™”๋ฉด UI ๊ตฌํ˜„

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ…์ŠคํŠธํ•„๋“œ์— ํ”Œ๋ ˆ์ด์Šคํ™€๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐Ÿšš ์—ฌ์ • ์ €์žฅ ๋ชจ๋ธ ํŒŒ์ผ ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ ๋Ÿฐ์น˜ ์Šคํฌ๋ฆฐ ์ˆ˜์ •

* ๐Ÿ› Logger ์ˆ˜์ •์— ๋”ฐ๋ฅธ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿงช ๋””๋ฒ„๊น…์šฉ ์ž„์‹œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์‚ญ์ œ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Model ์ˆ˜์ •ํ•˜๊ณ  Repository ์—ฐ๊ฒฐ

* โœจ ์—ฌ์ • ์ €์žฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* ๐Ÿšš Modal Background ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* โœจ MSAlertViewController ๊ตฌํ˜„

* โœจ ํ…์ŠคํŠธํ•„๋“œ AlertViewController์—์„œ ๋ถ„๋ฆฌํ•˜๊ณ  Feature์—์„œ ์ƒ์†๋ฐ›์•„ ์ถ”๊ฐ€

* ๐ŸŽจ Alert์˜ ๋ฒ„ํŠผ์— ๋กœ์ง์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿ› AlertViewController์˜ ๋นˆ ๊ณต๊ฐ„๋„ PanGesture๊ฐ€ ๋™์ž‘ํ•˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* โ™ป๏ธ NavigateMap Model ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* ๐ŸŽจ ์ผ๋ถ€ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ Lint ์ ์šฉ

* โœจ Home๊ด€๋ จ ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ์ž„์‹œ ์ ์šฉ

* โœจ ํ—ค๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐ŸŽจ Button ๋กœ์ง ์—ฐ๊ฒฐ ์ค€๋น„ & MediaPlayer ์ค€๋น„

* โ™ป๏ธ ์—ฌ์ • ์™„๋ฃŒ SpotCell UI & ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* ๐Ÿ“ TODO ์‚ญ์ œ & ์ถ”๊ฐ€

* ๐ŸŽจ Home Scene์—์„œ ์‚ฌ์šฉํ•  isRecording์„ UserDefaults์— ๋“ฑ๋ก

* ๐ŸŽจ RecordJourney ์‚ญ์ œ

* โœจ Home Scene ๋‚ด ๋ฒ„ํŠผ delegate ์ ์šฉ ์ค‘

* โœจ MusicKit ์‚ฌ์šฉํ•œ ์Œ์•… ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ ๋ฐ๋ชจ์•ฑ Bundle Identifier ์ˆ˜์ •

* ๐Ÿ› ์ŠคํŒŸ ๋ฒ„ํŠผ์ด ํƒญ ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* ๐ŸŽจ NavigateMapButtonStackView์—์„œ private ์ œ๊ฑฐ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Song ์ฃผ์ž… ๋ฐ›์€ ํ›„ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* โœจ ์—ฌ์ • ์ด๋ฆ„ ํ™”๋ฉด ํ‚ค๋ณด๋“œ ์กฐ์ • & ์ด๋ฆ„ ๋ฐ”์ธ๋”ฉ

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

# Conflicts:
#	iOS/Features/SelectSong/Package.swift

* โœจ ์—ฌ์ • ์™„๋ฃŒ ๋กœ์ง ๊ตฌํ˜„ ์™„๋ฃŒ (๋„คํŠธ์›Œํ‚น ์ œ์™ธ)

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ NavigateMap์— MSData Dependency ์ถ”๊ฐ€

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ MSData ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐Ÿšš ๋ชจ๋ธ ํŒŒ์ผ ์‚ญ์ œ & ์ปจ๋ฒค์…˜ ์ˆ˜์ •

* ๐ŸŽจ Resolve conflict

* ๐ŸŽจ ๋ฏธ์‚ฌ์šฉ import๋ฌธ ์ž„์‹œ ์ œ๊ฑฐ

* ๐ŸŽจ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์€ CacheStorage ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿ› ์ƒ์„ฑ์ž ์ฃผ์„ ์ฒ˜๋ฆฌ ํ•ด์ œ

* Update iOS/Features/RewindJourney/Sources/RewindJourney/MSProgressViewModel.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* Update iOS/MSData/Sources/MSData/Router/Journey/JourneyRouter.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* ๐ŸŽจ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>

* Delete iOS/MSCoreKit/Sources/MSNetworking/MSRouter.swift

* ๐Ÿ“ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿ› MSLogCategory ์ปจํ”Œ๋ฆญํŠธ ์ˆ˜์ •

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ํ”„๋ ˆ์ž„์›Œํฌ ์ˆ˜์ •

* ๐Ÿ“ฆ MSCoreKit ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โ™ป๏ธ Last journey ์กฐํšŒ ๋กœ์ง ์ˆ˜์ •

---------

Co-authored-by: mingun <[email protected]>
Co-authored-by: Junnos ๏ฃฟ <[email protected]>
Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>
Co-authored-by: Xerath <[email protected]>
Co-authored-by: ์œค๋™์ฃผ <[email protected]>
* ๐ŸŽจ Lint ๊ทœ์น™ ์ ์šฉ

* ๐ŸŽจ Lint ๊ทœ์น™ ์ ์šฉ

* ๐ŸŽจ Package ํŒŒ์ผ Lint ๊ทœ์น™์— ๋งž์ถ”์–ด ์ˆ˜์ •

* โœจ Journey Mock ๋ฐ์ดํ„ฐ ์ ์šฉ

* ๐Ÿ› ๋จธ์ง€ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๊ธฐ๋ก์˜ ์ด๋ฏธ์ง€๋ฅผ ๋„คํŠธ์›Œํฌ๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ JourneyCell ์š”์†Œ๋“ค์—์„œ Metric ์ƒ์ˆ˜ ๋ถ„๋ฆฌ

* ๐Ÿ“ Lint ๊ทœ์น™ ์ˆ˜์ •: ์ค‘์ฒฉ ํƒ€์ž… ์กฐ๊ฑด ์™„ํ™”(warning 2 -> 3)

* ๐ŸŽจ ์ ‘๊ทผ ์ œํ•œ์ž, ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* โœจ ๋˜๊ฐ๊ธฐ ๊ธฐ๋Šฅ ์ˆ˜์ •: ์ „์— ๋ณด์—ฌ์ฃผ์—ˆ๋˜ ์ด๋ฏธ์ง€๋“ค์˜ progressView๋„ ํ•˜์ด๋ผ์ดํŠธ ์ฒ˜๋ฆฌ

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* ๐ŸŽจ Test ์ฝ”๋“œ์—์„œ Lint disable

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* [iOS] SpotScene (#114)

* ๐Ÿ“ RewindJourney ํŒจํ‚ค์ง€ ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐Ÿ“ ๊ตฌํ˜„์— ํ•„์š”ํ•œ UIKit ๊ฐ€์ ธ์˜ค๊ธฐ

* ๐Ÿ“ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ package ํŒŒ์ผ ์ˆ˜์ •

* โœจ UI Scene ๊ตฌํ˜„

* ๐Ÿ“ Package ํŒŒ์ผ ์ƒ์„ฑ

* โœจ Scene UI ํ™”๋ฉด ๊ตฌํ˜„

---------

Co-authored-by: mingun <[email protected]>

* ๐ŸŽจ ์ƒ์ˆ˜ ๋ณ€์ˆ˜ read-only๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ isHighlight -> isHighlighted

* โœจ Preview ์ถ”๊ฐ€, album art ํ‘œ์ง€ ๋ณ€๊ฒฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Package Dependency ์ œ๊ฑฐ

* Workspace ์„ธํŒ… Cherry-Pick

* ๐Ÿ‘ท CI ์ ์šฉ

* ๐Ÿ“ฆ Workspace ์„ธํŒ…, Feature ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ“ฆ commit script์— ์ถ”๊ฐ€๋œ ํŒจํ‚ค์ง€ ์ถ”๊ฐ€

* ๐Ÿ“ฆ SpotView ํŒจํ‚ค์ง€ ์ด๋ฆ„ Spot์œผ๋กœ ์ˆ˜์ •

* ๐Ÿ“ฆ RewindJourneyView โžก๏ธ RewindJourney๋กœ ํŒจํ‚ค์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* ๐Ÿ“ฆ ํ”์ ๋งŒ ์žˆ๋Š” ํŒจํ‚ค์ง€ ์ƒˆ๋กœ ์ƒ์„ฑ

* ๐ŸŽจ ๋นŒ๋“œ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ •

* ๐Ÿšš Workspace์˜ Feature๋“ค์„ ๊ทธ๋ฃนํ™”

* ๐Ÿ“ฆ Dependency๋ฅผ ํ†ตํ•œ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ

* ๐Ÿ“ฆ Workspace์— Test ํƒ€๊ฒŸ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ Core, Foundation, UIKit ํŒจํ‚ค์ง€ Dependency ์ œ๊ฑฐ

* ๐Ÿ‘ท test without build โžก๏ธ test

* ๐Ÿ“ฆ JourneyList์— MSData๋ฅผ Dependency๋กœ ์ถ”๊ฐ€

* ๐Ÿšš ๊ฐ Feature์— Demo ์•ฑ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

* ๐Ÿšš JourneyListDemo ์•ฑ ์„ธํŒ…

* ๐ŸŽจ LaunchScreen ์„ธํŒ…

* ๐Ÿ“ฆ MSFoundaiton์— Constants ํƒ€๊ฒŸ ์ถ”๊ฐ€

* โ™ป๏ธ MSCache ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ MSCacheStorage์˜ ๋ฉ”์„œ๋“œ๋“ค์— ๋ฌธ์„œํ™” ์„ค๋ช…์„ ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿšš Coordinator ํŒจํ„ด ๊ตฌ์กฐ ๊ตฌํ˜„

* ๐ŸŽจ Coordinator ๊ด€๋ จ ์ฝ”๋“œ Lint ์ ์šฉํ•˜์—ฌ ์ˆ˜์ •

* ๐Ÿ› ์บ์‹ฑ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„ ์‹คํŒจํ•˜๋Š” ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์บ์‹œ๋ฅผ ์‚ญ์ œํ•  ๋Œ€์ƒ์„ ์„ ํƒํ•ด์„œ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿงช MSCacheStorage ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ

* ๐Ÿ› iOS 16.0 ๋ฏธ๋งŒ ๋ฒ„์ „์—์„œ ์บ์‹ฑ์ด ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐ŸŽจ Layout group์˜ ๋†’์ด๋ฅผ Cell์— ์ƒ์ˆ˜๋กœ ์ •์˜๋œ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ Subtitle๋ฅผ ์ƒ์ˆ˜๋“ค๊ณผ ํ•จ๊ป˜ ๊ด€๋ฆฌ

* โœจ ์ž„์‹œ ์บ์‹ฑ ๋กœ์ง ๊ตฌํ˜„

* โœจ ํ˜„์žฌ ์œ„์น˜์—์„œ ๋‹ค์‹œ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ public API ํ•จ์ˆ˜ ์ƒ์„ฑ

* ๐ŸŽจ ๋น„์–ด์žˆ๋Š” MSData ํŒŒ์ผ ์‚ญ์ œ

* ๐ŸŽจ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐Ÿ› Dependency ์ถ”๊ฐ€

* โ™ป๏ธ Coordinator ๊ตฌ์กฐ์— Workspace ๋ธŒ๋žœ์น˜ dump

* ๐Ÿ“ฆ ํŒจํ‚ค์ง€ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ์ถ”๊ฐ€

* ๐ŸŽจ AppCoordinator ๋‚ด extension ๋ถ„๋ฆฌ, ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋‹ค์ค‘ pop ๋กœ์ง ๋ณ€๊ฒฝ

* ๐Ÿ“ CameraView ์ƒ์„ฑ

* โœจ ์นด๋ฉ”๋ผ UI ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๋กœ์ง ์ถ”๊ฐ€

* โ™ป๏ธ ์ฝ”๋“œ ์ •๋ฆฌ ๋ฐ ๊ตฌ์กฐ ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ ์ด๋ฏธ์ง€ ์†ก์ถœํ•ด์ฃผ๋Š” ๋กœ์ง์„ ๋‹ค๋ฃฐ viewModel ํŒŒ์ผ ์ƒ์„ฑ

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜์— ๋งž์ถ˜ ์ฝ”๋“œ ์ˆ˜์ •

* ๐ŸŽจ Commit ํŒŒ์ผ ์ˆ˜์ •

* ๐ŸŽจ Lint ๊ทœ์น™์— ๋งž์ถ”์–ด ์ฝ”๋“œ ์ˆ˜์ • + Demo App ์…‹ํŒ…

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜ ๋งž์ถ”์–ด ์ˆ˜์ •

* ๐Ÿ“ Demo App ์นด๋ฉ”๋ผ ํ™˜๊ฒฝ์„ค์ •

* ๐Ÿ› ์ „์— ๋„์› ๋˜ ํ™”๋ฉด์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ๋ชปํ•˜๋Š” ํ˜„์ƒ ๋ฒ„๊ทธ ํ”ฝ์Šค

* ๐ŸŽจ ์—ฌ์ • ์ €์žฅ Demo ์•ฑ ์„ธํŒ…

* ๐Ÿ“ Package MSNetworking, MSData ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ํƒ€์ž… ํ”„๋กœํผํ‹ฐ ์ˆ˜์ •

* โœจ ์—ฌ์ • ์ €์žฅ ํ™”๋ฉด ํ•˜๋‹จ์— ๋ฒ„ํŠผ ์Šคํƒ ์ถ”๊ฐ€

* โ™ป๏ธ Tree ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ Coordinator ๊ตฌํ˜„

* ๐Ÿ“ฆ ์—ฌ์ • ์ €์žฅ ํŒจํ‚ค์ง€์˜ Dependency์— MSData ์ถ”๊ฐ€

* ๐Ÿ“ฆ MSData ํŒจํ‚ค์ง€ ์ƒ์„ฑ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift
#	iOS/MSData/Package.swift
#	iOS/MusicSpot.xcworkspace/contents.xcworkspacedata
#	iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj

* ๐Ÿšš DTO ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ DTO์— public ์ถ”๊ฐ€

* โœจ Journey Mock ๋ฐ์ดํ„ฐ ์ ์šฉ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/Features/JourneyList/Sources/JourneyList/File.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Presentation/JourneyListViewModel.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Song.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Spot.swift
#	iOS/MSData/Resources/MockJourney.json
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ MSNetworking ์š”์†Œ๋“ค์— public ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* โ™ป๏ธ MSNetworking URL ๊ตฌ์กฐ ๋ณ€๊ฒฝ & Header ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* ๐ŸŽจ MSNetworking Error ์ด๋ฆ„ ๋ณ€๊ฒฝ & ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ MSNetworking์— timeout ์ถ”๊ฐ€

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* โœจ Journey Router ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋ˆ„๋ฝ๋œ popViewController ์ถ”๊ฐ€

* ๐Ÿ› ์—ฌ์ • ์ €์žฅ Demo์•ฑ์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์ˆ˜์ •

* ๐Ÿ“ MSNetworking ์— ๋Œ€ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO, ๋ณด๋‚ด๋Š” ์šฉ๊ณผ ๋ฐ›๋Š” ์šฉ์œผ๋กœ ํƒ€์ž… ๋ถ„๋ฆฌ

* ๐ŸŽจ Spot์— ๋Œ€ํ•œ router case ์ถ”๊ฐ€

* ๐ŸŽจ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐ŸŽจ ๋ช…์‹œ์  self ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO ์ƒ์„ฑ์ž ์ ‘๊ทผ ์ œํ•œ ์ˆ˜์ •

* ๐ŸŽจ SpotDTO์— ํ•„์š”ํ•œ ์ฝ”๋“œ ์ถ”๊ฐ€

* ๐Ÿ› SearchMusic์— ๋Œ€ํ•œ ์ž˜๋ชป๋œ ํ๋ฆ„์„ ์ˆ˜์ •

* ๐ŸŽจ ์—ฌ์ • ๋ฆฌ์ŠคํŠธ ์ž„์‹œ ์ˆ˜์ •

* ๐ŸŽจ ResponsibleDTO ์ž„์‹œ๋กœ Codable ์ฒ˜๋ฆฌ(ํšŒ์˜ ํ•„์š”)

* ๐ŸŽจ DTOConvertor ์ˆ˜์ •

* ๐Ÿšš ๋ˆ„๋ฝ๋œ ํŒŒ์ผ ์ถ”๊ฐ€

* ๐Ÿ“ Workspace ๋ฌธ์„œ ์ˆ˜์ •

* ๐Ÿ› JourneyList์˜ DTO ์—…๋ฐ์ดํŠธ

* ๐Ÿšš HomeMapScene ํŒจํ‚ค์ง€ ์‚ญ์ œ

* ๐ŸŽจ Resolve conflict

* [iOS] HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„ (#94)

* ๐Ÿšš (HomeMapScene): HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„

* โ™ป๏ธ Features ํด๋” ์ƒ์„ฑ

Module ๋‹จ์œ„ ๊ตฌ์กฐ๋กœ ์ธํ•ด Lint๋ฅผ ๋ชจ๋‘ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ•˜๋‚˜์˜ Features ํด๋” ์ƒ์„ฑ

* ๐ŸŽจ ๋ถˆํ•„์š”ํ•œ ์ค‘๋ณต ์ฝ”๋“œ ๋ฐ ๋ฏธ์‚ฌ์šฉ ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ๋‹ค๋ฅธ Package๋“ค ์ถ”๊ฐ€

* ๐ŸŽจ HomeMapScene Package ์„ค์ • ๋ณ€๊ฒฝ

* ๐Ÿšš Workspace ์ˆ˜์ •

* [iOS] ์—ฌ์ • ์™„๋ฃŒ Scene UI (#120)

* [iOS] MSButton ์ถ”๊ฐ€ (#73)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* โœจ MSButton & MSRectButton ์ถ”๊ฐ€

* [iOS] MSDesignSystem (#72)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* ๐Ÿ“ฆ JourneyListScene ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ‘ท SwiftLint ์ˆ˜์ •

* โœจ JourneyListViewController์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌํ•ญ ๊ตฌํ˜„

* โœจ JourneyList ํ—ค๋”์™€ Cell ์ถ”๊ฐ€

* ๐ŸŽจ ์“ฐ์ด์ง€ ์•Š๋Š” ํด๋กœ์ € ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

* โœจ JourneyListViewController ๊ตฌํ˜„

* โœจ StackView์— ์‚ฌ์šฉํ•  Spacer ์ถ”๊ฐ€

* โœจ ๋ˆ„๋ฝ๋œ Color ์ถ”๊ฐ€

* โœจ JourneyList UI ๊ตฌํ˜„

* ๐ŸŽจ ๋งค์ง ๋„˜๋ฒ„ Constantํ™”

* ๐Ÿšš ํ…Œ์ŠคํŠธ์šฉ ์•ฑ ํƒ€๊ฒŸ ์ฝ”๋“œ ์ œ๊ฑฐ & Dependency ํ•ด์ œ

* โ™ป๏ธ ์—ฌ์ • Cell์„ ๋ฆฌํŒฉํ† ๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

* ๐ŸŽจ Lint ์—๋Ÿฌ ๋Œ€์‘

* โ™ป๏ธ DataSource ๊ตฌ์กฐ์™€ Layout ๋ณ€๊ฒฝ

* โœจ ์—ฌ์ • ์ €์žฅ Spot Cell๊นŒ์ง€ UI ๊ตฌํ˜„

* ๐ŸŽจ Magic Number Constant๋กœ ๊ด€๋ฆฌ

* โœจ ์—ฌ์ • ์ €์žฅ UI ๊ตฌํ˜„

* ๐Ÿ“ฆ ํ…Œ์ŠคํŠธ ์•ฑ ํƒ€๊ฒŸ ์ œ๊ฑฐ

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ์ค‘๋ณต ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ํŒจํ‚ค์ง€ ์„ธํŒ… ํ•ด๊ฒฐ

* ๐Ÿšš ์ž„์‹œ ViewController๋“ค ์‚ญ์ œ

* โœจ Home (NavigateMap & JourneyList) ์ฝ”๋””๋„ค์ดํ„ฐ๋กœ ์—ฐ๊ฒฐ

* โœจ RewindJourney ์ฝ”๋””๋„ค์ดํ„ฐ ์—ฐ๊ฒฐ

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ์—ฌ์ • ๋ชฉ๋ก์ด ์Šคํฌ๋กค ๋˜๋Š” ๋™์•ˆ BottomSheet๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* โœจ BottomSheet์— Resize Indicator ์ถ”๊ฐ€

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Delegate ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ“ฆ MSUIKit์— MSLogger Dependency๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  Bottom Sheet์˜ State๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

* ๐Ÿ› BottomSheet ๋™์ž‘ ์˜ค๋ฅ˜ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๋ชฉ๋ก UI ๋ณ€๊ฒฝ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ๋“ค ์‚ญ์ œ

* ๐Ÿ“ฆ MSImageFetcher ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* โ™ป๏ธ MSCacheStorage์˜ ๋ฐ˜ํ™˜ ๊ฐ’์„ ๋‹จ์ˆœ enum์—์„œ Result ํƒ€์ž…๊ณผ MSCacheError๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ˜ํ™˜

* ๐Ÿงช MSCacheStorage ์ˆ˜์ •์— ๋”ฐ๋ฅธ Test Case ์ˆ˜์ •

* โœจ MSImageFetcher ๊ตฌํ˜„

* ๐Ÿ“ฆ SelectSong ํŒจํ‚ค์ง€ & ๋ฐ๋ชจ ์•ฑ ์„ธํŒ…

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ Cell ์ถ”๊ฐ€

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ™”๋ฉด UI ๊ตฌํ˜„

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ…์ŠคํŠธํ•„๋“œ์— ํ”Œ๋ ˆ์ด์Šคํ™€๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐Ÿšš ์—ฌ์ • ์ €์žฅ ๋ชจ๋ธ ํŒŒ์ผ ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ ๋Ÿฐ์น˜ ์Šคํฌ๋ฆฐ ์ˆ˜์ •

* ๐Ÿ› Logger ์ˆ˜์ •์— ๋”ฐ๋ฅธ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿงช ๋””๋ฒ„๊น…์šฉ ์ž„์‹œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์‚ญ์ œ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Model ์ˆ˜์ •ํ•˜๊ณ  Repository ์—ฐ๊ฒฐ

* โœจ ์—ฌ์ • ์ €์žฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* ๐Ÿšš Modal Background ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* โœจ MSAlertViewController ๊ตฌํ˜„

* โœจ ํ…์ŠคํŠธํ•„๋“œ AlertViewController์—์„œ ๋ถ„๋ฆฌํ•˜๊ณ  Feature์—์„œ ์ƒ์†๋ฐ›์•„ ์ถ”๊ฐ€

* ๐ŸŽจ Alert์˜ ๋ฒ„ํŠผ์— ๋กœ์ง์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿ› AlertViewController์˜ ๋นˆ ๊ณต๊ฐ„๋„ PanGesture๊ฐ€ ๋™์ž‘ํ•˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* โ™ป๏ธ NavigateMap Model ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* ๐ŸŽจ ์ผ๋ถ€ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ Lint ์ ์šฉ

* โœจ Home๊ด€๋ จ ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ์ž„์‹œ ์ ์šฉ

* โœจ ํ—ค๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐ŸŽจ Button ๋กœ์ง ์—ฐ๊ฒฐ ์ค€๋น„ & MediaPlayer ์ค€๋น„

* โ™ป๏ธ ์—ฌ์ • ์™„๋ฃŒ SpotCell UI & ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* ๐Ÿ“ TODO ์‚ญ์ œ & ์ถ”๊ฐ€

* ๐ŸŽจ Home Scene์—์„œ ์‚ฌ์šฉํ•  isRecording์„ UserDefaults์— ๋“ฑ๋ก

* ๐ŸŽจ RecordJourney ์‚ญ์ œ

* โœจ Home Scene ๋‚ด ๋ฒ„ํŠผ delegate ์ ์šฉ ์ค‘

* โœจ MusicKit ์‚ฌ์šฉํ•œ ์Œ์•… ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ ๋ฐ๋ชจ์•ฑ Bundle Identifier ์ˆ˜์ •

* ๐Ÿ› ์ŠคํŒŸ ๋ฒ„ํŠผ์ด ํƒญ ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* ๐ŸŽจ NavigateMapButtonStackView์—์„œ private ์ œ๊ฑฐ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Song ์ฃผ์ž… ๋ฐ›์€ ํ›„ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* โœจ ์—ฌ์ • ์ด๋ฆ„ ํ™”๋ฉด ํ‚ค๋ณด๋“œ ์กฐ์ • & ์ด๋ฆ„ ๋ฐ”์ธ๋”ฉ

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

# Conflicts:
#	iOS/Features/SelectSong/Package.swift

* โœจ ์—ฌ์ • ์™„๋ฃŒ ๋กœ์ง ๊ตฌํ˜„ ์™„๋ฃŒ (๋„คํŠธ์›Œํ‚น ์ œ์™ธ)

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ NavigateMap์— MSData Dependency ์ถ”๊ฐ€

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ MSData ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐Ÿšš ๋ชจ๋ธ ํŒŒ์ผ ์‚ญ์ œ & ์ปจ๋ฒค์…˜ ์ˆ˜์ •

* ๐ŸŽจ Resolve conflict

* ๐ŸŽจ ๋ฏธ์‚ฌ์šฉ import๋ฌธ ์ž„์‹œ ์ œ๊ฑฐ

* ๐ŸŽจ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์€ CacheStorage ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿ› ์ƒ์„ฑ์ž ์ฃผ์„ ์ฒ˜๋ฆฌ ํ•ด์ œ

* Update iOS/Features/RewindJourney/Sources/RewindJourney/MSProgressViewModel.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* Update iOS/MSData/Sources/MSData/Router/Journey/JourneyRouter.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* ๐ŸŽจ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>

* Delete iOS/MSCoreKit/Sources/MSNetworking/MSRouter.swift

* ๐Ÿ“ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿ› MSLogCategory ์ปจํ”Œ๋ฆญํŠธ ์ˆ˜์ •

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ํ”„๋ ˆ์ž„์›Œํฌ ์ˆ˜์ •

* ๐Ÿ“ฆ MSCoreKit ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ios ํŒŒ์ผ ์ถ”๊ฐ€

---------

Co-authored-by: mingun <[email protected]>
Co-authored-by: Junnos ๏ฃฟ <[email protected]>
Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>
Co-authored-by: Xerath <[email protected]>
Co-authored-by: ์œค๋™์ฃผ <[email protected]>
* ๐ŸŽจ Package ํŒŒ์ผ Lint ๊ทœ์น™์— ๋งž์ถ”์–ด ์ˆ˜์ •

* โœจ Journey Mock ๋ฐ์ดํ„ฐ ์ ์šฉ

* ๐Ÿ› ๋จธ์ง€ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๊ธฐ๋ก์˜ ์ด๋ฏธ์ง€๋ฅผ ๋„คํŠธ์›Œํฌ๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ JourneyCell ์š”์†Œ๋“ค์—์„œ Metric ์ƒ์ˆ˜ ๋ถ„๋ฆฌ

* ๐Ÿ“ Lint ๊ทœ์น™ ์ˆ˜์ •: ์ค‘์ฒฉ ํƒ€์ž… ์กฐ๊ฑด ์™„ํ™”(warning 2 -> 3)

* ๐ŸŽจ ์ ‘๊ทผ ์ œํ•œ์ž, ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* โœจ ๋˜๊ฐ๊ธฐ ๊ธฐ๋Šฅ ์ˆ˜์ •: ์ „์— ๋ณด์—ฌ์ฃผ์—ˆ๋˜ ์ด๋ฏธ์ง€๋“ค์˜ progressView๋„ ํ•˜์ด๋ผ์ดํŠธ ์ฒ˜๋ฆฌ

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* ๐ŸŽจ Test ์ฝ”๋“œ์—์„œ Lint disable

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* [iOS] SpotScene (#114)

* ๐Ÿ“ RewindJourney ํŒจํ‚ค์ง€ ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐Ÿ“ ๊ตฌํ˜„์— ํ•„์š”ํ•œ UIKit ๊ฐ€์ ธ์˜ค๊ธฐ

* ๐Ÿ“ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ package ํŒŒ์ผ ์ˆ˜์ •

* โœจ UI Scene ๊ตฌํ˜„

* ๐Ÿ“ Package ํŒŒ์ผ ์ƒ์„ฑ

* โœจ Scene UI ํ™”๋ฉด ๊ตฌํ˜„

---------

Co-authored-by: mingun <[email protected]>

* ๐ŸŽจ ์ƒ์ˆ˜ ๋ณ€์ˆ˜ read-only๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ isHighlight -> isHighlighted

* โœจ Preview ์ถ”๊ฐ€, album art ํ‘œ์ง€ ๋ณ€๊ฒฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Package Dependency ์ œ๊ฑฐ

* Workspace ์„ธํŒ… Cherry-Pick

* ๐Ÿ‘ท CI ์ ์šฉ

* ๐Ÿ“ฆ Workspace ์„ธํŒ…, Feature ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ“ฆ commit script์— ์ถ”๊ฐ€๋œ ํŒจํ‚ค์ง€ ์ถ”๊ฐ€

* ๐Ÿ“ฆ SpotView ํŒจํ‚ค์ง€ ์ด๋ฆ„ Spot์œผ๋กœ ์ˆ˜์ •

* ๐Ÿ“ฆ RewindJourneyView โžก๏ธ RewindJourney๋กœ ํŒจํ‚ค์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* ๐Ÿ“ฆ ํ”์ ๋งŒ ์žˆ๋Š” ํŒจํ‚ค์ง€ ์ƒˆ๋กœ ์ƒ์„ฑ

* ๐ŸŽจ ๋นŒ๋“œ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ •

* ๐Ÿšš Workspace์˜ Feature๋“ค์„ ๊ทธ๋ฃนํ™”

* ๐Ÿ“ฆ Dependency๋ฅผ ํ†ตํ•œ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ

* ๐Ÿ“ฆ Workspace์— Test ํƒ€๊ฒŸ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ Core, Foundation, UIKit ํŒจํ‚ค์ง€ Dependency ์ œ๊ฑฐ

* ๐Ÿ‘ท test without build โžก๏ธ test

* ๐Ÿ“ฆ JourneyList์— MSData๋ฅผ Dependency๋กœ ์ถ”๊ฐ€

* ๐Ÿšš ๊ฐ Feature์— Demo ์•ฑ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

* ๐Ÿšš JourneyListDemo ์•ฑ ์„ธํŒ…

* ๐ŸŽจ LaunchScreen ์„ธํŒ…

* ๐Ÿ“ฆ MSFoundaiton์— Constants ํƒ€๊ฒŸ ์ถ”๊ฐ€

* โ™ป๏ธ MSCache ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ MSCacheStorage์˜ ๋ฉ”์„œ๋“œ๋“ค์— ๋ฌธ์„œํ™” ์„ค๋ช…์„ ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿšš Coordinator ํŒจํ„ด ๊ตฌ์กฐ ๊ตฌํ˜„

* ๐ŸŽจ Coordinator ๊ด€๋ จ ์ฝ”๋“œ Lint ์ ์šฉํ•˜์—ฌ ์ˆ˜์ •

* ๐Ÿ› ์บ์‹ฑ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„ ์‹คํŒจํ•˜๋Š” ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์บ์‹œ๋ฅผ ์‚ญ์ œํ•  ๋Œ€์ƒ์„ ์„ ํƒํ•ด์„œ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿงช MSCacheStorage ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ

* ๐Ÿ› iOS 16.0 ๋ฏธ๋งŒ ๋ฒ„์ „์—์„œ ์บ์‹ฑ์ด ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐ŸŽจ Layout group์˜ ๋†’์ด๋ฅผ Cell์— ์ƒ์ˆ˜๋กœ ์ •์˜๋œ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ Subtitle๋ฅผ ์ƒ์ˆ˜๋“ค๊ณผ ํ•จ๊ป˜ ๊ด€๋ฆฌ

* โœจ ์ž„์‹œ ์บ์‹ฑ ๋กœ์ง ๊ตฌํ˜„

* โœจ ํ˜„์žฌ ์œ„์น˜์—์„œ ๋‹ค์‹œ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ public API ํ•จ์ˆ˜ ์ƒ์„ฑ

* ๐ŸŽจ ๋น„์–ด์žˆ๋Š” MSData ํŒŒ์ผ ์‚ญ์ œ

* ๐ŸŽจ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐Ÿ› Dependency ์ถ”๊ฐ€

* โ™ป๏ธ Coordinator ๊ตฌ์กฐ์— Workspace ๋ธŒ๋žœ์น˜ dump

* ๐Ÿ“ฆ ํŒจํ‚ค์ง€ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ์ถ”๊ฐ€

* ๐ŸŽจ AppCoordinator ๋‚ด extension ๋ถ„๋ฆฌ, ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋‹ค์ค‘ pop ๋กœ์ง ๋ณ€๊ฒฝ

* ๐Ÿ“ CameraView ์ƒ์„ฑ

* โœจ ์นด๋ฉ”๋ผ UI ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๋กœ์ง ์ถ”๊ฐ€

* โ™ป๏ธ ์ฝ”๋“œ ์ •๋ฆฌ ๋ฐ ๊ตฌ์กฐ ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ ์ด๋ฏธ์ง€ ์†ก์ถœํ•ด์ฃผ๋Š” ๋กœ์ง์„ ๋‹ค๋ฃฐ viewModel ํŒŒ์ผ ์ƒ์„ฑ

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜์— ๋งž์ถ˜ ์ฝ”๋“œ ์ˆ˜์ •

* ๐ŸŽจ Commit ํŒŒ์ผ ์ˆ˜์ •

* ๐ŸŽจ Lint ๊ทœ์น™์— ๋งž์ถ”์–ด ์ฝ”๋“œ ์ˆ˜์ • + Demo App ์…‹ํŒ…

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜ ๋งž์ถ”์–ด ์ˆ˜์ •

* ๐Ÿ“ Demo App ์นด๋ฉ”๋ผ ํ™˜๊ฒฝ์„ค์ •

* ๐Ÿ› ์ „์— ๋„์› ๋˜ ํ™”๋ฉด์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ๋ชปํ•˜๋Š” ํ˜„์ƒ ๋ฒ„๊ทธ ํ”ฝ์Šค

* ๐ŸŽจ ์—ฌ์ • ์ €์žฅ Demo ์•ฑ ์„ธํŒ…

* ๐Ÿ“ Package MSNetworking, MSData ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ํƒ€์ž… ํ”„๋กœํผํ‹ฐ ์ˆ˜์ •

* โœจ ์—ฌ์ • ์ €์žฅ ํ™”๋ฉด ํ•˜๋‹จ์— ๋ฒ„ํŠผ ์Šคํƒ ์ถ”๊ฐ€

* โ™ป๏ธ Tree ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ Coordinator ๊ตฌํ˜„

* ๐Ÿ“ฆ ์—ฌ์ • ์ €์žฅ ํŒจํ‚ค์ง€์˜ Dependency์— MSData ์ถ”๊ฐ€

* ๐Ÿ“ฆ MSData ํŒจํ‚ค์ง€ ์ƒ์„ฑ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift
#	iOS/MSData/Package.swift
#	iOS/MusicSpot.xcworkspace/contents.xcworkspacedata
#	iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj

* ๐Ÿšš DTO ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ DTO์— public ์ถ”๊ฐ€

* โœจ Journey Mock ๋ฐ์ดํ„ฐ ์ ์šฉ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/Features/JourneyList/Sources/JourneyList/File.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Presentation/JourneyListViewModel.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Song.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Spot.swift
#	iOS/MSData/Resources/MockJourney.json
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ MSNetworking ์š”์†Œ๋“ค์— public ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* โ™ป๏ธ MSNetworking URL ๊ตฌ์กฐ ๋ณ€๊ฒฝ & Header ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* ๐ŸŽจ MSNetworking Error ์ด๋ฆ„ ๋ณ€๊ฒฝ & ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ MSNetworking์— timeout ์ถ”๊ฐ€

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* โœจ Journey Router ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋ˆ„๋ฝ๋œ popViewController ์ถ”๊ฐ€

* ๐Ÿ› ์—ฌ์ • ์ €์žฅ Demo์•ฑ์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์ˆ˜์ •

* ๐Ÿ“ MSNetworking ์— ๋Œ€ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO, ๋ณด๋‚ด๋Š” ์šฉ๊ณผ ๋ฐ›๋Š” ์šฉ์œผ๋กœ ํƒ€์ž… ๋ถ„๋ฆฌ

* ๐ŸŽจ Spot์— ๋Œ€ํ•œ router case ์ถ”๊ฐ€

* ๐ŸŽจ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐ŸŽจ ๋ช…์‹œ์  self ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO ์ƒ์„ฑ์ž ์ ‘๊ทผ ์ œํ•œ ์ˆ˜์ •

* ๐ŸŽจ SpotDTO์— ํ•„์š”ํ•œ ์ฝ”๋“œ ์ถ”๊ฐ€

* ๐Ÿ› SearchMusic์— ๋Œ€ํ•œ ์ž˜๋ชป๋œ ํ๋ฆ„์„ ์ˆ˜์ •

* ๐ŸŽจ ์—ฌ์ • ๋ฆฌ์ŠคํŠธ ์ž„์‹œ ์ˆ˜์ •

* ๐ŸŽจ ResponsibleDTO ์ž„์‹œ๋กœ Codable ์ฒ˜๋ฆฌ(ํšŒ์˜ ํ•„์š”)

* ๐ŸŽจ DTOConvertor ์ˆ˜์ •

* ๐Ÿšš ๋ˆ„๋ฝ๋œ ํŒŒ์ผ ์ถ”๊ฐ€

* ๐Ÿ“ Workspace ๋ฌธ์„œ ์ˆ˜์ •

* ๐Ÿ› JourneyList์˜ DTO ์—…๋ฐ์ดํŠธ

* ๐Ÿšš HomeMapScene ํŒจํ‚ค์ง€ ์‚ญ์ œ

* ๐ŸŽจ Resolve conflict

* [iOS] HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„ (#94)

* ๐Ÿšš (HomeMapScene): HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„

* โ™ป๏ธ Features ํด๋” ์ƒ์„ฑ

Module ๋‹จ์œ„ ๊ตฌ์กฐ๋กœ ์ธํ•ด Lint๋ฅผ ๋ชจ๋‘ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ•˜๋‚˜์˜ Features ํด๋” ์ƒ์„ฑ

* ๐ŸŽจ ๋ถˆํ•„์š”ํ•œ ์ค‘๋ณต ์ฝ”๋“œ ๋ฐ ๋ฏธ์‚ฌ์šฉ ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ๋‹ค๋ฅธ Package๋“ค ์ถ”๊ฐ€

* ๐ŸŽจ HomeMapScene Package ์„ค์ • ๋ณ€๊ฒฝ

* ๐Ÿšš Workspace ์ˆ˜์ •

* [iOS] ์—ฌ์ • ์™„๋ฃŒ Scene UI (#120)

* [iOS] MSButton ์ถ”๊ฐ€ (#73)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* โœจ MSButton & MSRectButton ์ถ”๊ฐ€

* [iOS] MSDesignSystem (#72)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* ๐Ÿ“ฆ JourneyListScene ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ‘ท SwiftLint ์ˆ˜์ •

* โœจ JourneyListViewController์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌํ•ญ ๊ตฌํ˜„

* โœจ JourneyList ํ—ค๋”์™€ Cell ์ถ”๊ฐ€

* ๐ŸŽจ ์“ฐ์ด์ง€ ์•Š๋Š” ํด๋กœ์ € ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

* โœจ JourneyListViewController ๊ตฌํ˜„

* โœจ StackView์— ์‚ฌ์šฉํ•  Spacer ์ถ”๊ฐ€

* โœจ ๋ˆ„๋ฝ๋œ Color ์ถ”๊ฐ€

* โœจ JourneyList UI ๊ตฌํ˜„

* ๐ŸŽจ ๋งค์ง ๋„˜๋ฒ„ Constantํ™”

* ๐Ÿšš ํ…Œ์ŠคํŠธ์šฉ ์•ฑ ํƒ€๊ฒŸ ์ฝ”๋“œ ์ œ๊ฑฐ & Dependency ํ•ด์ œ

* โ™ป๏ธ ์—ฌ์ • Cell์„ ๋ฆฌํŒฉํ† ๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

* ๐ŸŽจ Lint ์—๋Ÿฌ ๋Œ€์‘

* โ™ป๏ธ DataSource ๊ตฌ์กฐ์™€ Layout ๋ณ€๊ฒฝ

* โœจ ์—ฌ์ • ์ €์žฅ Spot Cell๊นŒ์ง€ UI ๊ตฌํ˜„

* ๐ŸŽจ Magic Number Constant๋กœ ๊ด€๋ฆฌ

* โœจ ์—ฌ์ • ์ €์žฅ UI ๊ตฌํ˜„

* ๐Ÿ“ฆ ํ…Œ์ŠคํŠธ ์•ฑ ํƒ€๊ฒŸ ์ œ๊ฑฐ

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ์ค‘๋ณต ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ํŒจํ‚ค์ง€ ์„ธํŒ… ํ•ด๊ฒฐ

* ๐Ÿšš ์ž„์‹œ ViewController๋“ค ์‚ญ์ œ

* โœจ Home (NavigateMap & JourneyList) ์ฝ”๋””๋„ค์ดํ„ฐ๋กœ ์—ฐ๊ฒฐ

* โœจ RewindJourney ์ฝ”๋””๋„ค์ดํ„ฐ ์—ฐ๊ฒฐ

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ์—ฌ์ • ๋ชฉ๋ก์ด ์Šคํฌ๋กค ๋˜๋Š” ๋™์•ˆ BottomSheet๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* โœจ BottomSheet์— Resize Indicator ์ถ”๊ฐ€

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Delegate ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ“ฆ MSUIKit์— MSLogger Dependency๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  Bottom Sheet์˜ State๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

* ๐Ÿ› BottomSheet ๋™์ž‘ ์˜ค๋ฅ˜ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๋ชฉ๋ก UI ๋ณ€๊ฒฝ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ๋“ค ์‚ญ์ œ

* ๐Ÿ“ฆ MSImageFetcher ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* โ™ป๏ธ MSCacheStorage์˜ ๋ฐ˜ํ™˜ ๊ฐ’์„ ๋‹จ์ˆœ enum์—์„œ Result ํƒ€์ž…๊ณผ MSCacheError๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ˜ํ™˜

* ๐Ÿงช MSCacheStorage ์ˆ˜์ •์— ๋”ฐ๋ฅธ Test Case ์ˆ˜์ •

* โœจ MSImageFetcher ๊ตฌํ˜„

* ๐Ÿ“ฆ SelectSong ํŒจํ‚ค์ง€ & ๋ฐ๋ชจ ์•ฑ ์„ธํŒ…

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ Cell ์ถ”๊ฐ€

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ™”๋ฉด UI ๊ตฌํ˜„

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ…์ŠคํŠธํ•„๋“œ์— ํ”Œ๋ ˆ์ด์Šคํ™€๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐Ÿšš ์—ฌ์ • ์ €์žฅ ๋ชจ๋ธ ํŒŒ์ผ ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ ๋Ÿฐ์น˜ ์Šคํฌ๋ฆฐ ์ˆ˜์ •

* ๐Ÿ› Logger ์ˆ˜์ •์— ๋”ฐ๋ฅธ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿงช ๋””๋ฒ„๊น…์šฉ ์ž„์‹œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์‚ญ์ œ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Model ์ˆ˜์ •ํ•˜๊ณ  Repository ์—ฐ๊ฒฐ

* โœจ ์—ฌ์ • ์ €์žฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* ๐Ÿšš Modal Background ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* โœจ MSAlertViewController ๊ตฌํ˜„

* โœจ ํ…์ŠคํŠธํ•„๋“œ AlertViewController์—์„œ ๋ถ„๋ฆฌํ•˜๊ณ  Feature์—์„œ ์ƒ์†๋ฐ›์•„ ์ถ”๊ฐ€

* ๐ŸŽจ Alert์˜ ๋ฒ„ํŠผ์— ๋กœ์ง์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿ› AlertViewController์˜ ๋นˆ ๊ณต๊ฐ„๋„ PanGesture๊ฐ€ ๋™์ž‘ํ•˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* โ™ป๏ธ NavigateMap Model ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* ๐ŸŽจ ์ผ๋ถ€ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ Lint ์ ์šฉ

* โœจ Home๊ด€๋ จ ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ์ž„์‹œ ์ ์šฉ

* โœจ ํ—ค๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐ŸŽจ Button ๋กœ์ง ์—ฐ๊ฒฐ ์ค€๋น„ & MediaPlayer ์ค€๋น„

* โ™ป๏ธ ์—ฌ์ • ์™„๋ฃŒ SpotCell UI & ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* ๐Ÿ“ TODO ์‚ญ์ œ & ์ถ”๊ฐ€

* ๐ŸŽจ Home Scene์—์„œ ์‚ฌ์šฉํ•  isRecording์„ UserDefaults์— ๋“ฑ๋ก

* ๐ŸŽจ RecordJourney ์‚ญ์ œ

* โœจ Home Scene ๋‚ด ๋ฒ„ํŠผ delegate ์ ์šฉ ์ค‘

* โœจ MusicKit ์‚ฌ์šฉํ•œ ์Œ์•… ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ ๋ฐ๋ชจ์•ฑ Bundle Identifier ์ˆ˜์ •

* ๐Ÿ› ์ŠคํŒŸ ๋ฒ„ํŠผ์ด ํƒญ ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* ๐ŸŽจ NavigateMapButtonStackView์—์„œ private ์ œ๊ฑฐ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Song ์ฃผ์ž… ๋ฐ›์€ ํ›„ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* โœจ ์—ฌ์ • ์ด๋ฆ„ ํ™”๋ฉด ํ‚ค๋ณด๋“œ ์กฐ์ • & ์ด๋ฆ„ ๋ฐ”์ธ๋”ฉ

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

# Conflicts:
#	iOS/Features/SelectSong/Package.swift

* โœจ ์—ฌ์ • ์™„๋ฃŒ ๋กœ์ง ๊ตฌํ˜„ ์™„๋ฃŒ (๋„คํŠธ์›Œํ‚น ์ œ์™ธ)

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ NavigateMap์— MSData Dependency ์ถ”๊ฐ€

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ MSData ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐Ÿšš ๋ชจ๋ธ ํŒŒ์ผ ์‚ญ์ œ & ์ปจ๋ฒค์…˜ ์ˆ˜์ •

* ๐ŸŽจ Resolve conflict

* ๐ŸŽจ ๋ฏธ์‚ฌ์šฉ import๋ฌธ ์ž„์‹œ ์ œ๊ฑฐ

* ๐ŸŽจ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์€ CacheStorage ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿ› ์ƒ์„ฑ์ž ์ฃผ์„ ์ฒ˜๋ฆฌ ํ•ด์ œ

* Update iOS/Features/RewindJourney/Sources/RewindJourney/MSProgressViewModel.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* Update iOS/MSData/Sources/MSData/Router/Journey/JourneyRouter.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* ๐ŸŽจ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>

* Delete iOS/MSCoreKit/Sources/MSNetworking/MSRouter.swift

* ๐Ÿ“ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿ› MSLogCategory ์ปจํ”Œ๋ฆญํŠธ ์ˆ˜์ •

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ํ”„๋ ˆ์ž„์›Œํฌ ์ˆ˜์ •

* ๐Ÿ“ฆ MSCoreKit ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ios ํŒŒ์ผ ์ถ”๊ฐ€

* ๋ฐฐํฌ ๋งํฌ ์ถ”๊ฐ€

---------

Co-authored-by: mingun <[email protected]>
Co-authored-by: Junnos ๏ฃฟ <[email protected]>
Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>
Co-authored-by: Xerath <[email protected]>
Co-authored-by: ์œค๋™์ฃผ <[email protected]>
* โœจ Journey Mock ๋ฐ์ดํ„ฐ ์ ์šฉ

* ๐Ÿ› ๋จธ์ง€ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๊ธฐ๋ก์˜ ์ด๋ฏธ์ง€๋ฅผ ๋„คํŠธ์›Œํฌ๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ JourneyCell ์š”์†Œ๋“ค์—์„œ Metric ์ƒ์ˆ˜ ๋ถ„๋ฆฌ

* ๐Ÿ“ Lint ๊ทœ์น™ ์ˆ˜์ •: ์ค‘์ฒฉ ํƒ€์ž… ์กฐ๊ฑด ์™„ํ™”(warning 2 -> 3)

* ๐ŸŽจ ์ ‘๊ทผ ์ œํ•œ์ž, ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* โœจ ๋˜๊ฐ๊ธฐ ๊ธฐ๋Šฅ ์ˆ˜์ •: ์ „์— ๋ณด์—ฌ์ฃผ์—ˆ๋˜ ์ด๋ฏธ์ง€๋“ค์˜ progressView๋„ ํ•˜์ด๋ผ์ดํŠธ ์ฒ˜๋ฆฌ

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* ๐ŸŽจ Test ์ฝ”๋“œ์—์„œ Lint disable

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* [iOS] SpotScene (#114)

* ๐Ÿ“ RewindJourney ํŒจํ‚ค์ง€ ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐Ÿ“ ๊ตฌํ˜„์— ํ•„์š”ํ•œ UIKit ๊ฐ€์ ธ์˜ค๊ธฐ

* ๐Ÿ“ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ package ํŒŒ์ผ ์ˆ˜์ •

* โœจ UI Scene ๊ตฌํ˜„

* ๐Ÿ“ Package ํŒŒ์ผ ์ƒ์„ฑ

* โœจ Scene UI ํ™”๋ฉด ๊ตฌํ˜„

---------

Co-authored-by: mingun <[email protected]>

* ๐ŸŽจ ์ƒ์ˆ˜ ๋ณ€์ˆ˜ read-only๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ isHighlight -> isHighlighted

* โœจ Preview ์ถ”๊ฐ€, album art ํ‘œ์ง€ ๋ณ€๊ฒฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Package Dependency ์ œ๊ฑฐ

* Workspace ์„ธํŒ… Cherry-Pick

* ๐Ÿ‘ท CI ์ ์šฉ

* ๐Ÿ“ฆ Workspace ์„ธํŒ…, Feature ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ“ฆ commit script์— ์ถ”๊ฐ€๋œ ํŒจํ‚ค์ง€ ์ถ”๊ฐ€

* ๐Ÿ“ฆ SpotView ํŒจํ‚ค์ง€ ์ด๋ฆ„ Spot์œผ๋กœ ์ˆ˜์ •

* ๐Ÿ“ฆ RewindJourneyView โžก๏ธ RewindJourney๋กœ ํŒจํ‚ค์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* ๐Ÿ“ฆ ํ”์ ๋งŒ ์žˆ๋Š” ํŒจํ‚ค์ง€ ์ƒˆ๋กœ ์ƒ์„ฑ

* ๐ŸŽจ ๋นŒ๋“œ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ •

* ๐Ÿšš Workspace์˜ Feature๋“ค์„ ๊ทธ๋ฃนํ™”

* ๐Ÿ“ฆ Dependency๋ฅผ ํ†ตํ•œ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ

* ๐Ÿ“ฆ Workspace์— Test ํƒ€๊ฒŸ ์ถ”๊ฐ€

* ๐Ÿ“ฆ ์•ฑ ํƒ€๊ฒŸ์—์„œ Core, Foundation, UIKit ํŒจํ‚ค์ง€ Dependency ์ œ๊ฑฐ

* ๐Ÿ‘ท test without build โžก๏ธ test

* ๐Ÿ“ฆ JourneyList์— MSData๋ฅผ Dependency๋กœ ์ถ”๊ฐ€

* ๐Ÿšš ๊ฐ Feature์— Demo ์•ฑ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

* ๐Ÿšš JourneyListDemo ์•ฑ ์„ธํŒ…

* ๐ŸŽจ LaunchScreen ์„ธํŒ…

* ๐Ÿ“ฆ MSFoundaiton์— Constants ํƒ€๊ฒŸ ์ถ”๊ฐ€

* โ™ป๏ธ MSCache ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ MSCacheStorage์˜ ๋ฉ”์„œ๋“œ๋“ค์— ๋ฌธ์„œํ™” ์„ค๋ช…์„ ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* ๐Ÿšš Coordinator ํŒจํ„ด ๊ตฌ์กฐ ๊ตฌํ˜„

* ๐ŸŽจ Coordinator ๊ด€๋ จ ์ฝ”๋“œ Lint ์ ์šฉํ•˜์—ฌ ์ˆ˜์ •

* ๐Ÿ› ์บ์‹ฑ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„ ์‹คํŒจํ•˜๋Š” ์—๋Ÿฌ ์ˆ˜์ •

* โœจ ์บ์‹œ๋ฅผ ์‚ญ์ œํ•  ๋Œ€์ƒ์„ ์„ ํƒํ•ด์„œ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿงช MSCacheStorage ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ

* ๐Ÿ› iOS 16.0 ๋ฏธ๋งŒ ๋ฒ„์ „์—์„œ ์บ์‹ฑ์ด ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐ŸŽจ Layout group์˜ ๋†’์ด๋ฅผ Cell์— ์ƒ์ˆ˜๋กœ ์ •์˜๋œ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

* ๐ŸŽจ Subtitle๋ฅผ ์ƒ์ˆ˜๋“ค๊ณผ ํ•จ๊ป˜ ๊ด€๋ฆฌ

* โœจ ์ž„์‹œ ์บ์‹ฑ ๋กœ์ง ๊ตฌํ˜„

* โœจ ํ˜„์žฌ ์œ„์น˜์—์„œ ๋‹ค์‹œ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ public API ํ•จ์ˆ˜ ์ƒ์„ฑ

* ๐ŸŽจ ๋น„์–ด์žˆ๋Š” MSData ํŒŒ์ผ ์‚ญ์ œ

* ๐ŸŽจ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐Ÿ› Dependency ์ถ”๊ฐ€

* โ™ป๏ธ Coordinator ๊ตฌ์กฐ์— Workspace ๋ธŒ๋žœ์น˜ dump

* ๐Ÿ“ฆ ํŒจํ‚ค์ง€ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ์ถ”๊ฐ€

* ๐ŸŽจ AppCoordinator ๋‚ด extension ๋ถ„๋ฆฌ, ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋‹ค์ค‘ pop ๋กœ์ง ๋ณ€๊ฒฝ

* ๐Ÿ“ CameraView ์ƒ์„ฑ

* โœจ ์นด๋ฉ”๋ผ UI ์ถ”๊ฐ€

* โœจ ์นด๋ฉ”๋ผ ๋กœ์ง ์ถ”๊ฐ€

* โ™ป๏ธ ์ฝ”๋“œ ์ •๋ฆฌ ๋ฐ ๊ตฌ์กฐ ๋ฆฌํŒฉํ† ๋ง

* ๐Ÿ“ ์ด๋ฏธ์ง€ ์†ก์ถœํ•ด์ฃผ๋Š” ๋กœ์ง์„ ๋‹ค๋ฃฐ viewModel ํŒŒ์ผ ์ƒ์„ฑ

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜์— ๋งž์ถ˜ ์ฝ”๋“œ ์ˆ˜์ •

* ๐ŸŽจ Commit ํŒŒ์ผ ์ˆ˜์ •

* ๐ŸŽจ Lint ๊ทœ์น™์— ๋งž์ถ”์–ด ์ฝ”๋“œ ์ˆ˜์ • + Demo App ์…‹ํŒ…

* ๐ŸŽจ Lint ์ปจ๋ฐด์…˜ ๋งž์ถ”์–ด ์ˆ˜์ •

* ๐Ÿ“ Demo App ์นด๋ฉ”๋ผ ํ™˜๊ฒฝ์„ค์ •

* ๐Ÿ› ์ „์— ๋„์› ๋˜ ํ™”๋ฉด์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ๋ชปํ•˜๋Š” ํ˜„์ƒ ๋ฒ„๊ทธ ํ”ฝ์Šค

* ๐ŸŽจ ์—ฌ์ • ์ €์žฅ Demo ์•ฑ ์„ธํŒ…

* ๐Ÿ“ Package MSNetworking, MSData ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ํƒ€์ž… ํ”„๋กœํผํ‹ฐ ์ˆ˜์ •

* โœจ ์—ฌ์ • ์ €์žฅ ํ™”๋ฉด ํ•˜๋‹จ์— ๋ฒ„ํŠผ ์Šคํƒ ์ถ”๊ฐ€

* โ™ป๏ธ Tree ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ Coordinator ๊ตฌํ˜„

* ๐Ÿ“ฆ ์—ฌ์ • ์ €์žฅ ํŒจํ‚ค์ง€์˜ Dependency์— MSData ์ถ”๊ฐ€

* ๐Ÿ“ฆ MSData ํŒจํ‚ค์ง€ ์ƒ์„ฑ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift
#	iOS/MSData/Package.swift
#	iOS/MusicSpot.xcworkspace/contents.xcworkspacedata
#	iOS/MusicSpot/MusicSpot.xcodeproj/project.pbxproj

* ๐Ÿšš DTO ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ DTO์— public ์ถ”๊ฐ€

* โœจ Journey Mock ๋ฐ์ดํ„ฐ ์ ์šฉ

# Conflicts:
#	iOS/Features/JourneyList/Package.swift
#	iOS/Features/JourneyList/Sources/JourneyList/File.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Presentation/JourneyListViewModel.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Song.swift
#	iOS/Features/JourneyList/Sources/JourneyList/Spot.swift
#	iOS/MSData/Resources/MockJourney.json
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ MSNetworking ์š”์†Œ๋“ค์— public ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* โ™ป๏ธ MSNetworking URL ๊ตฌ์กฐ ๋ณ€๊ฒฝ & Header ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSCoreKit/Sources/MSNetworking/MSNetworking.swift

* ๐ŸŽจ MSNetworking Error ์ด๋ฆ„ ๋ณ€๊ฒฝ & ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ MSNetworking์— timeout ์ถ”๊ฐ€

* ๐Ÿงช MSNetworking ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜์ •

* โœจ Journey Router ์ถ”๊ฐ€

# Conflicts:
#	iOS/MSData/Sources/MSData/Repository/JourneyRepository.swift

* ๐ŸŽจ ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ, ๋ˆ„๋ฝ๋œ popViewController ์ถ”๊ฐ€

* ๐Ÿ› ์—ฌ์ • ์ €์žฅ Demo์•ฑ์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์ˆ˜์ •

* ๐Ÿ“ MSNetworking ์— ๋Œ€ํ•œ ์˜์กด์„ฑ ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO, ๋ณด๋‚ด๋Š” ์šฉ๊ณผ ๋ฐ›๋Š” ์šฉ์œผ๋กœ ํƒ€์ž… ๋ถ„๋ฆฌ

* ๐ŸŽจ Spot์— ๋Œ€ํ•œ router case ์ถ”๊ฐ€

* ๐ŸŽจ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์— ๋งž๊ฒŒ ์ˆ˜์ •

* ๐ŸŽจ ๋ช…์‹œ์  self ์ถ”๊ฐ€

* ๐ŸŽจ SpotDTO ์ƒ์„ฑ์ž ์ ‘๊ทผ ์ œํ•œ ์ˆ˜์ •

* ๐ŸŽจ SpotDTO์— ํ•„์š”ํ•œ ์ฝ”๋“œ ์ถ”๊ฐ€

* ๐Ÿ› SearchMusic์— ๋Œ€ํ•œ ์ž˜๋ชป๋œ ํ๋ฆ„์„ ์ˆ˜์ •

* ๐ŸŽจ ์—ฌ์ • ๋ฆฌ์ŠคํŠธ ์ž„์‹œ ์ˆ˜์ •

* ๐ŸŽจ ResponsibleDTO ์ž„์‹œ๋กœ Codable ์ฒ˜๋ฆฌ(ํšŒ์˜ ํ•„์š”)

* ๐ŸŽจ DTOConvertor ์ˆ˜์ •

* ๐Ÿšš ๋ˆ„๋ฝ๋œ ํŒŒ์ผ ์ถ”๊ฐ€

* ๐Ÿ“ Workspace ๋ฌธ์„œ ์ˆ˜์ •

* ๐Ÿ› JourneyList์˜ DTO ์—…๋ฐ์ดํŠธ

* ๐Ÿšš HomeMapScene ํŒจํ‚ค์ง€ ์‚ญ์ œ

* ๐ŸŽจ Resolve conflict

* [iOS] HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„ (#94)

* ๐Ÿšš (HomeMapScene): HomeMapScene์— ๋Œ€ํ•œ UI ๋ฐ Polyline ๋“œ๋กœ์ž‰ ๊ตฌํ˜„

* โ™ป๏ธ Features ํด๋” ์ƒ์„ฑ

Module ๋‹จ์œ„ ๊ตฌ์กฐ๋กœ ์ธํ•ด Lint๋ฅผ ๋ชจ๋‘ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ•˜๋‚˜์˜ Features ํด๋” ์ƒ์„ฑ

* ๐ŸŽจ ๋ถˆํ•„์š”ํ•œ ์ค‘๋ณต ์ฝ”๋“œ ๋ฐ ๋ฏธ์‚ฌ์šฉ ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ๋‹ค๋ฅธ Package๋“ค ์ถ”๊ฐ€

* ๐ŸŽจ HomeMapScene Package ์„ค์ • ๋ณ€๊ฒฝ

* ๐Ÿšš Workspace ์ˆ˜์ •

* [iOS] ์—ฌ์ • ์™„๋ฃŒ Scene UI (#120)

* [iOS] MSButton ์ถ”๊ฐ€ (#73)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* โœจ MSButton & MSRectButton ์ถ”๊ฐ€

* [iOS] MSDesignSystem (#72)

* โœจ MSFont ์ถ”๊ฐ€ (Pretendard font)

* โœจ MSColor ์ถ”๊ฐ€

* โœจ MSIcon ์ถ”๊ฐ€

* ๐Ÿšš ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ & ์•ฑ ํƒ€๊ฒŸ์—์„œ UI ๋ชจ๋“ˆ ์ œ๊ฑฐ

* ๐Ÿ“ฆ JourneyListScene ํŒจํ‚ค์ง€ ์ƒ์„ฑ

* ๐Ÿ‘ท SwiftLint ์ˆ˜์ •

* โœจ JourneyListViewController์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌํ•ญ ๊ตฌํ˜„

* โœจ JourneyList ํ—ค๋”์™€ Cell ์ถ”๊ฐ€

* ๐ŸŽจ ์“ฐ์ด์ง€ ์•Š๋Š” ํด๋กœ์ € ํŒŒ๋ผ๋ฏธํ„ฐ ์ œ๊ฑฐ

* โœจ JourneyListViewController ๊ตฌํ˜„

* โœจ StackView์— ์‚ฌ์šฉํ•  Spacer ์ถ”๊ฐ€

* โœจ ๋ˆ„๋ฝ๋œ Color ์ถ”๊ฐ€

* โœจ JourneyList UI ๊ตฌํ˜„

* ๐ŸŽจ ๋งค์ง ๋„˜๋ฒ„ Constantํ™”

* ๐Ÿšš ํ…Œ์ŠคํŠธ์šฉ ์•ฑ ํƒ€๊ฒŸ ์ฝ”๋“œ ์ œ๊ฑฐ & Dependency ํ•ด์ œ

* โ™ป๏ธ ์—ฌ์ • Cell์„ ๋ฆฌํŒฉํ† ๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

* ๐ŸŽจ Lint ์—๋Ÿฌ ๋Œ€์‘

* โ™ป๏ธ DataSource ๊ตฌ์กฐ์™€ Layout ๋ณ€๊ฒฝ

* โœจ ์—ฌ์ • ์ €์žฅ Spot Cell๊นŒ์ง€ UI ๊ตฌํ˜„

* ๐ŸŽจ Magic Number Constant๋กœ ๊ด€๋ฆฌ

* โœจ ์—ฌ์ • ์ €์žฅ UI ๊ตฌํ˜„

* ๐Ÿ“ฆ ํ…Œ์ŠคํŠธ ์•ฑ ํƒ€๊ฒŸ ์ œ๊ฑฐ

* ๐Ÿšš MSDesignSystemTests ํƒ€๊ฒŸ ์‚ญ์ œ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿšš ์ค‘๋ณต ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ํŒจํ‚ค์ง€ ์„ธํŒ… ํ•ด๊ฒฐ

* ๐Ÿšš ์ž„์‹œ ViewController๋“ค ์‚ญ์ œ

* โœจ Home (NavigateMap & JourneyList) ์ฝ”๋””๋„ค์ดํ„ฐ๋กœ ์—ฐ๊ฒฐ

* โœจ RewindJourney ์ฝ”๋””๋„ค์ดํ„ฐ ์—ฐ๊ฒฐ

* ๐Ÿšš MSUIComponent ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ› ์—ฌ์ • ๋ชฉ๋ก์ด ์Šคํฌ๋กค ๋˜๋Š” ๋™์•ˆ BottomSheet๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* โœจ BottomSheet์— Resize Indicator ์ถ”๊ฐ€

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Delegate ํŒŒ์ผ ์‚ญ์ œ

* ๐Ÿ“ฆ MSUIKit์— MSLogger Dependency๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  Bottom Sheet์˜ State๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

* ๐Ÿ› BottomSheet ๋™์ž‘ ์˜ค๋ฅ˜ ์ˆ˜์ •

* โœจ ์—ฌ์ • ๋ชฉ๋ก UI ๋ณ€๊ฒฝ

* ๐Ÿšš ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŒŒ์ผ๋“ค ์‚ญ์ œ

* ๐Ÿ“ฆ MSImageFetcher ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€

* โ™ป๏ธ MSCacheStorage์˜ ๋ฐ˜ํ™˜ ๊ฐ’์„ ๋‹จ์ˆœ enum์—์„œ Result ํƒ€์ž…๊ณผ MSCacheError๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ˜ํ™˜

* ๐Ÿงช MSCacheStorage ์ˆ˜์ •์— ๋”ฐ๋ฅธ Test Case ์ˆ˜์ •

* โœจ MSImageFetcher ๊ตฌํ˜„

* ๐Ÿ“ฆ SelectSong ํŒจํ‚ค์ง€ & ๋ฐ๋ชจ ์•ฑ ์„ธํŒ…

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ Cell ์ถ”๊ฐ€

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ™”๋ฉด UI ๊ตฌํ˜„

* โœจ ์Œ์•… ๊ฒ€์ƒ‰ ํ…์ŠคํŠธํ•„๋“œ์— ํ”Œ๋ ˆ์ด์Šคํ™€๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐Ÿšš ์—ฌ์ • ์ €์žฅ ๋ชจ๋ธ ํŒŒ์ผ ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐ŸŽจ ๋Ÿฐ์น˜ ์Šคํฌ๋ฆฐ ์ˆ˜์ •

* ๐Ÿ› Logger ์ˆ˜์ •์— ๋”ฐ๋ฅธ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿงช ๋””๋ฒ„๊น…์šฉ ์ž„์‹œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์‚ญ์ œ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Model ์ˆ˜์ •ํ•˜๊ณ  Repository ์—ฐ๊ฒฐ

* โœจ ์—ฌ์ • ์ €์žฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* ๐Ÿšš Modal Background ์ปฌ๋Ÿฌ ์ถ”๊ฐ€

* โœจ MSAlertViewController ๊ตฌํ˜„

* โœจ ํ…์ŠคํŠธํ•„๋“œ AlertViewController์—์„œ ๋ถ„๋ฆฌํ•˜๊ณ  Feature์—์„œ ์ƒ์†๋ฐ›์•„ ์ถ”๊ฐ€

* ๐ŸŽจ Alert์˜ ๋ฒ„ํŠผ์— ๋กœ์ง์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* ๐Ÿ› AlertViewController์˜ ๋นˆ ๊ณต๊ฐ„๋„ PanGesture๊ฐ€ ๋™์ž‘ํ•˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* โ™ป๏ธ NavigateMap Model ๊ตฌ์กฐ ๋ณ€๊ฒฝ

* ๐ŸŽจ ์ผ๋ถ€ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ ๋ฐ Lint ์ ์šฉ

* โœจ Home๊ด€๋ จ ๋ฒ„ํŠผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ์ž„์‹œ ์ ์šฉ

* โœจ ํ—ค๋” ํ…์ŠคํŠธ ์ถ”๊ฐ€

* ๐ŸŽจ Button ๋กœ์ง ์—ฐ๊ฒฐ ์ค€๋น„ & MediaPlayer ์ค€๋น„

* โ™ป๏ธ ์—ฌ์ • ์™„๋ฃŒ SpotCell UI & ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* ๐Ÿ“ TODO ์‚ญ์ œ & ์ถ”๊ฐ€

* ๐ŸŽจ Home Scene์—์„œ ์‚ฌ์šฉํ•  isRecording์„ UserDefaults์— ๋“ฑ๋ก

* ๐ŸŽจ RecordJourney ์‚ญ์ œ

* โœจ Home Scene ๋‚ด ๋ฒ„ํŠผ delegate ์ ์šฉ ์ค‘

* โœจ MusicKit ์‚ฌ์šฉํ•œ ์Œ์•… ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* ๐ŸŽจ ๋ฐ๋ชจ์•ฑ Bundle Identifier ์ˆ˜์ •

* ๐Ÿ› ์ŠคํŒŸ ๋ฒ„ํŠผ์ด ํƒญ ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ ์ˆ˜์ •

* ๐ŸŽจ NavigateMapButtonStackView์—์„œ private ์ œ๊ฑฐ

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* โœจ Song ์ฃผ์ž… ๋ฐ›์€ ํ›„ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

* โœจ ์—ฌ์ • ์ด๋ฆ„ ํ™”๋ฉด ํ‚ค๋ณด๋“œ ์กฐ์ • & ์ด๋ฆ„ ๋ฐ”์ธ๋”ฉ

* โœจ UITextField์˜ CombineCocoa ์ถ”๊ฐ€

# Conflicts:
#	iOS/Features/SelectSong/Package.swift

* โœจ ์—ฌ์ • ์™„๋ฃŒ ๋กœ์ง ๊ตฌํ˜„ ์™„๋ฃŒ (๋„คํŠธ์›Œํ‚น ์ œ์™ธ)

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ NavigateMap์— MSData Dependency ์ถ”๊ฐ€

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐ŸŽจ Swift lint ๊ทœ์น™์— ๋งž์ถ˜ ์ฝ”๋“œ ์ •๋ฆฌ

* ๐Ÿ“ฆ MSData ๊ฒฝ๋กœ ์ˆ˜์ •

* ๐Ÿšš ๋ชจ๋ธ ํŒŒ์ผ ์‚ญ์ œ & ์ปจ๋ฒค์…˜ ์ˆ˜์ •

* ๐ŸŽจ Resolve conflict

* ๐ŸŽจ ๋ฏธ์‚ฌ์šฉ import๋ฌธ ์ž„์‹œ ์ œ๊ฑฐ

* ๐ŸŽจ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์€ CacheStorage ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿ› ์ƒ์„ฑ์ž ์ฃผ์„ ์ฒ˜๋ฆฌ ํ•ด์ œ

* Update iOS/Features/RewindJourney/Sources/RewindJourney/MSProgressViewModel.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* Update iOS/MSData/Sources/MSData/Router/Journey/JourneyRouter.swift

Co-authored-by: Junnos ๏ฃฟ <[email protected]>

* ๐ŸŽจ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>

* Delete iOS/MSCoreKit/Sources/MSNetworking/MSRouter.swift

* ๐Ÿ“ ์ฃผ์„ ์˜คํƒ€ ์ˆ˜์ •

* ๐Ÿ› ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐Ÿ› MSLogCategory ์ปจํ”Œ๋ฆญํŠธ ์ˆ˜์ •

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ํ”„๋ ˆ์ž„์›Œํฌ ์ˆ˜์ •

* ๐Ÿ“ฆ MSCoreKit ์ฃผ์„ ์ฒ˜๋ฆฌ

* ๐Ÿšš ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ๐ŸŽจ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* ios ํŒŒ์ผ ์ถ”๊ฐ€

* ๋ฐฐํฌ ๋ฒ„์ „ ์ˆ˜์ •

---------

Co-authored-by: Junnos ๏ฃฟ <[email protected]>
Co-authored-by: mingun <[email protected]>
Co-authored-by: ์ „๋ฏผ๊ฑด <[email protected]>
Co-authored-by: Xerath <[email protected]>
Co-authored-by: ์œค๋™์ฃผ <[email protected]>
@twoo1999 twoo1999 added the ๐Ÿš€ ๋ฐฐํฌ ์ •์‹ ๋ฒ„์ „ ๋ฆด๋ฆฌ์ฆˆ label Dec 14, 2023
@twoo1999 twoo1999 self-assigned this Dec 14, 2023
<<<<<<< HEAD
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ด๊ฑฐ ํ™•์ธ ๋ถ€ํƒ๋“œ๋ ค์š”!

@twoo1999 twoo1999 closed this Dec 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
๐Ÿš€ ๋ฐฐํฌ ์ •์‹ ๋ฒ„์ „ ๋ฆด๋ฆฌ์ฆˆ
Projects
Status: โœ… ์™„๋ฃŒ
Development

Successfully merging this pull request may close these issues.

2 participants