Skip to content

๐Ÿ’ง ๊ฐœ์ธ๋ณ„ ๋ฌผ ์„ญ์ทจ๋Ÿ‰ ๊ด€๋ฆฌ ์„œ๋น„์Šค: ๋ฌผ๊นœ (๋ฌผ, ๊นœ๋นกํ•˜์ง€ ๋ง์•„์š”)

Notifications You must be signed in to change notification settings

woowacourse-teams/2025-mul-kkam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ’ง ๋ฌผ๊นœ, ๋ฌผ ๊นœ๋นกํ•˜์ง€ ๋ง์•„์š”.

์„œ๋น„์Šค ์ฃผ์ œ

๋ฌผ๊นœ(โ€œ๋ฌผ ๊นœ๋นกํ•˜์ง€ ๋ง์•„์š”โ€)์€ ๊ฐœ์ธ ๋งž์ถคํ˜• ๋ฌผ ์„ญ์ทจ ๊ด€๋ฆฌ๋ฅผ ๋•๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

๋ชฉํ‘œ ์„ค์ • โ†’ ๊ธฐ๋ก/์•Œ๋ฆผ/์œ„์ ฏ โ†’ ํ†ต๊ณ„ ํ™•์ธ๊นŒ์ง€, ํ•˜๋ฃจ ์Šต๊ด€ ํ˜•์„ฑ์— ์ดˆ์ ์„ ๋งž์ท„์Šต๋‹ˆ๋‹ค.

Play Store ์ด๋™

๐Ÿงฑ ๋ฐฑ์—”๋“œ

์ธํ”„๋ผ ๋‹ค์ด์–ด๊ทธ๋žจ

image

๐Ÿค– ์•ˆ๋“œ๋กœ์ด๋“œ

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

  • ๋งž์ถค ๋ชฉํ‘œ ์„ญ์ทจ๋Ÿ‰ ์„ค์ • ๋ฐ ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ
  • ์›ํƒญ ๊ธฐ๋ก: ํ™ˆ ํ™”๋ฉด ์œ„์ ฏ๊ณผ ์•ฑ ๋‚ด๋ถ€ ๋ฒ„ํŠผ์—์„œ ๋น ๋ฅด๊ฒŒ ๊ธฐ๋ก
  • ๋ฆฌ๋งˆ์ธ๋“œ ์•Œ๋ฆผ: ์‚ฌ์šฉ์ž ์ง€์ • ์ฃผ๊ธฐ๋กœ ํ‘ธ์‹œ ์•Œ๋ฆผ ยท ์•ฑ ์ง„์ž… ์‹œ ๋ถˆํ•„์š” ์•Œ๋ฆผ ์ž๋™ ์ •๋ฆฌ
  • ํ†ต๊ณ„ & ํžˆ์Šคํ† ๋ฆฌ: ์ผ/์ฃผ/์›” ๋‹จ์œ„ ์š”์•ฝ
  • ์„ ํƒ์  ์—ฐ๋™: Health Connect, Kakao ๋กœ๊ทธ์ธ
  • ์šด์˜ ํ’ˆ์งˆ: Firebase Analytics / Crashlytics

โš™๏ธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

  • Android Studio: ์ตœ์‹  Stable (๊ถŒ์žฅ: ๋‚ด์žฅ JDK ์‚ฌ์šฉ)
  • JDK: 21
  • Android 9 (API 28) ์ด์ƒ ๊ธฐ๊ธฐ/์—๋ฎฌ๋ ˆ์ดํ„ฐ
  • Gradle: Version Catalog ๊ธฐ๋ฐ˜ ์ข…์†์„ฑ ๊ด€๋ฆฌ

๋นŒ๋“œ & ์‹คํ–‰:

./gradlew installDebug
adb shell am start -n "com.mulkkam/com.mulkkam.ui.splash.SplashActivity"

์ผ๋ถ€ ๊ธฐ๋Šฅ(Firebase, ์™ธ๋ถ€ API ์—ฐ๋™, Kakao ๋กœ๊ทธ์ธ ๋“ฑ)์„ ์œ„ํ•ด์„œ๋Š” ํ™˜๊ฒฝ๋ณ„ ์„ค์ • ๊ฐ’(์˜ˆ: API ํ‚ค, Base URL)์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ•ด๋‹น ๊ฐ’์€ ๊ฐœ์ธ ๋กœ์ปฌ ํ™˜๊ฒฝ ๋˜๋Š” ๋ณ„๋„ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŒŒ์ผ์„ ํ†ตํ•ด ์ฃผ์ž…ํ•˜์„ธ์š”.


