Skip to content

Scents-Note/ScentsNote.Android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

SOPT - Term Project
Ver 1.01 2020.12.01 ~ 2021.10.22
๐Ÿกํ™ˆํŽ˜์ด์ง€

afume_() afume_()_2

ํ–ฅ์ˆ˜ ์ •๋ณด๋ฅผ ๋ชจ์œผ๊ณ  ์ •๋ฆฌํ•˜์—ฌ
๋ˆ„๊ตฌ๋“ ์ง€ ์›ํ•˜๋Š” ํ–ฅ์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” A.fume

๐Ÿ‹Main Function

Function Description
ํ–ฅ์ˆ˜ ์ถ”์ฒœ ํ”ํ•œ ํ–ฅ์ˆ˜ ์ถ”์ฒœ์ด ์•„๋‹Œ, ๋‹น์‹ ์˜ ์ทจํ–ฅ์— ๋งž๋Š” ํ–ฅ์ˆ˜๋“ค์„ ๊ณจ๋ผ ์ถ”์ฒœํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.
ํ–ฅ์ˆ˜ ๊ฒ€์ƒ‰ ํ–ฅ ๊ณ„์—ด๋ณ„ ํ•„ํ„ฐ๋ฅผ ํ†ตํ•ด ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ํ–ฅ์˜ ํ–ฅ์ˆ˜๋“ค๋งŒ ํ•œ ๋ฒˆ์— ๋ชจ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.**
ํ–ฅ์ˆ˜ ์ •๋ณด ํ–ฅ์ˆ˜์˜ ๋…ธํŠธ ๊ตฌ์„ฑ, ์กฐํ–ฅ ์Šคํ† ๋ฆฌ, ๋ธŒ๋žœ๋“œ, ๊ฐ€๊ฒฉ, ์‹œํ–ฅ๊ธฐ ๋“ฑ ํ–ฅ์ˆ˜์— ๋Œ€ํ•œ ๋ชจ๋“  ์ •๋ณด๋“ค์„ ํ•œ ๊ณณ์—์„œ ๋ชจ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์‹œํ–ฅ ์œ„์‹œ๋ฆฌ์ŠคํŠธ ํ˜น์‹œ ๋‚˜์ค‘์— ๋งก์•„๋ณด๊ณ ์‹ถ์€ ํ–ฅ์ˆ˜๊ฐ€ ์ƒ๊ฒผ๋‚˜์š”? ์œ„์‹œ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•˜์—ฌ ๋ณด์„ธ์š”. ๋‚˜์ค‘์— ์‹œํ–ฅํ•  ๋•Œ ํ•œ ๋ฒˆ์— ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์‹œํ–ฅ ๋…ธํŠธ ์‹œํ–ฅ์„ ํ•˜์…จ๋‚˜์š”? ๊ทธ ์ˆœ๊ฐ„ ์–ด๋–ป๊ฒŒ ๋Š๊ผˆ๋Š”์ง€ ๊นŒ๋จน๊ธฐ ์ „์— ๋‚˜๋งŒ์˜ ์‹œํ–ฅ ๋…ธํŠธ์— ์ ์–ด๋ณด์„ธ์š”. ๋‹จ์ˆœ ๋ฉ”๋ชจ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ณ„์ ˆ๊ฐ, ์„ฑ๋ณ„, ์ง€์†๋ ฅ, ์ž”ํ–ฅ๊ฐ ๋“ฑ๋„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ–ฅ์ˆ˜ ์ปฌ๋ ‰์…˜ ๊ทธ ๋™์•ˆ ๋‚ด๊ฐ€ ์ผ๋˜ ํ–ฅ์ˆ˜๋“ค, ํ•œ ๊ณณ์— ๋ชจ์•„๋ณด์„ธ์š”. ๋‚˜์˜ ํ–ฅ์ˆ˜ ์ทจํ–ฅ์„ ํ•œ ๋ˆˆ์— ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์„๊ฑฐ์—์š”.

๐ŸŒฟInformation Architecture

Artboard

๐Ÿ•Develop Environment

Environment version
Kotlin 1.4.20
Android Studio 4.1.1

๐ŸงฉProject Architecture

  • MVVM using AAC ViewModel
  • DataBinding
  • Coroutine

๐Ÿ—ƒDependency

dependencies {

    def navigation_ktx_version = '2.2.2'
    def material_version='1.2.1'

    //bottom navigation
    implementation "android.arch.navigation:navigation-fragment-ktx:$navigation_ktx_version"
    implementation "android.arch.navigation:navigation-ui-ktx:$navigation_ktx_version"
    //ViewModel - Android-KTX
    implementation "androidx.fragment:fragment-ktx:1.2.5"
    //์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
    implementation "androidx.appcompat:appcompat:1.2.0"
    //LiveData
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0"

    // View
    // Flexible layouts with flexLayout (recycler view integration)
    implementation 'com.google.android:flexbox:2.0.1'
    // CircleIndicator
    implementation 'me.relex:circleindicator:2.1.6'
    // Gilde-loadImage
    implementation 'com.github.bumptech.glide:glide:4.11.0'
    // CircleImageView
    implementation 'de.hdodenhof:circleimageview:3.1.0'
    // Chart
    implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
    // Viewpager2
    implementation "androidx.viewpager2:viewpager2:1.0.0"
    // Lottie - gif 
    implementation 'com.airbnb.android:lottie:3.7.0'

    // Network 
    // <https://github.com/square/retrofit>
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    // Retrofit ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‘๋‹ต์œผ๋กœ ๊ฐ€์งœ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•จ
    implementation 'com.squareup.retrofit2:retrofit-mock:2.9.0'
    // <https://github.com/google/gson>
    implementation 'com.google.code.gson:gson:2.8.6'
    // Retrofit์—์„œ Gson์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    implementation 'com.squareup.retrofit2:adapter-rxjava2:2.7.1'
    // Coroutines
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9'
    // Okhttp
    implementation 'com.squareup.okhttp3:okhttp:3.14.9'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.8.1'
}

