donghyun81 / CoinPocket

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

๐Ÿ’ฐCoin Pocket Application

ํšŒ์‚ฌ๋“ค์˜ ์ฃผ์‹์ •๋ณด๋ฅผ ๋ณด๊ณ  ์ž์‹ ์˜ ์ž…์ถœ๊ธˆ ๋‚ด์šฉ์„ ๊ธฐ๋กํ•˜๊ณ  ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์•ฑ์ž…๋‹ˆ๋‹ค.

๐Ÿ‘  Application tip

  1. ๋‹ฌ๋ ฅ์— ์žˆ๋Š” ๋‚ ์งœ๋งˆ๋‹ค ๋ณธ์ธ์ด ๊ธฐ๋กํ•  ๋‚ด์šฉ์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์™ผ์ชฝ ์œ„์— ์•„์ด์ฝ˜์„ ์„ ํƒํ•˜์—ฌ ํ•œ๋‹ฌ์”ฉ ๋ถ„์„ํ•œ ์ˆ˜์ž…๊ณผ ์ถœ๊ธˆ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ๋ณธ์ธ์ด ๊ด€๋ฆฌํ•œ ๋ˆ์„ ํ™•์ธํ•˜๋ฉฐ ํšŒ์‚ฌ๋ชฉ๋ก์—์„œ ํšŒ์‚ฌ๋“ค์˜ ์ฃผ์‹์ •๋ณด๋ฅผ ๋ณด๋ฉฐ ํˆฌ์ž ํ• ์ง€ ์ƒ๊ฐ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ตฌํ˜„์ค‘)
  4. ์œ ํŠœ๋ธŒ๋ฅผ ํ™œ์šฉํ•ด์„œ ๊ฐ€๊ณ„๋ถ€ ํŒ์ด๋‚˜ ํˆฌ์ž๋ฐฉ๋ฒ•๊ณผ ๊ฐ™์€ ์ •๋ณด๋ฅผ ์–ป์„์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ตฌํ˜„์ค‘)

๐Ÿ’กStack & Libraries

  • Kotlin ๋ฒ ์ด์Šค
  • Coroutines,flow: ๋น„๋™๊ธฐ ์ž‘์—…์œผ๋กœ ์ž‘์—…์†๋„๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • Jetpack
    • Compose :UI ๊ตฌ์ถ•์„ ์œ„ํ•œ ์ตœ์‹  ๊ฐœ๋ฐœํ™˜๊ฒฝ์œผ๋กœ xml๊ณผ ์—ฐ๋™ํ•˜์ง€ ์•Š์•„ ์ฝ”๋“œ๋„ ์ ˆ์•ฝํ•˜๊ณ  ์—ฐ๋™์‹œ ์˜ค๋ฅ˜๋„ ์ ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค
    • View Model:UI ๊ด€๋ จ ๋ฐ์ดํ„ฐ ํ™€๋”,์‹คํ–‰์„ ์œ„ํ•œ ๋น„๋™๊ธฐ ์ž‘์—…์„ ์‰ฝ๊ฒŒ ์˜ˆ์•ฝํ•˜๊ณ  ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • Dagger-Hilt(DI): ํด๋ž˜์Šค๋“ค ๊ฐ„์— ๊ฒฐํ•ฉ ๋„๋ฅผ ๋‚ฎ์ถฐ ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋Š˜๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜์˜€๋‹ค
  • Retrofit2(REST APIs): ์„œ๋ฒ„-ํด๋ผ์ด์–ธํŠธ ํ†ต์‹ ์„ ํŽธํ•˜๊ฒŒ ํ•˜๋ ค๊ณ  ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • OkHttp3 :์ธํ„ฐ์…‰ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„์—์„œ ๋ฐ›์€ ๋‚ด์šฉ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • Room-database: ์Šค๋งˆํŠธํฐ ๋‚ด์žฅ DB์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • Clean Architecture:ํƒ์ƒ‰ํ•  ํŒŒ์ผ์„ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๊ณ  ํŒŒ์ผ ๊ฐ„ ์—ญํ• ์„ ํ™•์‹คํžˆ ํ•˜์—ฌ ์ˆ˜์ •ํ•˜๊ธฐ๋„ ์‰ฌ์›Œ ์œ ์ง€ ๋ณด์ˆ˜ํ•˜๊ธฐ ํŽธ๋ฆฌํ•˜๊ณ  ์Šค์Šค๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ์ˆœ์„œ์™€ ์ฝ”๋“œ๋ฅผ ์ •๋ฆฌํ•˜๊ธฐ ์ข‹์•„์„œ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • MVVM:Model,View,ViewModel๊ฐ„์— ์˜์กด์„ฑ์„ ์—†์•  ๋ณต์žก๋„๋ฅผ ์ค„์ด๊ณ  ์œ ์ง€๋ณด์ˆ˜์— ์šฉ์ดํ•˜์—ฌ์„œ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค
  • Kotlinx-serialization:Room์— primitive type๊ฐ€ ์•„๋‹Œ data Class๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ String์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • Open source library
    • Compose Calendar:open source library๋ฅผ ๊ฒฝํ—˜ํ•˜๊ณ  Calendar๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋ฐ›์•„์™€์„œ ์ œ์ž‘๋œ ์ฝ”๋“œ๋“ค์„ ์ˆ˜์ •ํ•˜๊ณ  ์ฐธ๊ณ ํ•˜๋ฉฐ ๊ณต๋ถ€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
    • Compose-Destination:Navigation์‚ฌ์šฉ์‹œ ํ•„์š”ํ•œ ์ธ์ˆ˜๋“ค์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  NavGraph๋“ฑ์„ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ผ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.