Skip to content

jihoooo97/neggu-ios

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

390 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๋„ค๊พธ - ๋„ค๊ฐ€ ๊พธ๋ฏธ๋Š” ์˜ท์žฅ

2025.02 ~ Now ์•ฑ์Šคํ† ์–ด ๋ฐ”๋กœ๊ฐ€๊ธฐ


๋„ค๊พธ๋Š” ๋””์ง€ํ„ธ ์˜ท์žฅ ๋ฐ ์ฝ”๋”” ์•„์นด์ด๋น™ ์„œ๋น„์Šค ์ž…๋‹ˆ๋‹ค.

์˜ท์„ ๋””์ง€ํ„ธ ์˜ท์žฅ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ณ , ์˜ท์žฅ์˜ ์˜ท๋“ค๋กœ ์ฝ”๋””๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์†Œ์ค‘ํ•œ ๋„ค๊พธ๋“ค์„ ์ˆ˜์ง‘ํ•ด๋ณด์„ธ์š”!


Mobile App Screen Mockup, Mosaic-2

๐Ÿ™ ํ˜„์žฌ๋Š” ๋””์ง€ํ„ธ ์˜ท์žฅ๊ณผ ์ฝ”๋”” ์ƒ์„ฑ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, V2์—์„œ ๊พธ๋ฉฐ์ฃผ๊ธฐ ๋ฐ ์ •๋ณด ์„ธ๋ถ„ํ™”, ์ทจํ–ฅ๋ถ„์„ ์ปจํ…์ธ ๋ฅผ ์ œ๊ณตํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.


โš™๏ธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

Swift Xcode SwiftUI Tuist Moya



โœจ ๊ธฐ๋Šฅ ์†Œ๊ฐœ

์˜ท์žฅ

์˜ท์žฅ ๋ณด๊ธฐ

  • ๋‚˜๋งŒ์˜ ์˜ท์žฅ์„ ์ฑ„์›Œ๊ฐ€๋ณด์„ธ์š”!
  • ๋“ฑ๋กํ•œ ์˜ท๋“ค์„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.
  • ์นดํ…Œ๊ณ ๋ฆฌ์™€ ๋ถ„์œ„๊ธฐ๋กœ ์˜ท์„ ํ•„ํ„ฐ๋ง ํ•  ์ˆ˜ ์žˆ์–ด์š”.

์˜ท ์ƒ์„ธ ๋ณด๊ธฐ

  • ๋“ฑ๋กํ•œ ์˜ท์˜ ์ƒ์„ธ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.

์˜ท ๋“ฑ๋กํ•˜๊ธฐ

  • ํ‰์†Œ์— ์‡ผํ•‘๋ชฐ์—์„œ ๋ˆˆ์—ฌ๊ฒจ ๋ณธ ์˜ท์˜ URL์„ ์ž…๋ ฅํ•ด์„œ ์˜ท์„ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ์นด๋ฉ”๋ผ์™€ ์•จ๋ฒ” ์‚ฌ์ง„์„ ํ†ตํ•ด ์˜ท์„ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ์นดํ…Œ๊ณ ๋ฆฌ, ๋ถ„์œ„๊ธฐ, ๋ธŒ๋žœ๋“œ, ๊ฐ€๊ฒฉ ๋“ฑ ์˜ท์˜ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•ด๋ณด์„ธ์š”.
์˜ท์žฅ ๋ณด๊ธฐ ์˜ท ์ƒ์„ธ ๋ณด๊ธฐ ์˜ท ๋“ฑ๋กํ•˜๊ธฐ



๋ฃฉ๋ถ

๋ฃฉ๋ถ ๋ณด๊ธฐ

  • ๋“ฑ๋กํ•œ ์ฝ”๋””๋“ค์„ ๋ชจ์€ ๋ฃฉ๋ถ์„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.
  • ์ผ์ •์ด ์˜ˆ์•ฝ๋œ ์ฝ”๋””๋„ ๋ชจ์•„์„œ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”. ์ผ์ •์„ ๋“ฑ๋กํ•˜๋ฉด ๋‹น์ผ ์˜ค์ „์— ์•Œ๋ฆผ์„ ๋ณด๋‚ด๋“œ๋ ค์š”.

์ฝ”๋”” ์ƒ์„ธ ๋ณด๊ธฐ

  • ๋‚ด๊ฐ€ ๋งŒ๋“  ์ฝ”๋””์˜ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.
  • ์ฝ”๋””๋ฅผ ์‚ฌ์ง„์œผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ์ผ์ •์„ ๋“ฑ๋กํ•ด ์ฝ”๋””๋ฅผ ์ž…์„ ๋‚ ์งœ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด์š”.

