Skip to content

Commit

Permalink
Merge pull request #242 from Team-KeepGoEat/dev
Browse files Browse the repository at this point in the history
[release] v1.0.0 배포
  • Loading branch information
youngjinc authored May 12, 2023
2 parents 2283d86 + 3cc165e commit 76cc89b
Show file tree
Hide file tree
Showing 324 changed files with 10,267 additions and 479 deletions.
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[*]
max_line_length = 140
max_line_length = off

[*.{kt, kts}]
disabled_rules = import-ordering, no-wildcard-imports
30 changes: 30 additions & 0 deletions .github/workflows/pr_builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,36 @@ jobs:
- name: Touch local properties
run: touch local.properties

- name: Access KAKAO_NATIVE_KEY
env:
KAKAO_NATIVE_KEY: ${{ secrets.KAKAO_NATIVE_KEY }}
run: echo "KAKAO_NATIVE_KEY=\"$KAKAO_NATIVE_KEY\"" >> local.properties

- name: Access NAVER_CLIENT_ID
env:
NAVER_CLIENT_ID: ${{ secrets.NAVER_CLIENT_ID }}
run: echo "NAVER_CLIENT_ID=\"$NAVER_CLIENT_ID\"" >> local.properties

- name: Access NAVER_CLIENT_SECRETE
env:
NAVER_CLIENT_SECRETE: ${{ secrets.NAVER_CLIENT_SECRETE }}
run: echo "NAVER_CLIENT_SECRETE=\"$NAVER_CLIENT_SECRETE\"" >> local.properties

- name: Access KGE_BASE_URL
env:
HFM_BASE_URL: ${{ secrets.KGE_BASE_URL }}
run: echo "KGE_BASE_URL=\"$KGE_BASE_URL\"" >> local.properties

- name: Access MIXPANEL_PROD_TOKEN
env:
HFM_BASE_URL: ${{ secrets.MIXPANEL_PROD_TOKEN }}
run: echo "MIXPANEL_PROD_TOKEN=\"$MIXPANEL_PROD_TOKEN\"" >> local.properties

- name: Access MIXPANEL_DEV_TOKEN
env:
HFM_BASE_URL: ${{ secrets.MIXPANEL_DEV_TOKEN }}
run: echo "MIXPANEL_DEV_TOKEN=\"$MIXPANEL_DEV_TOKEN\"" >> local.properties

- name: Lint Check
run: ./gradlew ktlintCheck

Expand Down
31 changes: 22 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,37 @@
# *🐌  Keep Go Eat - AOS 🐌*

<img src="https://user-images.githubusercontent.com/48701368/212340333-16d53383-9700-48a1-ab35-1d5cdce31f83.png" width="100" />

IN SOPT 31st APPJAM 킵고잇 Android 팀 레포입니다.

<br>

## 🥗 *****Project*****

**킵고잇(Keep-Go-Eat)**

계속 먹어도 괜찮아.
스트레스 받지 않고 스스로 조절하는 나만의 식습관을 찾아가는 길, 킵고잇
<img width="1226" alt="image" src="https://user-images.githubusercontent.com/48701368/212341763-60663dba-ddf1-478f-abf2-889fa4ec3770.png">


좋은 음식은 더 먹고, 나쁜 음식은 덜 먹는 날을 늘려가도록 돕는
즐거운 식습관 기록 서비스, 킵고잇

<br>

## 📷 *****Screen*****
| <img width="200" src="https://user-images.githubusercontent.com/74285061/212347381-3aa80850-0a12-4789-b8fd-4e888c73b63c.png"/> | <img width="200" src="https://user-images.githubusercontent.com/74285061/212344288-45900975-6e69-4bbe-8ae5-1d8b6fcd0372.png"/> | <img width="200" src="https://user-images.githubusercontent.com/74285061/212344512-0e1c4767-3b1d-485e-bb39-afb4c4e794a6.png"/> | <img width="200" src="https://user-images.githubusercontent.com/74285061/212344674-5a8eed77-ecbc-4137-9619-f409f402482c.png"/> |
| :---: | :---: | :---: |:------------------------------------------------------------------------------------------------------------------------------:|
|`LoginView`|`HomeView`|`HomeView`| `GoalDetailView` |
| <img width="200" src="https://user-images.githubusercontent.com/74285061/212348090-ba59c563-614c-4f31-bdfd-e3921b5721dc.png"/> | <img width="200" src="https://user-images.githubusercontent.com/74285061/212345080-57f3df5f-a52b-4bee-860c-e0f2a3dd7447.png"/> | <img width="200" src="https://user-images.githubusercontent.com/74285061/212345214-fc5f80c8-0689-4c3b-98f0-c06c91aaca3e.png"/> |<img width="200" src="https://user-images.githubusercontent.com/48701368/212350472-9c95f8b4-6a5a-43a6-8f77-199ca29b9534.gif">
|`GoalDetailView`|`GoalSettingView`|`MyPageView`| |