๐Ÿ‹Convention

๐ŸฐNaming Rule

  • drawables

    • shapable : border_[colorname]*[shape(line or fill)]*[radiusnumber].xml

      ex) border_lightgray_line_32.xml

    • selector : selector_[where]_[description].xml

      ex) selector_note_season

    • icon : icon_[name]

  • view

    • elementtype_where_action

      ex) btn_home_login

      • (Button) btn

      • (ImageView) img

      • (TextView) txt

      • (EditText) edt

      • (TabLayout) tab

      • (ViewPager) vp

      • (RecyclerView) rv

      • (RecyclerView Item) rv_item

        ex) rv_item_home_title

  • color

    • Primary or Point

      ex) primary_blue / point_beige

    • colorname_16์ง„์ˆ˜ 2์ž๋ฆฌ

      ex) light_gray_f9 / light_gray_f0

๐ŸŒฟBranching

  • Git-flow

    master : ์ œํ’ˆ์œผ๋กœ ์ถœ์‹œ๋  ์ˆ˜ ์žˆ๋Š” ๋ธŒ๋žœ์น˜
    develop : ๋‹ค์Œ ์ถœ์‹œ ๋ฒ„์ „์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜
    feature : ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜
    release : ์ด๋ฒˆ ์ถœ์‹œ ๋ฒ„์ „์„ ์ค€๋น„ํ•˜๋Š” ๋ธŒ๋žœ์น˜
    hotfix : ์ถœ์‹œ ๋ฒ„์ „์—์„œ ๋ฐœ์ƒํ•œ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ธŒ๋žœ์น˜
    
  • ๋ธŒ๋žœ์น˜๋ช…

    • ๋ธŒ๋žœ์น˜์ ‘๋‘์–ด/[issue number]-[where]-[action]

      ex) feature/68-filter-network

๐ŸกIssue Naming

  • Labels

    • Android : ๊ณตํ†ต ์ž‘์—…
    • bug : ๋ฒ„๊ทธ ์ˆ˜์ •
    • design : ๋ทฐ ์ž‘์—…
    • enhancement : ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ
    • network : ํ†ต์‹  ์ž‘์—…
  • category

    • layout : ๋ทฐ ์ž‘์—…
    • network : ํ†ต์‹  ์ž‘์—…
    • feature : ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    • refactor : ๋ฆฌํŒฉํ† ๋ง
    • hotfix : ๋ฒ„๊ทธ ์ˆ˜์ •
  • Title

    • [category] title

      ex) [feature] search

๐ŸฅจCommit Message

  • ๊นƒ ์ด์Šˆ ๋ฒˆํ˜ธ ์ถ”๊ฐ€

  • ์˜์–ด๋กœ ์ž‘์„ฑ

  • [TYPE] #์ด์Šˆ๋ฒˆํ˜ธ : ๋‚ด์šฉ ex) [feat] #1 : Add feature


๐Ÿฆ‰Developer

์ •์€์ด ์ฒœ๋ช…ํฌ
EuneeChung Haeeul
๊ฒ€์ƒ‰
โ€ข ํ•„ํ„ฐ๋กœ ๊ฒ€์ƒ‰
โ—ฆ ๊ณ„์—ด/ ๋ธŒ๋žœ๋“œ/ ํ‚ค์›Œ๋“œ
โ€ข ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ

๋งˆ์ด
โ€ข ๋งˆ์ด ํผํ“ธ ์„ ๋ฐ˜ ๋ทฐ
โ€ข ์œ„์‹œ๋ฆฌ์ŠคํŠธ

ํ–ฅ์ˆ˜ ์ƒ์„ธ ๋ทฐ
โ€ข ํ–ฅ์ˆ˜ ์ •๋ณด

์œ ์ €
โ€ข ์„ค๋ฌธ์กฐ์‚ฌ
โ—ฆ ์„ ํ˜ธ ์ทจํ–ฅ

์Šคํ”Œ๋ž˜์‹œ
ํ™ˆ
โ€ข ์ถ”์ฒœ ํ–ฅ์ˆ˜
โ€ข ์ƒˆ๋กœ์šด ํ–ฅ์ˆ˜

๋งˆ์ด
โ€ข ์‹œํ–ฅ ๋…ธํŠธ ์ž‘์„ฑ
โ—ฆ ํ‰์ / ๋ฉ”๋ชจ/ ์ง€์†๊ฐ/ ์ž”ํ–ฅ๊ฐ/ ๊ณ„์ ˆ๊ฐ

ํ–ฅ์ˆ˜ ์ƒ์„ธ ๋ทฐ
โ€ข ์‹œํ–ฅ ๋…ธํŠธ
โ€ข ํ–ฅ์ˆ˜ ์ •๋ณด - ๊ทธ๋ž˜ํ”„ ์ˆ˜์ •

์œ ์ €
โ€ข ํšŒ์›๊ฐ€์ž…
โ€ข ๋กœ๊ทธ์ธ
โ€ข ์ •๋ณด ์ˆ˜์ •