์ฝ”๋”” ๋“ฑ๋กํ•˜๊ธฐ

  • ๋“ฑ๋กํ•œ ์˜ท๋“ค์„ ๋“œ๋ž˜๊ทธํ•˜์—ฌ ๋‚˜๋งŒ์˜ ์ƒˆ๋กœ์šด ์ฝ”๋””๋ฅผ ์ƒ์„ฑํ•ด๋ณด์„ธ์š”!
๋ฃฉ๋ถ ๋ณด๊ธฐ ์ฝ”๋”” ์ƒ์„ธ ๋ณด๊ธฐ ์ฝ”๋”” ๋“ฑ๋กํ•˜๊ธฐ



๐Ÿ“š ์Šคํ‚ฌ

Clean Architecture + MVVM(I/O)

graph LR
subgraph Presentation
	A(View)
	B(ViewModel)
	A -.Input.-> B
	B -.Output.-> A
end
   
subgraph Domain
	C(Usecase<br>Protocol)
	D(Usecase)
	E(Service<br>Protocol)
	B ---> C
  D --> C
  D --> E
end
    
subgraph Networks
  F(Service)
  G(Server)
  F --> E
  F -.Request.-> G
  G -.Response.-> F
end
Loading
  • Feature, Domain, Network Layer๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ฐ Layer์˜ ์—ญํ• ์„ ๋‚˜๋ˆ„์—ˆ์Šต๋‹ˆ๋‹ค.
  • MVVM ํŒจํ„ด์œผ๋กœ UI ๋กœ์ง๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋ถ„๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ViewModel์—์„œ ์‚ฌ์šฉ์ž์˜ ์ด๋ฒคํŠธ์™€ ํ™”๋ฉด์— ๋ณด์—ฌ์งˆ ๋ฐ์ดํ„ฐ๋ฅผ Input Output ๊ตฌ์กฐ๋กœ ์ •์˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

Modular Architecture (Tuist)

alt text

  • ๋„ค๊พธ๋Š” ์ถ”ํ›„ ์„œ๋น„์Šค ํ™•์žฅ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„์„œ Modular Architecture๋ฅผ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Tuist๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐ ๋ชจ๋“ˆ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์‘์ง‘๋„๊ฐ€ ๋†’๊ณ  ๊ฒฐํ•ฉ๋„๊ฐ€ ๋‚ฎ์€ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ Feature๋Š” ๋…๋ฆฝ์ ์ด์–ด์„œ Feature ๊ฐ„ ์ฐธ์กฐ๊ฐ€ ํ•„์š”ํ•  ๊ฒฝ์šฐ Feature Interface๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.

Router + Builder(Factory)

graph TD
App(App)
A(AuthRouter)
A1(Onboarding)
A2(SignIn)
A3(SignUpRouter)
A4(SignUpCompleteRouter)

T(TabRouter)
C(ClosetRouter)
C1(ClothesDetailRouter)
C2(ClothesRegisterRouter)

L(LookBookRouter)
L1(LookBookDetailRouter)
L2(LookBookRegisterRouter)

App --> X1{๋กœ๊ทธ์ธ ์—ฌ๋ถ€}
X1 -- ์˜ˆ ---> T

T --> C
ClosetBuilder -.-> C
C --> C1
C --> C2
C1 --> C2

T --> L
LookBookBuilder -.-> L
L --> L1
L --> L2
L --> SettingRouter
L1 --> C1

AuthBuilder -.-> A
X1 -- ์•„๋‹ˆ์š” --> A
A --> X2{์•ฑ ์ฒ˜์Œ ์‹œ์ž‘?}
X2 -- ์˜ˆ --> A1
X2 -- ์•„๋‹ˆ์š” --> A2
A2 --SignUp Flow--> A3
A3 --> A4
Loading
  • ํ™”๋ฉด ์ „ํ™˜์„ Router ๊ฐ์ฒด๊ฐ€ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
  • Router๋Š” Routable ํ”„๋กœํ† ์ฝœ์„ ๋”ฐ๋ฅด๋ฉฐ, Routable ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜์—ฌ NavigationPath๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ์ถ”๊ฐ€๋œ Router๋งŒ ์—ฐ๊ฒฐํ•˜๋ฉด ํ™”๋ฉด ์ „ํ™˜์ด ์ด๋ฃจ์–ด์ง€๋„๋ก ํ™•์žฅ์— ๋Œ€๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Router๋Š” Builder ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด View๋ฅผ ์ฃผ์ž…๋ฐ›์•„ ํ™”๋ฉด์„ ๊ทธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



๐Ÿ“ฑ ๋ฒ„์ „ ์ •๋ณด

v1.0.0 - 2025.07

  • ์˜ท ๋“ฑ๋ก, ์ฝ”๋”” ๋“ฑ๋ก ๋ฐ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • ๋“ฑ๋ก๋œ ์ฝ”๋””์˜ ์ผ์ • ์„ค์ • ๊ธฐ๋Šฅ ๊ตฌํ˜„

About

neggu iOS ๐ŸŽ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Swift 100.0%