Skip to content

eunjjungg/Greme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a69b662 ยท Apr 9, 2023
Dec 5, 2022
Jan 23, 2023
Jan 30, 2023
Dec 4, 2022
Dec 7, 2022
Dec 4, 2022
Apr 9, 2023
Dec 4, 2022
Dec 4, 2022
Dec 4, 2022
Dec 4, 2022
Dec 9, 2022

Repository files navigation

โ˜˜๏ธ GREME: Green With Me!

์นœํ™˜๊ฒฝ ์ฑŒ๋ฆฐ์ง€ ๋„์ „
๋‚˜์˜ ์ผ์ƒ ๊ธฐ๋ก ๋‹ค์ด์–ด๋ฆฌ


๐Ÿ”ซ Team Shoot It

  • ๊ธฐํš : ๋ฐ•์˜์„ , ์ด์ง€๋ฏผ
  • ์•ˆ๋“œ๋กœ์ด๋“œ ๋„ค์ดํ‹ฐ๋ธŒ : ์ •์€์ •, ์กฐ์˜ˆ์ง„
  • ๋ฐฑ์—”๋“œ : ๊น€์ƒ์ธ, ํ•œ์ฑ„์—ฐ ( ๐Ÿ”— ๋ฐฑ์—”๋“œ Repo )



๐Ÿ“Œ @eunjjungg : Native ๊ธฐ์ˆ  ์Šคํƒ

  • Android, Kotlin
  • ๋””์ž์ธ ํŒจํ„ด - MVVM + Repository Pattern
  • Live Data, Data Binding
  • Android Compose
  • Android KTX
  • Retrofit
  • Material Design 3
  • Custom View
  • Glide
  • ์†Œ์…œ ๋กœ๊ทธ์ธ - Kakao, Naver API
  • ์ด์Šˆ ๊ด€๋ฆฌ - Jira, Github Issue
  • ํ˜•์ƒ ๊ด€๋ฆฌ ์ „๋žต - Gitflow
  • ์• ๋‹ˆ๋ฉ”์ด์…˜ - Lottie



๐Ÿ’ป @eunjjungg : Native ๋‹ด๋‹น ๋ถ€๋ถ„

  • ํ”„๋กœ์ ํŠธ ์„ธํŒ…
    • ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
    • gitignore ์ƒ์„ฑ
    • layer ๋‹จ์œ„ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ
    • base code ์ƒ์„ฑ (ํ”„๋ž˜๊ทธ๋จผํŠธ, ์•กํ‹ฐ๋น„ํ‹ฐ, Retrofit ๊ด€๋ จ)
    • ๋””์ž์ธ ๊ด€๋ จ ์ฝ”๋“œ ์ƒ์„ฑ (์ƒ‰์ƒ, ์‚ฌ์ด์ฆˆโ€ฆ)
    • ํฐํŠธ ์„ธํŒ… (์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํ…์ŠคํŠธ๋“ค ์ œ์™ธํ•˜์—ฌ ํฐํŠธ ์šฉ๋Ÿ‰ ์ค„์ด๋Š” ์ž‘์—… ํฌํ•จ)
    • ์•ฑ ์•„์ด์ฝ˜ ์„ธํŒ…
    • ์ปค๋ฐ‹, ์ด์Šˆ, PR ํ…œํ”Œ๋ฆฟ
  • ํšŒ์›๊ฐ€์ž… ๊ด€๋ จ ๋กœ์ง (์ „์ฒด ๋กœ๊ทธ์ธ ํ๋ฆ„ ํ•จ๊ป˜ ๊ณ ๋ คํ•จ)
  • ์นด์นด์˜คํ†ก, ๋„ค์ด๋ฒ„ ์†Œ์…œ ๋กœ๊ทธ์ธ
  • ํ™ˆ ํ™”๋ฉด ๊ด€๋ จ
  • ์ฑŒ๋ฆฐ์ง€ ๊ด€๋ จ ๋กœ์ง
  • ๋‹ค๋ฅธ ์œ ์ € ํ”„๋กœํ•„ ๊ด€๋ จ ๋กœ์ง

