Skip to content

Commit

Permalink
๐Ÿ“ :: [#33] README.md ์ˆ˜์ •
Browse files Browse the repository at this point in the history
  • Loading branch information
Xixn2 committed Dec 29, 2024
1 parent f809339 commit 3af90d3
Showing 1 changed file with 21 additions and 86 deletions.
107 changes: 21 additions & 86 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,86 +1,21 @@
# Template ๊ฐœ์š”
## Template ์‚ฌ์šฉ๋ฒ•
- ํ•ด๋‹น ๋ ˆํฌ์ง€ํ† ๋ฆฌ์—์„œ `Use this template` ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Github์— Repo๋ฅผ ๋งŒ๋“ค์–ด ์‹œ์ž‘
- ํ•ด๋‹น ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ Fork ํ˜น์€ Downloadํ•˜์—ฌ ์‹œ์ž‘

## ๋ ˆ์ด์–ด
Features - Services - Core - UserInterface - Shared
5๊ฐœ์˜ ๋ ˆ์ด์–ด๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

- Feature
- ์‚ฌ์šฉ์ž์˜ ์•ก์…˜์„ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š”, ์‚ฌ์šฉ์ž์™€ ์ง์ ‘ ๋งž๋‹ฟ๋Š” ๋ ˆ์ด์–ด
- ex) AuthFeature, ProfileFeature
- Domain
- ๋„๋ฉ”์ธ ๋กœ์ง์ด ์ง„ํ–‰๋˜๋Š” ๋ ˆ์ด์–ด
- ex) AuthDomain, ProfileDomain
- Core
- ์•ฑ์˜ ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๊ณ  ์ˆœ์ˆ˜ ๊ธฐ๋Šฅ์„ฑ ๋ชจ๋“ˆ์ด ์œ„์น˜ํ•œ ๋ ˆ์ด์–ด
- ex) NetworkingModule, DatabaseModule
- UserInterface
- ๊ณต์šฉ View, ๋””์ž์ธ ์‹œ์Šคํ…œ, ๋ฆฌ์†Œ์Šค ๋“ฑ UI ์š”์†Œ ๋ชจ๋“ˆ์ด ์œ„์น˜ํ•œ ๋ ˆ์ด์–ด
- ex) DesignSystem, LocalizableManager
- Shared
- ๋กœ๊น…, extension ๋“ฑ ๋ชจ๋“  ๋ ˆ์ด์–ด์—์„œ ๊ณต์šฉ์œผ๋กœ ์žฌ์‚ฌ์šฉ๋  ๋ชจ๋“ˆ์ด ์œ„์น˜ํ•œ ๋ ˆ์ด์–ด
- ex) UtilityModule, LoggingModule

์„ ์ƒ๊ฐํ•˜์—ฌ ๋ ˆ์ด์–ด๋ฅผ ๋ถ„๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.

## Micro Feature
๊ฐ ๋ชจ๋“ˆ์€ Micro Feature ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๊ณ„๋ฉ๋‹ˆ๋‹ค.
ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ์ปค์ง€๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๊ธฐ๋Šฅ๋ณ„๋กœ ์ˆ˜ํ‰ ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก Micro Service์—์„œ ์˜๊ฐ์„ ์–ป์€ ์•„ํ‚คํ…์ณ์ž…๋‹ˆ๋‹ค.

<img src="https://user-images.githubusercontent.com/74440939/210211725-5ac7c9fe-bf25-4707-9775-4f46f1c0c522.png" width="200">

##### https://docs.tuist.io/building-at-scale/microfeatures/#product

## ํ”„๋กœ์ ํŠธ ์„ธํŒ…
ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์—์„œ `make init` ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ, ํ”„๋กœ์ ํŠธ ์ด๋ฆ„๊ณผ organization ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์—ฌ ๊ธฐ๋ณธ ์„ค์ •์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์—์„œ `make signing`๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ํ”„๋กœ์ ํŠธ Team Signing์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

## ๋ชจ๋“ˆ ์ƒ์„ฑ
ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์—์„œ `make module`๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ชจ๋“ˆ ๋ ˆ์ด์–ด, ์ด๋ฆ„, Micro Feature ์ข…๋ฅ˜๋ฅผ ์„ ํƒํ•˜์—ฌ ์ƒˆ ๋ชจ๋“ˆ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

## Makefile
ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.
- make init : `ํ”„๋กœ์ ํŠธ ์ด๋ฆ„๊ณผ organization์„ ์ž…๋ ฅํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ๊ธฐ๋ณธ ์„ธํŒ…`
- swift Scripts/InitEnvironment.swift

- make signing : `ํ”„๋กœ์ ํŠธ Team Signing`
- swift Scripts/CodeSigning.swift

