| ๋๋ | ํฐ๋ชจ | ๋ฒจ๋ผ |
|---|---|---|
| ์ฌ์ง1 | ์ฌ์ง2 | ์ฌ์ง3 |
| FE | FE | FE |
| GitHub | GitHub | GitHub |
2025๋ ์ ์ ํ์ โ๊ฒฐ๊ณผโ๊ฐ ์๋ โ์ด์ โ๋ก ํ๊ณ ํ์ฌ, ํ ํด ๋์ ํ์ฑ๋ ๋๋ง์ ํ๋จ ๊ธฐ์ค์ ์ ๋ฆฌํด์ฃผ๋ ์๋น์ค
- ์ ์ฒด ๊ธฐ๊ฐ:
2025.12.12 - 2025.12.22 - ๊ฐ๋ฐ ๊ธฐ๊ฐ:
2025.12.16 - 2025.12.22
For building and running the application you need:
iOS 26.0
Xcode 26
Swift 6.2
- Front : SwiftUI
- ๋ฒ์ ๋ฐ ์ด์ ๊ด๋ฆฌ : Github, Github Issues
- ํ์ ํด : Discord, Notion
|
|
|
- main (master) : ์ถ์ ๊ฐ๋ฅํ ์ํ์ ์ฝ๋๋ฅผ ๋ชจ์๋๋ ๋ธ๋์น (์ง์ push โ, PR๋ก๋ง ๋ณํฉ)
- develop : ๋ค์ ๋ฒ์ ์ ์ํด ๊ฐ๋ฐ ์ค์ธ ์ฝ๋๋ฅผ ๋ชจ์ผ๋ ๋ธ๋์น (๊ธฐ๋ณธ ๋ฒ ์ด์ค)
- feature : ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋ ๋ธ๋์น (develop์์ ๋ถ๊ธฐ)
- fix : ๋ฒ๊ทธ๋ฅผ ์์ ํ๋ ๋ธ๋์น
{ํ๊ทธ} / #{์ด์๋ฒํธ}-{๊ธฐ๋ฅ์ค๋ช }
- ํ๊ทธ๋ ์๋ฌธ์๋ก ์์ฑํฉ๋๋ค.
- ์ด์๋ฒํธ๋ Github Issues์ ๋ฑ๋ก๋ ๋ฒํธ๋ฅผ ์ ์ต๋๋ค. (์ถ์ ์ฉ์ด)
- ๊ธฐ๋ฅ์ค๋ช ์ ์งง์ ์์ด ๋จ์ด๋ก, ๋์ด์ฐ๊ธฐ๋ ํ์ดํ(-)์ผ๋ก ์ฐ๊ฒฐํฉ๋๋ค.
feat/#13-login-ui(13๋ฒ ์ด์์ธ ๋ก๊ทธ์ธ UI ๊ตฌํ)fix/#20-token-error(20๋ฒ ์ด์์ธ ํ ํฐ ์๋ฌ ์์ )refactor/#5-api-structure(5๋ฒ ์ด์์ธ API ๊ตฌ์กฐ ๊ฐ์ )
์์ | [์ปค๋ฐ์ ํ] ์ด์ ๋ด์ฉ ์์ | [FEAT] ์ฌ์ฉ์ ๋ก๊ทธ์ธ API ๊ตฌํ
-
๋ณ์ & ์์
- ์นด๋ฉ ์ผ์ด์ค(camelCase) ์ฌ์ฉ
- ์๋ฏธ ์๊ณ ์ค๋ช ์ ์ธ ์ด๋ฆ ์ฌ์ฉ
- ๋๋ฌด ์งง๊ฑฐ๋ ๋ชจํธํ ์ด๋ฆ ํผํ๊ธฐ
-
ํจ์ & ๋ฉ์๋
- ๋์ฌ๋ก ์์
- ํจ์์ ์ญํ ์ ๋ช ํํ ์ค๋ช
-
ํด๋์ค & ๊ตฌ์กฐ์ฒด & ์ด๊ฑฐํ
- ๋๋ฌธ์๋ก ์์ (PascalCase)
-
ํ์ ์ถ๋ก
// Bad: ๋ถํ์ํ ํ์
๋ช
์
let explicitDouble: Double = 70.0
// Good: ํ์
์ถ๋ก ์ฌ์ฉ
let implicitDouble = 70.0
- ์ค๋ฅ ์ฒ๋ฆฌ
enum NetworkError: Error {
case badURL
case noData
}
func fetchData(from urlString: String) throws -> Data {
guard let url = URL(string: urlString) else {
throw NetworkError.badURL
}
// ... (์๋ต)
throw NetworkError.noData
}
// ์ฌ์ฉ ์์
do {
let data = try fetchData(from: "https://example.com")
print("Data fetched successfully")
} catch NetworkError.badURL {
print("Invalid URL")
} catch {
print("Unknown error")
}
-
๋ค์ฌ์ฐ๊ธฐ๋ tab ๋์ ๋์ด์ฐ๊ธฐ 4๊ฐ๋ก
-
์ฐ์ฐ์ ์ฃผ๋ณ ๊ณต๋ฐฑ
// ์ข์ ์
let result = 1 + 2
// ๋์ ์
let result=1+2
- ์ค๊ดํธ๋ ์ํฐ ์์ด ์ด๊ธฐ
// ์ข์ ์
func doSomething() {
// ...
}
// ๋์ ์
func doSomething()
{
// ...
}
- ์ฝ๋ก ๋ค์๋ง ๊ณต๋ฐฑ์ ๋ก๋๋ค.
let value: Int
- PR ์, ํ
ํ๋ฆฟ์ด ๋ฑ์ฅํ๋ค. ํด๋น ํ
ํ๋ฆฟ์์ ์์ฑํด์ผํ ๋ถ๋ถ์ ์๋์ ๊ฐ๋ค
PR ์ ํ ์์ฑ, ์ด๋ค ๋ณ๊ฒฝ ์ฌํญ์ด ์์๋์ง [] ๊ดํธ ์ฌ์ด์ x๋ฅผ ์ ๋ ฅํ์ฌ ์ฒดํฌํ ์ ์๋๋ก ํ๋ค.์์ ๋ด์ฉ ์์ฑ, ์์ ๋ด์ฉ์ ๋ํด ์์ธํ๊ฒ ์์ฑ์ ํ๋ค.์ถํ ์งํํ ์์, PR ์ดํ ์์ ํ ๋ด์ฉ์ ๋ํด ์์ฑํ๋ค๋ฆฌ๋ทฐ ํฌ์ธํธ, ๋ณธ์ธ PR์์ ๊ผญ ํ์ธํด์ผ ํ ๋ถ๋ถ์ ์์ฑํ๋ค.PR ํ๊ทธ ์ข ๋ฅ, PR ์ ๋ชฉ์ ํ๊ทธ๋ ์๋ ํ์์ ๋ฐ๋ฅธ๋ค.
Feat: ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐFix: ๋ฒ๊ทธ ์์ Design: CSS, UI/UX ๋์์ธ ๋ณ๊ฒฝ!BREAKING CHANGE: ์ปค๋ค๋ API ๋ณ๊ฒฝ์ ๊ฒฝ์ฐ!HOTFIX: ๊ธํ๊ฒ ์น๋ช ์ ์ธ ๋ฒ๊ทธ๋ฅผ ๊ณ ์ณ์ผ ํ๋ ๊ฒฝ์ฐStyle: ์ฝ๋ ํฌ๋งทํ , ์ธ๋ฏธ์ฝ๋ก ๋๋ฝ, ์ฝ๋ ๋ณ๊ฒฝ์ด ์๋ ๊ฒฝ์ฐRefactor: ์ฝ๋ ๋ฆฌํฉํ ๋ง (๊ธฐ๋ฅ ๋ณ๊ฒฝ ์์, ์ฝ๋ ๊ตฌ์กฐ ๊ฐ์ )Comment: ํ์ํ ์ฃผ์ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝDocs: ๋ฌธ์ ์์ Test: ํ ์คํธ ์ฝ๋ ์ถ๊ฐ, ํ ์คํธ ๋ฆฌํฉํ ๋งChore: ๋น๋ ์ ๋ฌด ์์ , ํจํค์ง ๋งค๋์ ์์ , ํ๋ก์ ํธ ์ธํRename: ํ์ผ ํน์ ํด๋๋ช ์ ์์ ํ๊ฑฐ๋ ์ฎ๊ธฐ๋ ๊ฒฝ์ฐRemove: ํ์ผ์ ์ญ์ ํ๋ ๊ฒฝ์ฐ
๐ [Chore] ํ๋ก์ ํธ ์ด๊ธฐ ์ธํ
โจ [Feat] ํ๋กํ ํ๋ฉด UI ๊ตฌํ
๐ [Fix] iOS 17์์ ๋ฒํผ ํด๋ฆญ ์ค๋ฅ ์์
๐ [Design] ๋ก๊ทธ์ธ ํ๋ฉด ๋ ์ด์์ ์กฐ์
๐ [Docs] README์ ํ๋ก์ ํธ ์๊ฐ ์ถ๊ฐ
| ์์ด์ฝ | ์ฝ๋ | ์ค๋ช | ์๋ฌธ |
|---|---|---|---|
| ๐ | bug | ๋ฒ๊ทธ ์์ | Fix a bug |
| โจ | sparkles | ์ ๊ธฐ๋ฅ | Introduce new features |
| ๐ | lipstick | UI/์คํ์ผ ํ์ผ ์ถ๊ฐ/์์ | Add or update the UI and style files |
| โป๏ธ | recycle | ์ฝ๋ ๋ฆฌํฉํ ๋ง | Refactor code |
| โ | heavy_plus_sign | ์์กด์ฑ ์ถ๊ฐ | Add a dependency |
| ๐ | twisted_rightwards_arrows | ๋ธ๋์น ํฉ๋ณ | Merge branches |
| ๐ก | bulb | ์ฃผ์ ์ถ๊ฐ/์์ | Add or update comments in source code |
| ๐ฅ | fire | ์ฝ๋/ํ์ผ ์ญ์ | Remove code or files |
| ๐ | ambulance | ๊ธด๊ธ ์์ | Critical hotfix |
| ๐ | tada | ํ๋ก์ ํธ ์์ | Begin a project |
| ๐ | lock | ๋ณด์ ์ด์ ์์ | Fix security issues |
| ๐ | bookmark | ๋ฆด๋ฆฌ์ฆ/๋ฒ์ ํ๊ทธ | Release / Version tags |
| ๐ | memo | ๋ฌธ์ ์ถ๊ฐ/์์ | Add or update documentation |
| ๐ง | wrench | ๊ตฌ์ฑ ํ์ผ ์ถ๊ฐ/์ญ์ | Add or update configuration files. |
| โก๏ธ | zap | ์ฑ๋ฅ ๊ฐ์ | Improve performance |
| ๐จ | art | ์ฝ๋ ๊ตฌ์กฐ ๊ฐ์ | Improve structure / format of the code |
| ๐ฆ | package | ์ปดํ์ผ๋ ํ์ผ ์ถ๊ฐ/์์ | Add or update compiled files |
| ๐ฝ | alien | ์ธ๋ถ API ๋ณ๊ฒฝ ๋ฐ์ | Update code due to external API changes |
| ๐ | truck | ๋ฆฌ์์ค ์ด๋, ์ด๋ฆ ๋ณ๊ฒฝ | Move or rename resources |
| ๐ | see_no_evil | .gitignore ์ถ๊ฐ/์์ | Add or update a .gitignore file |
Feat: ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐFix: ๋ฒ๊ทธ ์์ Design: ์ฌ์ฉ์ UI ๋์์ธ ๋ณ๊ฒฝ (CSS ๋ฑ)!BREAKING CHANGE: ์ปค๋ค๋ API ๋ณ๊ฒฝ์ ๊ฒฝ์ฐ!HOTFIX: ๊ธํ๊ฒ ์น๋ช ์ ์ธ ๋ฒ๊ทธ๋ฅผ ๊ณ ์ณ์ผ ํ๋ ๊ฒฝ์ฐStyle: ์ฝ๋ ํฌ๋งทํ , ์ธ๋ฏธ์ฝ๋ก ๋๋ฝ, ์ฝ๋ ๋ณ๊ฒฝ์ด ์๋ ๊ฒฝ์ฐRefactor: ์ฝ๋ ๋ฆฌํฉํ ๋ง (๊ธฐ๋ฅ ๋ณ๊ฒฝ ์์, ์ฝ๋ ๊ตฌ์กฐ ๊ฐ์ )Comment: ํ์ํ ์ฃผ์ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝDocs: ๋ฌธ์ ์์ Test: ํ ์คํธ ์ฝ๋ ์ถ๊ฐ, ํ ์คํธ ๋ฆฌํฉํ ๋งChore: ๋น๋ ์ ๋ฌด ์์ , ํจํค์ง ๋งค๋์ ์์ , ํ๋ก์ ํธ ์ธํRename: ํ์ผ ํน์ ํด๋๋ช ์ ์์ ํ๊ฑฐ๋ ์ฎ๊ธฐ๋ ๊ฒฝ์ฐRemove: ํ์ผ์ ์ญ์ ํ๋ ๊ฒฝ์ฐ
๐ [Chore] ํ๋ก์ ํธ ์ด๊ธฐ ์ธํ
โจ [Feat] ํ๋กํ ํ๋ฉด UI ๊ตฌํ
๐ [Fix] iOS 17์์ ๋ฒํผ ํด๋ฆญ ์ค๋ฅ ์์
๐ [Design] ๋ก๊ทธ์ธ ํ๋ฉด ๋ ์ด์์ ์กฐ์
๐ [Docs] README์ ํ๋ก์ ํธ ์๊ฐ ์ถ๊ฐ
MyProject/
โโโ App/ # ์ฑ ์ง์
์
โโโ Root/ # ์ฑ ์์ ํ๋ฆ ๋ฐ ํ๋ฉด
๋ถ๊ธฐ
โโโ Model/ # ๋ฐ์ดํฐ ๋ชจ๋ธ ๊ณ์ธต (๋ทฐ๋ชจ๋ธ&๋ทฐ)
โ โโโ Entity/
โ โโโ DTO/
โ โโโ Realm/
โโโ Module/ # ๊ธฐ๋ฅ ๋จ์ ๋ชจ๋
โโโ Service/ # ๋น์ฆ๋์ค ๋ก์ง
โโโ Network/ # ๋คํธ์ํฌ ํต์
โโโ Storage/ # ๋ก์ปฌ ์ ์ฅ์
โโโ Component/ # ์ฌ์ฌ์ฉ UI ์ปดํฌ๋ํธ
โโโ Resource/ # ์ฑ ๋ฆฌ์์ค
โโโ Config/ # ์ฑ ํ๊ฒฝ ์ค์
โโโ Enum/ # ๊ณตํต Enum
โโโ Util/ # ๊ณตํต ์ ํธ๋ฆฌํฐ