๐Ÿ“ layer ๋‹จ์œ„ ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ ๋ฐฉ์‹

image

  • base : boilerplate code๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํด๋ž˜์Šค๋“ค ์กด์žฌ
  • model : model ๊ด€๋ จ ์ฝ”๋“œ ๋ถ„๋ฆฌ
  • network : ์„œ๋ฒ„ ์—ฐ๊ฒฐ Interface ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ด€๋ จ ๋กœ์ง
  • repository : ์„œ๋ฒ„ ์—ฐ๊ฒฐ Repository
  • ui : ui ๊ด€๋ จ ์ฝ”๋“œ ๋ถ„๋ฆฌ
    • adapter : RecyclerView ๊ด€๋ จ ์–ด๋Œ‘ํ„ฐ ํด๋ž˜์Šค ๋ถ„๋ฆฌ
    • custom : custom view ๊ด€๋ จ ํด๋ž˜์Šค ๋ถ„๋ฆฌ
    • fragment : fragment ๊ด€๋ จ ํด๋ž˜์Šค ๋ถ„๋ฆฌ
    • interface : ui์™€ ๊ด€๋ จ๋œ interface ๋ถ„๋ฆฌ
    • view : activity ๊ด€๋ จ ํด๋ž˜์Šค ๋ถ„๋ฆฌ
      • compose : activity ์ค‘ ์ปดํฌ์ฆˆ๋กœ ๊ตฌํ˜„ํ•œ ๊ฒƒ๋“ค ๋ชจ์Œ
  • util : ์ „์ฒด ์•ฑ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์œ ํ‹ธ ํด๋ž˜์Šค, ํ•จ์ˆ˜ ๋ถ„๋ฆฌ
  • viewmodel : ๋ทฐ๋ชจ๋ธ ํด๋ž˜์Šค ๋ถ„๋ฆฌ



๐ŸŒฑ @eunjjungg : ๊ตฌํ˜„ ํ™”๋ฉด ๋ฐ ์„ค๋ช…

๐Ÿ™‹โ€โ™€๏ธ ํšŒ์›๊ฐ€์ž…

1. ์†Œ์…œ ๋กœ๊ทธ์ธ์„ ํ†ตํ•œ ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ

-1.online-video-cutter.com.mp4
  • ๋„ค์ด๋ฒ„, ์นด์นด์˜ค API๋ฅผ ์‚ฌ์šฉํ•œ ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„
  • ์›น๋ทฐ๋ฅผ ์‚ฌ์šฉํ•œ ์•ฝ๊ด€ ๋™์˜ ๋ฌธ๊ตฌ ๋…ธ์ถœ
  • ์†Œ์…œ ๋กœ๊ทธ์ธ์— ํ•„์š”ํ•œ ๋…ธ์ถœ๋˜๋ฉด ์•ˆ ๋˜๋Š” ์ •๋ณด local.properties๋กœ ๋ถ„๋ฆฌ
  • ํ† ํฐ ๊ธฐ๊ธฐ๋‚ด ์ €์žฅ์€ Encrypted SharedPreference ์‚ฌ์šฉ

2. ID ์ž…๋ ฅ

-2.online-video-cutter.com.mp4
  • ์•„์ด๋”” ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ - ์ •๊ทœ์‹
  • ์•„์ด๋”” ์ค‘๋ณต ๊ฒ€์‚ฌ - ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์‘๋‹ต
    • ์„œ๋ฒ„์— ๋ถ€ํ•˜๊ฐ€ ๊ฐ€์ง€ ์•Š๋„๋ก ์‚ฌ์šฉ์ž๊ฐ€ ์•„์ด๋”” ์ž…๋ ฅ ํ›„ 1์ดˆ ๋™์•ˆ ๋” ์ด์ƒ์˜ ์ž…๋ ฅ์ด ์—†์„ ๋–„๋งŒ ์ค‘๋ณต ๊ฒ€์‚ฌ ์š”์ฒญ ํ›„ ๋กœ์ง ์ฒ˜๋ฆฌํ•˜๋„๋ก ๊ตฌํ˜„
  • ๋””์ž์ธ - google material์˜ TextInputLayout ์‚ฌ์šฉ

