diff --git a/README.md b/README.md index 170d434d..023d17a8 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,204 @@ -# A.fume.Android -๐Ÿ‘ฉโ€๐Ÿ’ปA.fume Android Repository +
+ +
+ +> SOPT - Term Project +> Ver 1.01 2020.12.01 ~ 2021.10.22 +> [๐Ÿกํ™ˆํŽ˜์ด์ง€](https://afumeapp.wixsite.com/afume) + +![afume_()](https://user-images.githubusercontent.com/51378843/157236142-99c9774a-d8b5-45b7-be71-00d10882a39a.png) +![afume_()_2](https://user-images.githubusercontent.com/51378843/157236148-6bfecf26-7919-458b-9168-a4f94c912afb.png) + +### ํ–ฅ์ˆ˜ ์ •๋ณด๋ฅผ ๋ชจ์œผ๊ณ  ์ •๋ฆฌํ•˜์—ฌ
๋ˆ„๊ตฌ๋“ ์ง€ ์›ํ•˜๋Š” ํ–ฅ์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” A.fume + + + +### ๐Ÿ‹Main Function + +| **Function** | **Description** | +| :------------------ | ------------------------------------------------------------ | +| **ํ–ฅ์ˆ˜ ์ถ”์ฒœ** | ํ”ํ•œ ํ–ฅ์ˆ˜ ์ถ”์ฒœ์ด ์•„๋‹Œ, ๋‹น์‹ ์˜ ์ทจํ–ฅ์— ๋งž๋Š” ํ–ฅ์ˆ˜๋“ค์„ ๊ณจ๋ผ ์ถ”์ฒœํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค. | +| **ํ–ฅ์ˆ˜ ๊ฒ€์ƒ‰** | ํ–ฅ ๊ณ„์—ด๋ณ„ ํ•„ํ„ฐ๋ฅผ ํ†ตํ•ด ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ํ–ฅ์˜ ํ–ฅ์ˆ˜๋“ค๋งŒ ํ•œ ๋ฒˆ์— ๋ชจ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.** | +| **ํ–ฅ์ˆ˜ ์ •๋ณด** | ํ–ฅ์ˆ˜์˜ ๋…ธํŠธ ๊ตฌ์„ฑ, ์กฐํ–ฅ ์Šคํ† ๋ฆฌ, ๋ธŒ๋žœ๋“œ, ๊ฐ€๊ฒฉ, ์‹œํ–ฅ๊ธฐ ๋“ฑ ํ–ฅ์ˆ˜์— ๋Œ€ํ•œ ๋ชจ๋“  ์ •๋ณด๋“ค์„ ํ•œ ๊ณณ์—์„œ ๋ชจ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. | +| **์‹œํ–ฅ ์œ„์‹œ๋ฆฌ์ŠคํŠธ** | ํ˜น์‹œ ๋‚˜์ค‘์— ๋งก์•„๋ณด๊ณ ์‹ถ์€ ํ–ฅ์ˆ˜๊ฐ€ ์ƒ๊ฒผ๋‚˜์š”? ์œ„์‹œ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•˜์—ฌ ๋ณด์„ธ์š”. ๋‚˜์ค‘์— ์‹œํ–ฅํ•  ๋•Œ ํ•œ ๋ฒˆ์— ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. | +| **์‹œํ–ฅ ๋…ธํŠธ** | ์‹œํ–ฅ์„ ํ•˜์…จ๋‚˜์š”? ๊ทธ ์ˆœ๊ฐ„ ์–ด๋–ป๊ฒŒ ๋Š๊ผˆ๋Š”์ง€ ๊นŒ๋จน๊ธฐ ์ „์— ๋‚˜๋งŒ์˜ ์‹œํ–ฅ ๋…ธํŠธ์— ์ ์–ด๋ณด์„ธ์š”. ๋‹จ์ˆœ ๋ฉ”๋ชจ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ณ„์ ˆ๊ฐ, ์„ฑ๋ณ„, ์ง€์†๋ ฅ, ์ž”ํ–ฅ๊ฐ ๋“ฑ๋„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. | +| **ํ–ฅ์ˆ˜ ์ปฌ๋ ‰์…˜** | ๊ทธ ๋™์•ˆ ๋‚ด๊ฐ€ ์ผ๋˜ ํ–ฅ์ˆ˜๋“ค, ํ•œ ๊ณณ์— ๋ชจ์•„๋ณด์„ธ์š”. ๋‚˜์˜ ํ–ฅ์ˆ˜ ์ทจํ–ฅ์„ ํ•œ ๋ˆˆ์— ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์„๊ฑฐ์—์š”. | + + + +### ๐ŸŒฟInformation Architecture + +![Artboard](https://user-images.githubusercontent.com/51378843/157236816-18f9cf5a-31c9-4370-9e1e-6c61175dfaa9.png) + +### ๐Ÿ•Develop Environment + +| Environment | version | +| :------------: | :-----: | +| Kotlin | 1.4.20 | +| Android Studio | 4.1.1 | + +### ๐ŸงฉProject Architecture + +- MVVM using AAC ViewModel +- DataBinding +- Coroutine + +### ๐Ÿ—ƒDependency + +```java +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 + // + implementation 'com.squareup.retrofit2:retrofit:2.9.0' + // Retrofit ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‘๋‹ต์œผ๋กœ ๊ฐ€์งœ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•จ + implementation 'com.squareup.retrofit2:retrofit-mock:2.9.0' + // + 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](https://github.com/EuneeChung) | [Haeeul](https://github.com/Haeeul) | +| **๊ฒ€์ƒ‰**
โ€ข ํ•„ํ„ฐ๋กœ ๊ฒ€์ƒ‰
โ—ฆ ๊ณ„์—ด/ ๋ธŒ๋žœ๋“œ/ ํ‚ค์›Œ๋“œ
โ€ข ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ

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

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

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

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

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

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

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