<br>

## 👋 *****Contributors*****

| [@YuBeen-Park](https://github.com/YuBeen-Park) | [@Dani43](https://github.com/Dan2dani) | [@youngjinc](https://github.com/youngjinc) |
| :---: | :---: | :---: |
|<img width="540" src="https://user-images.githubusercontent.com/74285061/210170256-288c20b1-f02c-41d8-823a-76e1c045dba3.jpg"/>|<img width="540" src="https://user-images.githubusercontent.com/77060011/210170719-2723b6c7-868c-4258-9376-bb39c39c9c3e.jpg"/>|<img width="540" src="https://user-images.githubusercontent.com/48701368/210170185-9ffc6662-6d82-445d-b8c5-602d93c06acd.jpg"/>|
|`HomeView`|`LoginView`, `OnBoardingView`|`GoalSettingView`, `GoalDetailView`|
| [@YuBeen-Park](https://github.com/YuBeen-Park) | [@Dani43](https://github.com/Dan2dani) | [@youngjinc](https://github.com/youngjinc) |
|:------------------------------------------------------------------------------------------------------------------------------:| :---: | :---: |
| <img width="540" src="https://user-images.githubusercontent.com/74285061/210170256-288c20b1-f02c-41d8-823a-76e1c045dba3.jpg"/> |<img width="540" src="https://user-images.githubusercontent.com/77060011/210755750-b583720a-550f-4c65-bd07-ac0b9579da5d.png"/>|<img width="540" src="https://user-images.githubusercontent.com/48701368/211861830-bec25687-ceff-4d83-9d69-5176bedb1fc7.jpg"/>|
| `HomeView`, `MyPageView` |`LoginView`, `OnBoardingView`|`GoalSettingView`, `GoalDetailView`|

<br>

Expand All @@ -29,7 +42,7 @@ IN SOPT 31st APPJAM 킵고잇 Android 팀 레포입니다.
| Jetpack Components | encryptedsharedpreferences, LiveData, Lifecycle, ViewModel, DataBinding |
| Dependency Injection | Hilt |
| Network | Retrofit, OkHttp |
| Asynchronous Processing | Coroutine |
| Asynchronous Processing | Coroutine(+ Flow) |
| Third Party Library | Coil, Social Login, Firebase, Lottie, Timber, kotlinSerialization |
| Strategy | Git Flow |
| CI | GitHub Action(KtLint, Complie Check) |
Expand Down Expand Up @@ -78,4 +91,4 @@ IN SOPT 31st APPJAM 킵고잇 Android 팀 레포입니다.
┣ 📂 util
┃ ┣ 📂 binding
┃ ┣ 📂 extension
```
```
44 changes: 40 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,28 @@ android {
applicationId "org.keepgoeat"
minSdk 28
targetSdk 33
versionCode 1
versionName "1.0"
versionCode 16
versionName "1.0.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
buildConfigField "String", "KGE_BASE_URL", properties["KGE_BASE_URL"]
buildConfigField "String", "KAKAO_NATIVE_KEY", properties["KAKAO_NATIVE_KEY"]
buildConfigField "String", "NAVER_CLIENT_ID", properties["NAVER_CLIENT_ID"]
buildConfigField "String", "NAVER_CLIENT_SECRETE", properties["NAVER_CLIENT_SECRETE"]
}

buildTypes {
release {
debug {
manifestPlaceholders = [KAKAO_NATIVE_KEY: properties["KAKAO_NATIVE_KEY"]]
minifyEnabled false
buildConfigField "String", "MIXPANEL_PROJECT_TOKEN", properties["MIXPANEL_DEV_TOKEN"]
}
release {
manifestPlaceholders = [KAKAO_NATIVE_KEY: properties["KAKAO_NATIVE_KEY"]]
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
buildConfigField "String", "MIXPANEL_PROJECT_TOKEN", properties["MIXPANEL_PROD_TOKEN"]
}
}
compileOptions {
Expand All @@ -52,6 +64,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.5.1'
implementation 'com.google.android.material:material:1.7.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.recyclerview:recyclerview:1.2.0-rc01'

// Ktx
implementation 'androidx.activity:activity-ktx:1.6.0'
Expand All @@ -63,6 +76,7 @@ dependencies {
implementation "com.google.dagger:hilt-android:$hilt_version"
implementation 'androidx.hilt:hilt-navigation-fragment:1.0.0'
kapt "com.google.dagger:hilt-compiler:$hilt_version"
kapt "com.google.dagger:dagger-compiler:$hilt_version"

// Coil
implementation 'io.coil-kt:coil:2.2.2'
Expand All @@ -77,15 +91,37 @@ dependencies {
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:0.8.0'
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1'
implementation 'com.google.code.gson:gson:2.10'

// Firebase
implementation platform('com.google.firebase:firebase-bom:31.1.1')
implementation 'com.google.firebase:firebase-crashlytics-ktx'
implementation 'com.google.firebase:firebase-analytics-ktx'

// Mixpanel
implementation 'com.mixpanel.android:mixpanel-android:7.+'

// KakaoSignIn
implementation "com.kakao.sdk:v2-user:2.12.0"

// NaverSignIn
implementation 'com.navercorp.nid:oauth-jdk8:5.3.0'

testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.0'

// ViewPager2
implementation 'androidx.viewpager2:viewpager2:1.0.0'

// Splashscreen
implementation 'androidx.core:core-splashscreen:1.0.0'

// Lottie
implementation 'com.airbnb.android:lottie:5.2.0'

// In-App Review
implementation 'com.google.android.play:review:2.0.1'
implementation 'com.google.android.play:review-ktx:2.0.1'
}

ktlint {
Expand Down
10 changes: 9 additions & 1 deletion app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,12 @@

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

-keep class com.kakao.sdk.**.model.* { <fields>; }
-keep public class com.navercorp.nid.** { public *; }
-keep class * extends com.google.gson.TypeAdapter

-keepnames class * extends android.os.Parcelable
-keepnames class * extends java.io.Serializable
-keep class org.keepgoeat.data.model.** { *; }
89 changes: 80 additions & 9 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,102 @@
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>

<application
android:name=".App"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:icon="@mipmap/ic_keepgoeat"
android:label="@string/keep_go_eat"
android:roundIcon="@mipmap/ic_keepgoeat_round"
android:supportsRtl="true"
android:theme="@style/Theme.KeepGoEat"
android:usesCleartextTraffic="true"
tools:targetApi="31">
<activity
android:name=".presentation.MainActivity"
android:exported="true">
android:name=".presentation.SplashActivity"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@style/Theme.KeepGoEat.Splash"
tools:ignore="LockedOrientationActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".presentation.dummy.DummyActivity"
android:exported="false" />
</application>
android:name=".presentation.home.HomeActivity"
android:exported="true"
android:screenOrientation="portrait"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".presentation.sign.SignActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".presentation.detail.GoalDetailActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".presentation.onboarding.OnboardingActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".presentation.setting.GoalSettingActivity"
android:exported="false"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateVisible"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".presentation.my.MyActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".presentation.my.AccountInfoActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".presentation.my.archive.ArchivedGoalActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".presentation.my.ServiceIntroActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".presentation.common.WebViewActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".presentation.my.withdraw.WithdrawActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="LockedOrientationActivity" />
<activity
android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />

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

<!-- Redirect URI: "kakao${NATIVE_APP_KEY}://oauth" -->
<data
android:host="oauth"
android:scheme="kakaod799c706c62fb280c279b5befc65116f" />
</intent-filter>
</activity>
</application>
</manifest>
Binary file added app/src/main/ic_keepgoeat-playstore.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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.
5 changes: 5 additions & 0 deletions app/src/main/java/org/keepgoeat/App.kt
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
package org.keepgoeat

import android.app.Application
import androidx.appcompat.app.AppCompatDelegate
import com.kakao.sdk.common.KakaoSdk
import dagger.hilt.android.HiltAndroidApp
import org.keepgoeat.BuildConfig.KAKAO_NATIVE_KEY
import org.keepgoeat.util.KGEDebugTree
import timber.log.Timber

@HiltAndroidApp
class App : Application() {
override fun onCreate() {
super.onCreate()
KakaoSdk.init(this, KAKAO_NATIVE_KEY)
if (BuildConfig.DEBUG) Timber.plant(KGEDebugTree())
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
}
}
8 changes: 0 additions & 8 deletions app/src/main/java/org/keepgoeat/data/ApiResponse.kt

This file was deleted.

Loading

0 comments on commit 76cc89b

Please sign in to comment.