๐Ÿ— ์•„ํ‚คํ…์ฒ˜

  • Clean Architecture (๋‹จ์ผ ๋ชจ๋“ˆ ๋‚ด ๋ ˆ์ด์–ด๋“œ ํŒจํ‚ค์ง•)
    • UI: Activity/Fragment, ViewModel, ์œ„์ ฏ, ์•Œ๋ฆผ
    • Data: Remote + Local + Repository
    • DI: object ์ƒ์„ฑ์„ ํ†ตํ•œ ์ˆ˜๋™ ์˜์กด์„ฑ ์ฃผ์ž… ๊ธฐ๋ฐ˜ ๊ทธ๋ž˜ํ”„
  • ๋ฐ์ดํ„ฐ ํ๋ฆ„: ๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ํ๋ฆ„(UDF)
    • ์‚ฌ์šฉ์ž ์•ก์…˜ โ†’ ViewModel โ†’ Repository โ†’ ViewModel ์ƒํƒœ ๊ฐฑ์‹  โ†’ UI ๋ฐ˜์˜
  • ํ™”๋ฉด ์ง„์ž… ๊ทœ์•ฝ: ๊ฐ Activity๋Š” newIntent(context, โ€ฆ) ํŒฉํ† ๋ฆฌ๋ฅผ ์ œ๊ณตํ•ด, ๋ฐ›๋Š” ์ชฝ์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ช…์‹œ

๐Ÿ”— ์ฃผ์š” ์˜์กด์„ฑ

  • UI: Jetpack Compose, Material3, ViewBinding
  • ๋„คํŠธ์›Œํฌ: Retrofit, OkHttp, kotlinx.serialization
  • ๋น„๋™๊ธฐ: Kotlin Coroutines
  • ์ด๋ฏธ์ง€: Coil 3
  • ์•Œ๋ฆผ/์ž‘์—…: WorkManager, Notification API
  • ๋กœ๊ทธ์ธ/ํ’ˆ์งˆ: Kakao SDK, Firebase Analytics/Crashlytics
  • ์—ฐ๋™: Health Connect

(๋ฒ„์ „ ์ •๋ณด๋Š” libs.versions.toml ์ฐธ๊ณ )


๐Ÿงช ํ…Œ์ŠคํŠธ

  • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ค‘์‹ฌ (UI/ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋Š” ์ง„ํ–‰ํ•˜์ง€ ์•Š์Œ)
  • ๋ฒ”์œ„: ViewModel ์ƒํƒœ ์ „์ด, Repository ๋ณ€ํ™˜, Util/๊ทœ์น™ ๊ฒ€์ฆ
  • JUnit5, Kotest, MockK, Coroutines Test ๋“ฑ

์‹คํ–‰:

./gradlew test

๐Ÿ–ผ ๋””์ž์ธ

  • ์•ฑ์€ Material 3 ๊ฐ€์ด๋“œ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.
  • Figma ๋“ฑ ๋””์ž์ธ ์‚ฐ์ถœ๋ฌผ์€ ํ”„๋กœ์ ํŠธ ๋””์ž์ธ ๋ฌธ์„œ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ผย ์ปจ๋ฒค์…˜

  • ์ž์„ธํ•œ ์ปจ๋ฒค์…˜์€ GitHub Wiki๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.

๐Ÿช„ ์ด ๋ ˆํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ๋„์›€์ด ๋˜์…จ๋‚˜์š”?

  • ์žŠ์ง€ ๋ง๊ณ  ์Šคํƒ€(โญ๏ธ) ๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”!

๋ฐฑ์—”๋“œ

์ธํ”„๋ผ ๋‹ค์ด์–ด๊ทธ๋žจ

image

ํŒ€์› ์†Œ๊ฐœ

๊ณต๋ฐฑ(์ตœ์ค€์„œ) ํ™˜๋…ธ(๊น€์€์ง€) ์ด๋“ (์žฅ์€์˜) ์ฒด์ฒด(๊น€์ง„์˜) ์นผ๋ฆฌ(์ด ์ง„) ๋ฐ๊ณฐ(๋ฐ•๋ฏผ์„ ) ํžˆ๋กœ(์ง„์Šนํฌ)
Android Android Android Backend Backend Backend Backend

About

๐Ÿ’ง ๊ฐœ์ธ๋ณ„ ๋ฌผ ์„ญ์ทจ๋Ÿ‰ ๊ด€๋ฆฌ ์„œ๋น„์Šค: ๋ฌผ๊นœ (๋ฌผ, ๊นœ๋นกํ•˜์ง€ ๋ง์•„์š”)

Resources

Stars

Watchers

Forks

Packages

No packages published