Skip to content

Scents-Note/ScentsNote.Android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f4d6e22 ยท Feb 19, 2024
Jan 26, 2024
Jul 14, 2023
Feb 13, 2024
Feb 19, 2024
Dec 21, 2022
Dec 22, 2023
Aug 28, 2022
Aug 28, 2022
May 14, 2023
Mar 8, 2022
Nov 14, 2023
Oct 30, 2020
Oct 30, 2020
Oct 30, 2020
Aug 26, 2022

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
๊ฒ€์ƒ‰
โ€ข ํ•„ํ„ฐ๋กœ ๊ฒ€์ƒ‰
โ—ฆ ๊ณ„์—ด/ ๋ธŒ๋žœ๋“œ/ ํ‚ค์›Œ๋“œ
โ€ข ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ

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

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

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

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

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

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

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