3. ์ถ”๊ฐ€ ์ •๋ณด ์ž…๋ ฅ

-3.online-video-cutter.com.mp4
  • ๊ฐ fragment ๋ชจ๋‘ ๊ฐ™์€ viewmodel ์‚ฌ์šฉํ•˜๋„๋ก ๊ตฌํ˜„
  • ๋งˆ์ง€๋ง‰ ๋‹ค์Œ์œผ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ํšŒ์›๊ฐ€์ž… ์ ˆ์ฐจ ์™„๋ฃŒ๋˜๊ณ  ์„œ๋ฒ„๋กœ ๊ฐ€์ž… ์š”์ฒญํ•˜๋„๋ก ๊ตฌํ˜„
  • ๊ฐ€์ž… ๋„์ค‘ ๋Š๊ธด๋‹ค๋ฉด ์นด์นด์˜ค ๋กœ๊ทธ์ธ์—์„œ ํšŒ์› ์‚ญ์ œํ•˜๋„๋ก ๊ตฌํ˜„

๐Ÿ† ์ฑŒ๋ฆฐ์ง€

1. ๋„์›€๋ง

_1.mp4
  • Android Compose๋กœ ๊ตฌํ˜„
  • Lottie๋กœ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ตฌํ˜„

2. ํ™ˆ ํ™”๋ฉด ๋Œ€ํ‘œ ์ฑŒ๋ฆฐ์ง€, ์ฐธ์—ฌ ์ฑŒ๋ฆฐ์ง€

_4.mp4
_4.mp4
  • ๊ฐ ๋Œ€ํ‘œ ์ฑŒ๋ฆฐ์ง€์™€ ์œ ์ €์˜ ์ฐธ์—ฌ ์ฑŒ๋ฆฐ์ง€ ๊ตฌํ˜„
  • ์•„๋ž˜ ๋™์˜์ƒ์€ ์œ ์ €๊ฐ€ ํ˜„์žฌ ์ฐธ์—ฌ์ค‘์ธ ์ฑŒ๋ฆฐ์ง€์˜ ์ƒํƒœ๋ฅผ ์ฐธ์—ฌํ•˜์ง€ ์•Š์Œ์œผ๋กœ ๋ณ€๊ฒฝํ•˜์˜€์„ ๋•Œ ํ™ˆ ํ™”๋ฉด์˜ ๋ชจ์Šต

3. ์ฑŒ๋ฆฐ์ง€ ๋“ฑ๋ก & ์ œ์™ธ

_3._.mp4
  • Shared Element ์‚ฌ์šฉํ•˜์—ฌ ํ™”๋ฉด ์ „ํ™˜ ์‚ฌ์šฉ
  • fab ์‚ฌ์šฉ
  • RecyclerView๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ „์ฒด ํ™”๋ฉด์ด ์Šคํฌ๋กค ๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ ํ™”๋ฉด์˜ ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ๊ฐ ์ปดํฌ๋„ŒํŠธํ™”ํ•จ
  • ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ผ์ • ๋ถ€๋ถ„์€ ์ปค์Šคํ…€ ๋ทฐ๋กœ ๋งŒ๋“ฆ
  • ์œ ์ €๊ฐ€ ์˜ฌ๋ฆฐ ์ด๋ฏธ์ง€ ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ ํ‘œ์‹œ๋˜๋„๋ก ์ง์ ‘ ์‚ฌ์ด์ฆˆ ๊ณ„์‚ฐํ•˜์—ฌ ํฌ๋กญ (์ถ”๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ X)