Skip to content

WHY-LOG/WHY-LOG-Frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

121 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ WHY-LOG

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2025-12-16 แ„‹แ…ฉแ„’แ…ฎ 4 51 39

WHY LOG: WHY๋ฅผ ๊ธฐ๋กํ•˜๋Š” ํšŒ๊ณ  ์„œ๋น„์Šค Swift Xcode License



๐Ÿ‘ฅ ๋ฉค๋ฒ„

๋‚˜๋ž˜ ํ‹ฐ๋ชจ ๋ฒจ๋ผ
์‚ฌ์ง„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

๐Ÿ”Ž ๊ธฐ์ˆ  ์Šคํƒ

Envrionment

Development

Communication


๐Ÿ“ฑ ํ™”๋ฉด ๊ตฌ์„ฑ

1-1_แ„…แ…ฉแ„€แ…ณแ„‹แ…ตแ†ซ แ„‰แ…ตแ„Œแ…กแ†จ แ„’แ…ชแ„†แ…งแ†ซ 2-1_แ„’แ…ฉแ†ท แ„’แ…ชแ„†แ…งแ†ซ 2-3_WHY แ„’แ…กแ†ซ แ„Œแ…ฎแ†ฏ แ„€แ…ตแ„…แ…ฉแ†จ แ„’แ…ชแ„†แ…งแ†ซ

๐Ÿ”– ๋ธŒ๋žœ์น˜ ์ปจ๋ฒค์…˜

๐Ÿชต ๋ธŒ๋žœ์น˜ ์ „๋žต

  • main (master) : ์ถœ์‹œ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ์˜ ์ฝ”๋“œ๋ฅผ ๋ชจ์•„๋‘๋Š” ๋ธŒ๋žœ์น˜ (์ง์ ‘ push โŒ, PR๋กœ๋งŒ ๋ณ‘ํ•ฉ)
  • develop : ๋‹ค์Œ ๋ฒ„์ „์„ ์œ„ํ•ด ๊ฐœ๋ฐœ ์ค‘์ธ ์ฝ”๋“œ๋ฅผ ๋ชจ์œผ๋Š” ๋ธŒ๋žœ์น˜ (๊ธฐ๋ณธ ๋ฒ ์ด์Šค)
  • feature : ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜ (develop์—์„œ ๋ถ„๊ธฐ)
  • fix : ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ธŒ๋žœ์น˜

๐ŸŒฟ ๋„ค์ด๋ฐ ๊ทœ์น™

{ํƒœ๊ทธ} / #{์ด์Šˆ๋ฒˆํ˜ธ}-{๊ธฐ๋Šฅ์„ค๋ช…}

  1. ํƒœ๊ทธ๋Š” ์†Œ๋ฌธ์ž๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. ์ด์Šˆ๋ฒˆํ˜ธ๋Š” Github Issues์— ๋“ฑ๋ก๋œ ๋ฒˆํ˜ธ๋ฅผ ์ ์Šต๋‹ˆ๋‹ค. (์ถ”์  ์šฉ์ด)
  3. ๊ธฐ๋Šฅ์„ค๋ช…์€ ์งง์€ ์˜์–ด ๋‹จ์–ด๋กœ, ๋„์–ด์“ฐ๊ธฐ๋Š” ํ•˜์ดํ”ˆ(-)์œผ๋กœ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

โœ… ์‚ฌ์šฉ ์˜ˆ์‹œ

  • feat/#13-login-ui (13๋ฒˆ ์ด์Šˆ์ธ ๋กœ๊ทธ์ธ UI ๊ตฌํ˜„)
  • fix/#20-token-error (20๋ฒˆ ์ด์Šˆ์ธ ํ† ํฐ ์—๋Ÿฌ ์ˆ˜์ •)
  • refactor/#5-api-structure (5๋ฒˆ ์ด์Šˆ์ธ API ๊ตฌ์กฐ ๊ฐœ์„ )

์ด์Šˆ ์ปจ๋ฒค์…˜

์–‘์‹ | [์ปค๋ฐ‹์œ ํ˜•] ์ด์Šˆ ๋‚ด์šฉ ์˜ˆ์‹œ | [FEAT] ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ API ๊ตฌํ˜„


๐ŸŒ€ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜

์„ ์–ธ ๋„ค์ด๋ฐ

  1. ๋ณ€์ˆ˜ & ์ƒ์ˆ˜

    • ์นด๋ฉœ ์ผ€์ด์Šค(camelCase) ์‚ฌ์šฉ
    • ์˜๋ฏธ ์žˆ๊ณ  ์„ค๋ช…์ ์ธ ์ด๋ฆ„ ์‚ฌ์šฉ
    • ๋„ˆ๋ฌด ์งง๊ฑฐ๋‚˜ ๋ชจํ˜ธํ•œ ์ด๋ฆ„ ํ”ผํ•˜๊ธฐ
  2. ํ•จ์ˆ˜ & ๋ฉ”์„œ๋“œ

    • ๋™์‚ฌ๋กœ ์‹œ์ž‘
    • ํ•จ์ˆ˜์˜ ์—ญํ• ์„ ๋ช…ํ™•ํžˆ ์„ค๋ช…
  3. ํด๋ž˜์Šค & ๊ตฌ์กฐ์ฒด & ์—ด๊ฑฐํ˜•

    • ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ (PascalCase)
  4. ํƒ€์ž… ์ถ”๋ก 