- make generate : `์™ธ๋ถ€ ๋””ํŽœ๋˜์‹œ fetch ๋ฐ ํ”„๋กœ์ ํŠธ generate`
- tuist fetch
- tuist generate

- make module : `๋ชจ๋“ˆ ์ƒ์„ฑ`
- swift Scripts/GenerateModule.swift

- make dependency : `๋””ํŽœ๋˜์‹œ ์ถ”๊ฐ€`
- swift Scripts/NewDependency.swift

- make ci_generate : `๋””ํŽœ๋˜์‹œ fetch ๋ฐ CI์šฉ ํ”„๋กœ์ ํŠธ generate (SwiftLint X)`
- tuist fetch
- TUIST_ENV=CI tuist generate

- make cd_generate : `๋””ํŽœ๋˜์‹œ fetch ๋ฐ CI์šฉ ํ”„๋กœ์ ํŠธ generate (SwiftLint X)`
- tuist fetch
- TUIST_ENV=CD tuist generate

- make clean : `์ „์ฒด xcodeproj, xcworkspace ํŒŒ์ผ ์‚ญ์ œ`
- rm -rf **/*.xcodeproj
- rm -rf *.xcworkspace

- make reset : `tuist clean ํ›„, ์ „์ฒด xcodeproj, xcworkspace ํŒŒ์ผ ์‚ญ์ œ`
- tuist clean
- rm -rf **/*.xcodeproj
- rm -rf *.xcworkspace

## Scaffold
```sh
tuist Scaffold(Demo/Interface/Sources/Testing/Tests/UITests)
--layer (Features/Services/Core/Shared/UserInterface ๋ ˆ์ด์–ด ์ด๋ฆ„)
--name (๋ชจ๋“ˆ ์ด๋ฆ„)
```

์œผ๋กœ Project ๋ชจ๋“ˆ์˜ Target ๋ชจ๋“ˆ์„ ์ง์ ‘ ์ƒ์„ฑ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
![ppt](https://github.com/user-attachments/assets/fe8c2b3e-e0ee-49bd-9ac7-b2f8e8d30515)
ใ…ค
# ๐Ÿค”ใ…ฃGPle?
"**GPle์ด๋ž€?** GSM Place์˜ ์ค„์ž„๋ง๋กœ, GSM ์•„์ด๋””์–ดํŽ˜์Šคํ‹ฐ๋ฒŒ์„ ์œ„ํ•ด 7๊ธฐ ํ•™์ƒ๋“ค์ด ํ•œ ํŒ€์ด ๋˜์–ด ๋งŒ๋“  ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.
์ด ์•ฑ์€ GSM์˜ ๋‹ค์–‘ํ•œ ์žฅ์†Œ์—์„œ ์ดฌ์˜ํ•œ ์‚ฌ์ง„์„ **์†์‰ฝ๊ฒŒ ๊ณต์œ **ํ•˜๊ณ , ์œ„์น˜๋ณ„๋กœ ๋ชจ์ธ ์‚ฌ์ง„๋“ค์„ ํ†ตํ•ด
**์„œ๋กœ์˜ ์ถ”์–ต**์„ ๋˜์ƒˆ๊ธฐ๋ฉฐ **์ฆ๊ฑฐ์šด ์ˆœ๊ฐ„**๋“ค์„ ํ•จ๊ป˜ ๋‚˜๋ˆ„๋Š” ๊ฒฝํ—˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค."

ใ…ค
### GPle ํ™”๋ฉด
|์˜จ๋ณด๋”ฉ|๋ฉ”์ธ|์ž์„ธํžˆ๋ณด๊ธฐ|๋žญํ‚น|๋งˆ์ดํŽ˜์ด์ง€
|:---:|:---:|:---:|:---:|:---:|
|<img src="https://github.com/user-attachments/assets/f7aca390-8a24-4985-8ec9-6da2e7a4f71f" width="300px">|<img src="https://github.com/user-attachments/assets/ed773ab8-3493-44fc-a514-d187205bc07d" width="300px">|<img src="https://github.com/user-attachments/assets/474197f5-67a6-41a4-ac1a-9402fc8a43ea" width="300px">|<img src="https://github.com/user-attachments/assets/1bbc992b-3106-4b50-a1f3-6769ae82d2f8" width="300px">|<img src="https://github.com/user-attachments/assets/d440e43f-f377-4c81-b126-b751164823e5" width="300px">

ใ…ค
# ๐Ÿ› ๏ธใ…ฃTechStack
- SwiftUI
- Tuist
- Mvvm
- Github Action
- Moya
- GoogleSignIn

0 comments on commit 3af90d3

Please sign in to comment.