Skip to content

Commit

Permalink
Merge pull request #128 from Team-Umbba/release/1.0.0
Browse files Browse the repository at this point in the history
Release/1.0.0
  • Loading branch information
yeoncheong authored Sep 22, 2023
2 parents 21a6e26 + 49ad428 commit d4fa333
Show file tree
Hide file tree
Showing 340 changed files with 9,548 additions and 302 deletions.
56 changes: 54 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,54 @@
# Umbba-Android
누가 이렇게 예쁘게 낳았어? 우리 엄빠엄빠가~ 엄빠엄빠가~
## 🙌 Team Umbba-Android
### 👩‍👩‍👧‍👦 About Umbba
<img src = "https://github.com/Team-Umbba/Umbba-Android/assets/102457618/5bcce6ec-815e-4d6e-aa22-fc8c7c5dc777" width = "200"></br>
> **부모의 추억을 자식과 공유하며 공감대를 찾는 문답형 아카이빙 서비스, 엄빠도 어렸다 👨‍👩‍👧‍👦**
### 👩‍💻 About Developers

| [황연진](https://github.com/yeoncheong) | [신서현](https://github.com/ss99x2002) |
| --- | --- |
| <img src = "https://github.com/Team-Umbba/Umbba-Android/assets/70602631/86d88c5e-b9b6-4aa3-ac89-4415cd6c4033" width = "300"> | <img src = "https://github.com/Team-Umbba/Umbba-Android/assets/70602631/85f7a242-f16d-4244-9a42-2b7d1847a557" width = "300"> |
| `온보딩` `소셜로그인` `카카오 초대공유` | `` `리스트` `설정` `fcm 알림` |

### 💬 Convention
[Coding Convention](https://harsh-step-7dd.notion.site/425bab5d382c464d8b347348de387523?pvs=4)<br>
[Commit Convention](https://harsh-step-7dd.notion.site/6f342bbb078e46c0ac0fc71c563e2a45?pvs=4)<br>
[Github Convention](https://harsh-step-7dd.notion.site/af9cf86fd48b4ddb9a210fbcaa864c87?pvs=4)<br>
[Branch Convention](https://harsh-step-7dd.notion.site/b352a5c4a8c24ee88f066fa09866e93d?pvs=4)<br>

### 📸 ScreenShot
[ScreenShot](https://harsh-step-7dd.notion.site/a1a44b35fd6d42e2aad95d22fcf1efcf?pvs=4)
### 📁 Foldering
```
📂 com.sopt.umbba_android
┣ 📂 application
┣ 📂 data
┃ ┣ 📂 datasource
┃ ┣ 📂 interceptor
┃ ┣ 📂 local
┃ ┣ 📂 model
┃ ┣ 📂 repository
┃ ┣ 📂 service
┣ 📂 domain
┃ ┣ 📂 entity
┃ ┣ 📂 repository
┣ 📂 presentation
┣ 📂 util
┃ ┣ 📂 binding
┃ ┣ 📂 fcm
```
### ⚒️ Tech Stack
| | Tech Stack |
| --- | --- |
| 아키텍처 | MVVM |
| 소셜로그인 | KakaoLogin, KakaoLink |
| 자동로그인 | EncryptedSharedPreferences |
| 푸시알림 | FCM |
| 데이터 연동 | DataBinding |
| 사진 | Coil |
| 서버 연결 | Retrofit2 & OkHttp3, Coroutine |
| 메시지 | SnackBar / Dialog Custom |
| Binding | BindingActivity & BindingFragment |
| RecyclerView | DiffUtil & ListAdapter |
| Log | Timber |

43 changes: 38 additions & 5 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,30 @@ plugins {
id 'kotlin-kapt'
id 'kotlin-parcelize'
id 'dagger.hilt.android.plugin'
id 'com.google.gms.google-services'
id 'org.jetbrains.kotlin.plugin.serialization' version '1.8.20'
}

Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())

android {
namespace 'com.sopt.umbba_android'
namespace 'com.ubcompany.umbba_android'
compileSdk 33

defaultConfig {
applicationId "com.sopt.umbba_android"
applicationId "com.ubcompany.umbba_android"
minSdk 26
targetSdk 33
versionCode 1
versionName "1.0"

renderscriptTargetApi 19
renderscriptSupportModeEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

buildConfigField "String", "UMBBA_BASE_URL", properties["UMBBA_BASE_URL"]
buildConfigField "String", "KAKAO_NATIVE_APP_KEY", properties["KAKAO_NATIVE_APP_KEY"]
manifestPlaceholders["NATIVE_APP_KEY"] = properties["KAKAO_NATIVE_APP_KEY_NO_QUOTES"]
}

buildTypes {
Expand All @@ -37,6 +44,7 @@ android {
jvmTarget = '17'
}
buildFeatures {
buildConfig true
viewBinding true
dataBinding true
}
Expand Down Expand Up @@ -67,6 +75,7 @@ dependencies {
// ktx
implementation 'androidx.core:core-ktx:1.7.0'
implementation "androidx.fragment:fragment-ktx:1.5.7"
implementation 'androidx.activity:activity-ktx:1.6.0'

// recyclerview
implementation "androidx.recyclerview:recyclerview:1.3.0"
Expand All @@ -86,11 +95,12 @@ dependencies {
implementation "com.squareup.okhttp3:logging-interceptor"

// serialization
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1'
implementation 'com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:0.8.0'
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0'
implementation 'com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:1.0.0'

// coil
implementation 'io.coil-kt:coil:2.4.0'
implementation 'io.coil-kt:coil-gif:2.4.0'

// Timber
implementation 'com.jakewharton.timber:timber:5.0.1'
Expand All @@ -99,4 +109,27 @@ dependencies {
def hilt_version = "2.42"
implementation "com.google.dagger:hilt-android:$hilt_version"
kapt "com.google.dagger:hilt-android-compiler:$hilt_version"

//viewpager2
implementation "androidx.viewpager2:viewpager2:1.0.0"

// FCM
// import the firebase bom
implementation platform('com.google.firebase:firebase-bom:32.1.1')
// When using the BoM, don't specify versions in Firebase dependencies
implementation 'com.google.firebase:firebase-analytics-ktx'
// Import Firebase Cloud Messaging SDK
implementation 'com.google.firebase:firebase-messaging'
implementation 'com.google.firebase:firebase-dynamic-links-ktx'

// Kakaologin
implementation 'com.kakao.sdk:v2-user:2.11.0'
implementation 'com.kakao.sdk:v2-share:2.11.0'
implementation "com.kakao.sdk:v2-link:2.4.2"

// EncryptedSharedPreferences
implementation "androidx.security:security-crypto:1.0.0"

// Splash
implementation "androidx.core:core-splashscreen:1.0.0"
}
7 changes: 6 additions & 1 deletion app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,9 @@

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
#-renamesourcefileattribute SourceFile

# https://developers.kakao.com/docs/latest/en/getting-started/sdk-android#configure-for-shrinking-and-obfuscation-(optional)
-keep class com.kakao.sdk.**.model.* { <fields>; }
-keep class * extends com.google.gson.TypeAdapter
-keep class com.google.googlesignin.** { *; }
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.sopt.umbba_android
package com.ubcompany.umbba_android

import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
Expand Down
148 changes: 143 additions & 5 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,28 +1,166 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
xmlns:tools="http://schemas.android.com/tools"
package="com.ubcompany.umbba_android">

<queries>
<package android:name="com.kakao.talk" />
</queries>

<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.INTERNET" />

<application
android:allowBackup="true"
android:name="com.ubcompany.umbba_android.application.UmbbaApplication"
android:allowBackup="false"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:fullBackupContent="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Umbbaandroid"
android:usesCleartextTraffic="true"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity"
android:exported="true"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />

<data
android:host="oauth"
android:scheme="kakao${NATIVE_APP_KEY}" />
</intent-filter>
</activity>
<activity
android:name="com.ubcompany.umbba_android.presentation.splash.SplashActivity"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@style/Theme.Umbbaandroid.Splash">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.ubcompany.umbba_android.presentation.onboarding.CommunicationActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name="com.ubcompany.umbba_android.presentation.login.AgreePrivacyUseActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name="com.ubcompany.umbba_android.presentation.onboarding.OnboardingFinishActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name="com.ubcompany.umbba_android.presentation.onboarding.SetTimeActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name="com.ubcompany.umbba_android.presentation.invite.InviteActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name="com.ubcompany.umbba_android.presentation.login.LoginActivity"
android:exported="true"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />

<data
android:host="umbba.page.link"
android:path="/umbba"
android:scheme="https" />
</intent-filter>
</activity>
<activity
android:name="com.ubcompany.umbba_android.presentation.onboarding.InputInfoActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name="com.ubcompany.umbba_android.presentation.onboarding.SelectFamilyActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name="com.ubcompany.umbba_android.presentation.MainActivity"
android:exported="true"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />

<!-- "kakao${YOUR_NATIVE_APP_KEY}://kakaolink" 형식의 앱 실행 스킴을 설정하는데 사용 -->
<data
android:host="kakaolink"
android:scheme="kakao${NATIVE_APP_KEY}" />
</intent-filter>
</activity>

<service
android:name="com.ubcompany.umbba_android.util.fcm.MyFirebaseMessagingService"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>

<meta-data
android:name="com.google.firebase.messaging.default_notification_channel_id"
android:value=" " />
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/ic_umbba_logo" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/primary_400" />

<activity
android:name="com.ubcompany.umbba_android.presentation.invite.InviteCodeActivity"
android:exported="false"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />
<activity
android:name="com.ubcompany.umbba_android.presentation.onboarding.quest.QuestActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name="com.ubcompany.umbba_android.presentation.onboarding.NotifyTimeActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name="com.ubcompany.umbba_android.presentation.qna.AnswerActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name="com.ubcompany.umbba_android.presentation.qna.QuestionAnswerActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name="com.ubcompany.umbba_android.presentation.setting.ManageAccountActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name="com.ubcompany.umbba_android.presentation.setting.DeleteAccountActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name="com.ubcompany.umbba_android.presentation.home.EndingActivity"
android:exported="false"
android:screenOrientation="portrait" />
</application>

</manifest>
Binary file added app/src/main/ic_launcher-playstore.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 0 additions & 11 deletions app/src/main/java/com/sopt/umbba_android/MainActivity.kt

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading

0 comments on commit d4fa333

Please sign in to comment.