// Bad: ๋ถˆํ•„์š”ํ•œ ํƒ€์ž… ๋ช…์‹œ
let explicitDouble: Double = 70.0

// Good: ํƒ€์ž… ์ถ”๋ก  ์‚ฌ์šฉ
let implicitDouble = 70.0 
  1. ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ
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")
}

๊ณต๋ฐฑ

  1. ๋“ค์—ฌ์“ฐ๊ธฐ๋Š” tab ๋Œ€์‹  ๋„์–ด์“ฐ๊ธฐ 4๊ฐœ๋กœ

  2. ์—ฐ์‚ฐ์ž ์ฃผ๋ณ€ ๊ณต๋ฐฑ

// ์ข‹์€ ์˜ˆ
let result = 1 + 2

// ๋‚˜์œ ์˜ˆ
let result=1+2
  1. ์ค‘๊ด„ํ˜ธ๋Š” ์—”ํ„ฐ ์—†์ด ์—ด๊ธฐ
// ์ข‹์€ ์˜ˆ
func doSomething() {
    // ...
}

// ๋‚˜์œ ์˜ˆ
func doSomething()
{
    // ...
}
  1. ์ฝœ๋ก  ๋’ค์—๋งŒ ๊ณต๋ฐฑ์„ ๋‘ก๋‹ˆ๋‹ค.
let value: Int

๐Ÿ“ PR ์ปจ๋ฒค์…˜

  • PR ์‹œ, ํ…œํ”Œ๋ฆฟ์ด ๋“ฑ์žฅํ•œ๋‹ค. ํ•ด๋‹น ํ…œํ”Œ๋ฆฟ์—์„œ ์ž‘์„ฑํ•ด์•ผํ•  ๋ถ€๋ถ„์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค
    1. PR ์œ ํ˜• ์ž‘์„ฑ, ์–ด๋–ค ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์—ˆ๋Š”์ง€ [] ๊ด„ํ˜ธ ์‚ฌ์ด์— x๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ฒดํฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
    2. ์ž‘์—… ๋‚ด์šฉ ์ž‘์„ฑ, ์ž‘์—… ๋‚ด์šฉ์— ๋Œ€ํ•ด ์ž์„ธํ•˜๊ฒŒ ์ž‘์„ฑ์„ ํ•œ๋‹ค.
    3. ์ถ”ํ›„ ์ง„ํ–‰ํ•  ์ž‘์—…, PR ์ดํ›„ ์ž‘์—…ํ•  ๋‚ด์šฉ์— ๋Œ€ํ•ด ์ž‘์„ฑํ•œ๋‹ค
    4. ๋ฆฌ๋ทฐ ํฌ์ธํŠธ, ๋ณธ์ธ PR์—์„œ ๊ผญ ํ™•์ธํ•ด์•ผ ํ•  ๋ถ€๋ถ„์„ ์ž‘์„ฑํ•œ๋‹ค.
    5. PR ํƒœ๊ทธ ์ข…๋ฅ˜, PR ์ œ๋ชฉ์˜ ํƒœ๊ทธ๋Š” ์•„๋ž˜ ํ˜•์‹์„ ๋”ฐ๋ฅธ๋‹ค.

๐ŸŒŸ ํƒœ๊ทธ ์ข…๋ฅ˜ (์ปค๋ฐ‹ ์ปจ๋ฒค์…˜๊ณผ ๋™์ผ)

  • Feat : ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • Fix : ๋ฒ„๊ทธ ์ˆ˜์ •
  • Design : CSS, UI/UX ๋””์ž์ธ ๋ณ€๊ฒฝ
  • !BREAKING CHANGE : ์ปค๋‹ค๋ž€ API ๋ณ€๊ฒฝ์˜ ๊ฒฝ์šฐ
  • !HOTFIX : ๊ธ‰ํ•˜๊ฒŒ ์น˜๋ช…์ ์ธ ๋ฒ„๊ทธ๋ฅผ ๊ณ ์ณ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ
  • Style : ์ฝ”๋“œ ํฌ๋งทํŒ…, ์„ธ๋ฏธ์ฝœ๋ก  ๋ˆ„๋ฝ, ์ฝ”๋“œ ๋ณ€๊ฒฝ์ด ์—†๋Š” ๊ฒฝ์šฐ
  • Refactor : ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง (๊ธฐ๋Šฅ ๋ณ€๊ฒฝ ์—†์Œ, ์ฝ”๋“œ ๊ตฌ์กฐ ๊ฐœ์„ )
  • Comment : ํ•„์š”ํ•œ ์ฃผ์„ ์ถ”๊ฐ€ ๋ฐ ๋ณ€๊ฒฝ
  • Docs : ๋ฌธ์„œ ์ˆ˜์ •
  • Test : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€, ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง
  • Chore : ๋นŒ๋“œ ์—…๋ฌด ์ˆ˜์ •, ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์ˆ˜์ •, ํ”„๋กœ์ ํŠธ ์„ธํŒ…
  • Rename : ํŒŒ์ผ ํ˜น์€ ํด๋”๋ช…์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜ฎ๊ธฐ๋Š” ๊ฒฝ์šฐ
  • Remove : ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋Š” ๊ฒฝ์šฐ

โœ… PR ์˜ˆ์‹œ ๋ชจ์Œ

๐ŸŽ‰ [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/         # ๊ณตํ†ต ์œ ํ‹ธ๋ฆฌํ‹ฐ

WHY-LOG-Frontend

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages