Skip to content

Latest commit

ย 

History

619 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๋ฌด๋”ง : ๋‚˜๋งŒ์˜ ํŒจ์…˜ ์ทจํ–ฅ ์ •๋ฆฝ ์„œ๋น„์Šค

์ธ๋„ค์ผ ํ”Œ๋ ˆ์ด ์Šคํ† ์–ด ๋งํฌ

๐Ÿ“Œ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

๋ฌด๋”ง์€ ์‚ฌ์ง„์„ ๋น„๊ตํ•˜๋ฉฐ ์„ ํƒ ๊ธฐ์ค€์„ ๋ฐœ๊ฒฌํ•˜๊ณ , ๊ฒฝํ—˜์˜ ๋งŒ์กฑ๋„๊นŒ์ง€ ์Œ“์•„ ์ˆ˜์ง‘์„ ๋„˜์–ด

์ทจํ–ฅ์„ ์ •๋ฆฝํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

๐Ÿ“’ ์ฃผ์š” ๊ธฐ๋Šฅ

  • โš”๏ธ ๋ฌด๋“œ๋งค์น˜ (ํ† ๋„ˆ๋จผํŠธ ๊ธฐ๋ฐ˜ ์ทจํ–ฅ ํƒ์ƒ‰)

    • Photopicker๋กœ๋ถ€ํ„ฐ 8~32์žฅ ์‚ฌ์ด์˜ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•˜์—ฌ ๋ฌด๋“œ๋งค์น˜ ์ƒ์„ฑ
    • 1:1 ๋น„๊ต ๋ฐ ์„ ํƒ ์ด์œ (๊ฐ€์น˜๊ด€) ํƒœ๊น…
      • ๋‘ ๊ฐœ ์‚ฌ์ง„ ์ค‘ ๋” ๋งˆ์Œ์— ๋“œ๋Š” ์‚ฌ์ง„์„ ์„ ํƒํ•˜๊ณ , ์„ ํƒ ์ด์œ (์˜ˆ: ๋‚˜์™€์˜ ์ ํ•ฉ๋„, ์‹ฌ๋ฏธ์„ฑ, ํŠธ๋ Œ๋“œ ๋“ฑ)๋ฅผ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉ์ž ์Šค์Šค๋กœ ํ˜ธ๋ถˆํ˜ธ ๊ธฐ์ค€์„ ์˜์‹ํ•˜๋„๋ก ์œ ๋„
    • ๋งž์ถคํ˜• ๊ฒฝํ—˜ ๋ฏธ์…˜ ์ƒ์„ฑ ๋ฐ ์ œ์•ˆ
      • ๋ฌด๋“œ๋งค์น˜ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๊ฐ€์žฅ ๋†’๊ฒŒ ์ธก์ •๋œ ์šฐ์„ ์ˆœ์œ„ ๊ธฐ์ค€์„ ๋ถ„์„ํ•˜๊ณ , ์‹ค์ œ๋กœ ๊ฒ€์ฆํ•ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋งž์ถคํ˜• ๋ฏธ์…˜์„ ์ž๋™์œผ๋กœ ์ œ์•ˆ
  • ๐Ÿ“š ๋ฌด๋“œ๋งค์น˜ & ๋ฏธ์…˜ ๊ด€๋ฆฌ

    • ์ง„ํ–‰ ์ƒํƒœ๋ณ„ ๋ฌด๋“œ๋งค์น˜ / ๋ฏธ์…˜ ํŠธ๋ž˜ํ‚น
      • ์ง„ํ–‰ ์ค‘์ธ ๋ฌด๋“œ๋งค์น˜(์ด์–ดํ•˜๊ธฐ)์™€ ์™„๋ฃŒ๋œ ๋ฌด๋“œ๋งค์น˜ ๋ชฉ๋ก์„ ํ•œ๋ˆˆ์— ์กฐํšŒํ•˜๊ณ  ๊ดธ๋ฆฌ
    • ๊ฒฝํ—˜ ์ˆ˜ํ–‰ ๋ฐ ๋งŒ์กฑ๋„ ํ‰๊ฐ€
      • ์ œ์•ˆ๋ฐ›์€ ๋ฏธ์…˜์„ ์ง์ ‘ ์‹คํ–‰ํ•œ ํ›„, ํ‰์ (1.0 ~ 5.0์ ) ๊ธฐ๋ฐ˜์˜ ๋งŒ์กฑ๋„๋ฅผ ๊ธฐ๋ก
      • 2.5์  ์ดํ•˜๋ฅผ ์„ ํƒํ•œ ๊ฒฝ์šฐ ๋ถˆ๋งŒ์กฑ์‚ฌ์œ  ์ˆ˜์ง‘
  • ๐Ÿ“Š ์ทจํ–ฅ ๋ฆฌํฌํŠธ

    • ๋ฐ์ดํ„ฐ ๋ˆ„์  ๊ธฐ๋ฐ˜ ์ทจํ–ฅ ์‹œ๊ฐํ™”
      • ๋ฌด๋“œ๋งค์น˜ ์„ ํƒ ํŒจํ„ด๊ณผ ๋ฏธ์…˜ ๋งŒ์กฑ๋„ ๋ฐ์ดํ„ฐ(๋ฌด๋“œ๋งค์น˜ ํšŸ์ˆ˜, ์™„๋ฃŒ ๋ฏธ์…˜ ์ˆ˜ ๋“ฑ)๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ๋ถ„์„
    • ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋Š” ์ฒ™๋„ ๋ถ„์„
      • ์ž์‹ ์ด ์Šคํƒ€์ผ์„ ์„ ํƒํ•  ๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋Š” ์š”์†Œ(์˜ˆ: ์‹ ์ฒด ์ ํ•ฉ๋„, ๋””์ž์ธ ์ƒ‰๊ฐ ๋“ฑ)๋ฅผ ๋น„์œจ๊ณผ ํ…์ŠคํŠธ ํ˜•ํƒœ์˜ ๋ฆฌํฌํŠธ๋กœ ์ œ๊ณต
    • ์‹œ๋„ํ•œ ์ทจํ–ฅ์˜ ํ‰๊ท  ๋งŒ์กฑ๋„ ๋ถ„์„
      • ์‹ค์ œ ์‹œ๋„ํ–ˆ๋˜ ๋ฏธ์…˜๋“ค์˜ ํ‰๊ท  ์ ์ˆ˜ ๋ฐ ์„ธ๋ถ€ ๋ถ„ํฌ๋ฅผ ํ†ต๊ณ„ ๋ฐ์ดํ„ฐ๋กœ ์‹œ๊ฐํ™”ํ•˜์—ฌ ๋ช…ํ™•ํ•œ ์ทจํ–ฅ ๊ธฐ์ค€์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณต

- ๐Ÿ“‹ ์„œ๋น„์Šค ์†Œ๊ฐœ : ์„œ๋น„์Šค ์†Œ๊ฐœ๊ธ€ ๋ฐ”๋กœ๊ฐ€๊ธฐ
- ๐Ÿ“บ ์‹œ์—ฐ ์˜์ƒ : ์‹œ์—ฐ ์˜์ƒ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ

Tech Stack

๊ตฌ๋ถ„ ๊ธฐ์ˆ  ์Šคํƒ
Version Kotlin 2.3.21 / JVM 21 / SDK 28~36 / AGP 9.2.1
Architecture Clean Architecture, MVI, Multi-Module
UI Jetpack Compose
DI Hilt
Network Retrofit2, OkHttp
Async Coroutine, Flow
Build Tools Gradle Version Catalog + Custom Convention Plugins
Analytics Firebase Analytics
Third Party Kakao Login API
Libraries & Utils Timber / Coil / Lottie
Communication Figma / Notion / Rildo / Discord / Google Sheets

๋ชจ๋“ˆ & ํŒจํ‚ค์ง€ ๊ตฌ์กฐ

Module Dependency Graph

%%{
  init: {
    'theme': 'base',
    'themeVariables': {
      'primaryColor': '#2B2D42',
      'primaryTextColor': '#FFFFFF',
      'primaryBorderColor': '#8D99AE',
      'lineColor': '#8D99AE',
      'secondaryColor': '#00FF00',
      'tertiaryColor': '#FFFFFF'
    }
  }
}%%

graph LR
  subgraph :core
    :core:navigation["navigation"]
    :core:model["model"]
    :core:designsystem["designsystem"]
    :core:ui["ui"]
    :core:common["common"]
    :core:data["data"]
    :core:analytics["analytics"]
    :core:auth["auth"]
    :core:datastore["datastore"]
    :core:network["network"]
  end
  subgraph :feature
    :feature:tournament["tournament"]
    :feature:onboard["onboard"]
    :feature:report["report"]
    :feature:home["home"]
    :feature:auth["auth"]
  end
  :core:navigation --> :core:model
  :feature:tournament --> :core:designsystem
  :feature:tournament --> :core:ui
  :feature:tournament --> :core:navigation
  :feature:tournament --> :core:common
  :feature:tournament --> :core:data
  :feature:tournament --> :core:analytics
  :feature:onboard --> :core:designsystem
  :feature:onboard --> :core:ui
  :feature:onboard --> :core:navigation
  :feature:onboard --> :core:common
  :feature:onboard --> :core:data
  :feature:onboard --> :core:analytics
  :feature:report --> :core:designsystem
  :feature:report --> :core:ui
  :feature:report --> :core:navigation
  :feature:report --> :core:common
  :feature:report --> :core:analytics
  :feature:report --> :core:data
  :app --> :feature:home
  :app --> :feature:tournament
  :app --> :feature:report
  :app --> :feature:auth
  :app --> :feature:onboard
  :app --> :core:auth
  :app --> :core:common
  :app --> :core:data
  :app --> :core:datastore
  :app --> :core:designsystem
  :app --> :core:model
  :app --> :core:navigation
  :app --> :core:network
  :app --> :core:ui
  :app --> :core:analytics
  :core:data --> :core:common
  :core:data --> :core:model
  :core:data --> :core:datastore
  :core:data --> :core:network
  :core:data --> :core:auth
  :feature:home --> :core:designsystem
  :feature:home --> :core:ui
  :feature:home --> :core:navigation
  :feature:home --> :core:common
  :feature:home --> :core:data
  :feature:home --> :core:analytics
  :core:network --> :core:common
  :core:network --> :core:model
  :core:network --> :core:datastore
  :feature:auth --> :core:designsystem
  :feature:auth --> :core:ui
  :feature:auth --> :core:navigation
  :feature:auth --> :core:common
  :feature:auth --> :core:data
  :feature:auth --> :core:analytics
  :core:ui --> :core:model
  :core:ui --> :core:common
  :core:ui --> :core:designsystem
  :core:auth --> :core:model
  :core:datastore --> :core:model
  :core:datastore --> :core:common
Loading

Package Structure

๐Ÿ—ƒ๏ธapp

๐Ÿ—ƒ๏ธbuild-logic

๐Ÿ—ƒ๏ธcore
 โ”ฃ ๐Ÿ—ƒ๏ธanalytics
 โ”ฃ ๐Ÿ—ƒ๏ธauth
 โ”ฃ ๐Ÿ—ƒ๏ธcommon
 โ”ฃ ๐Ÿ—ƒ๏ธdata
 โ”ฃ ๐Ÿ—ƒ๏ธdatastore
 โ”ฃ ๐Ÿ—ƒ๏ธdesignsystem
 โ”ฃ ๐Ÿ—ƒ๏ธmodel
 โ”ฃ ๐Ÿ—ƒ๏ธnavigation
 โ”ฃ ๐Ÿ—ƒ๏ธnetwork
 โ”— ๐Ÿ—ƒ๏ธui

๐Ÿ—ƒ๏ธfeature
 โ”ฃ ๐Ÿ—ƒ๏ธauth
 โ”ฃ ๐Ÿ—ƒ๏ธhome
 โ”ฃ ๐Ÿ—ƒ๏ธonboarding
 โ”ฃ ๐Ÿ—ƒ๏ธreport
 โ”— ๐Ÿ—ƒ๏ธtournament

About

๐Ÿ‘–| ๋‚˜๋งŒ์˜ ํŒจ์…˜ ์ทจํ–ฅ ์ •๋ฆฝ ์„œ๋น„์Šค, ๋ฌด๋”ง

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages