Skip to content

Commit 0036400

Browse files
authored
Merge pull request #72 from YAPP-Github/release/1.0
[Release/1.0] 1.0버전 main 브랜치 병합
2 parents b2cecb4 + 8aa6b68 commit 0036400

File tree

481 files changed

+19614
-200
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

481 files changed

+19614
-200
lines changed

.editorconfig

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
root = true
2+
3+
[*]
4+
max_line_length = 160
5+
6+
[*.{kt,kts}]
7+
charset = utf-8
8+
end_of_line = lf
9+
indent_size = 4
10+
indent_style = space
11+
trim_trailing_whitespace = true
12+
insert_final_newline = true
13+
tab_width = 4
14+
ij_kotlin_allow_trailing_comma = true
15+
ij_kotlin_allow_trailing_comma_on_call_site = true
16+
ktlint_function_naming_ignore_when_annotated_with=Composable
17+
ktlint_standard_annotation = disabled
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
name: Issue Template
3+
about: 기본 이슈 템플릿
4+
title: "[FEATURE REFACTOR DOCS UI] 이슈 제목"
5+
6+
---
7+
8+
## 내용
9+
작업 내용을 요약해주세요.
10+
11+
## 작업 상세 내용
12+
- [ ] todo1
13+
- [ ] todo2
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Bug Issue Template
3+
about: 버그 수정 이슈 템플릿
4+
title: "[FIX] 이슈 제목"
5+
labels: 'Fix'
6+
7+
---
8+
9+
## 버그 내용
10+
작업 내용을 요약해주세요.
11+
12+
## 발생 상황
13+
버그의 발생 상황을 Given-When-Then 형식으로 최대한 자세히 서술해주세요
14+
15+
## 예상 결과
16+
예상했던 정상적인 결과가 어떤 것이었는지 서술해주세요
17+
18+
## 작업 상세 내용
19+
- [ ] todo1
20+
- [ ] todo2

.github/pull_request_template.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# [ PR Content ]
2+
<!---- 변경 사항, 개발 및 관련 이슈에 대해 간단하게 작성해주세요. -->
3+
4+
## Related issue
5+
- closed #이슈넘버
6+
7+
## Screenshot 📸
8+
<img src="" width="360"/>
9+
10+
## Work Description
11+
- 작업 내용
12+
13+
## To Reviewers 📢
14+
- 리뷰어에게 중점적으로 확인받고 싶은 내용을 알려주세요
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Android Develop branch CI
2+
3+
on:
4+
push:
5+
branches: [ "develop" ]
6+
pull_request:
7+
branches: [ "develop" ]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: check out repository
15+
uses: actions/checkout@v4
16+
17+
- name: Decode Keystore
18+
env:
19+
RELEASE_STORE_BASE_64: ${{ secrets.RELEASE_STORE_BASE_64 }}
20+
run: |
21+
echo $RELEASE_STORE_BASE_64 > encoded_keystore.txt
22+
base64 --decode encoded_keystore.txt > release.jks
23+
24+
- name: Generate local.properties
25+
env:
26+
KAKAO_NATIVE_APP_KEY: ${{ secrets.KAKAO_NATIVE_APP_KEY }}
27+
BITNAGIL_DEV_URL: ${{ secrets.BITNAGIL_DEV_URL }}
28+
BITNAGIL_PROD_URL: ${{ secrets.BITNAGIL_PROD_URL }}
29+
RELEASE_KEY_ALIAS: ${{ secrets.RELEASE_KEY_ALIAS }}
30+
RELEASE_KEY_PASSWORD: ${{ secrets.RELEASE_KEY_PASSWORD }}
31+
RELEASE_STORE_PASSWORD: ${{ secrets.RELEASE_STORE_PASSWORD }}
32+
run: |
33+
echo "kakao.native.app.key=$KAKAO_NATIVE_APP_KEY" >> local.properties
34+
echo "bitnagil.dev.url=$BITNAGIL_DEV_URL" >> local.properties
35+
echo "bitnagil.prod.url=$BITNAGIL_PROD_URL" >> local.properties
36+
echo "release.key.alias=$RELEASE_KEY_ALIAS" >> local.properties
37+
echo "release.key.password=$RELEASE_KEY_PASSWORD" >> local.properties
38+
echo "release.keystore.password=$RELEASE_STORE_PASSWORD" >> local.properties
39+
echo "release.keystore.path=../release.jks" >> local.properties
40+
41+
- name: set up JDK 17
42+
uses: actions/setup-java@v4
43+
with:
44+
java-version: '17'
45+
distribution: 'temurin'
46+
cache: gradle
47+
48+
- name: Run ktlint
49+
run: ./gradlew ktlintCheck
50+
51+
- name: Run unit tests
52+
run: ./gradlew testDebugUnitTest
53+
54+
- name: Build with Gradle
55+
run: ./gradlew assembleDebug

app/build.gradle.kts

Lines changed: 66 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,92 @@
1+
import java.util.Properties
2+
13
plugins {
2-
alias(libs.plugins.android.application)
3-
alias(libs.plugins.kotlin.android)
4-
alias(libs.plugins.kotlin.compose)
4+
alias(libs.plugins.bitnagil.android.application)
5+
alias(libs.plugins.bitnagil.android.hilt)
6+
alias(libs.plugins.kotlin.serialization)
57
}
68

79
android {
810
namespace = "com.threegap.bitnagil"
9-
compileSdk = 35
11+
12+
val properties =
13+
Properties().apply {
14+
val propFile = rootProject.file("local.properties")
15+
if (propFile.exists()) {
16+
load(propFile.inputStream())
17+
}
18+
}
19+
20+
signingConfigs {
21+
create("release") {
22+
keyAlias = properties["release.key.alias"] as? String
23+
?: System.getenv("RELEASE_KEY_ALIAS")
24+
?: throw GradleException("RELEASE_KEY_ALIAS 값이 없습니다.")
25+
keyPassword = properties["release.key.password"] as? String
26+
?: System.getenv("RELEASE_KEY_PASSWORD")
27+
?: throw GradleException("RELEASE_KEY_PASSWORD 값이 없습니다.")
28+
storePassword = properties["release.keystore.password"] as? String
29+
?: System.getenv("RELEASE_KEYSTORE_PASSWORD")
30+
?: throw GradleException("RELEASE_KEYSTORE_PASSWORD 값이 없습니다.")
31+
storeFile = File("${properties["release.keystore.path"]}")
32+
}
33+
}
1034

1135
defaultConfig {
1236
applicationId = "com.threegap.bitnagil"
13-
minSdk = 28
14-
targetSdk = 35
15-
versionCode = 1
16-
versionName = "1.0"
1737

18-
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
38+
val kakaoNativeAppKey =
39+
(properties["kakao.native.app.key"] as? String)
40+
?: System.getenv("KAKAO_NATIVE_APP_KEY")
41+
?: throw GradleException("KAKAO_NATIVE_APP_KEY 값이 없습니다.")
42+
43+
manifestPlaceholders["KAKAO_NATIVE_APP_KEY"] = kakaoNativeAppKey
44+
buildConfigField(
45+
type = "String",
46+
name = "KAKAO_NATIVE_APP_KEY",
47+
value = "\"$kakaoNativeAppKey\"",
48+
)
1949
}
2050

2151
buildTypes {
52+
debug {
53+
val devUrl = properties["bitnagil.dev.url"] as? String
54+
?: System.getenv("BITNAGIL_DEV_URL")
55+
?: throw GradleException("bitnagil.dev.url 값이 없습니다.")
56+
buildConfigField("String", "BASE_URL", "\"$devUrl\"")
57+
}
58+
2259
release {
60+
val prodUrl = properties["bitnagil.prod.url"] as? String
61+
?: System.getenv("BITNAGIL_PROD_URL")
62+
?: throw GradleException("bitnagil.prod.url 값이 없습니다.")
63+
buildConfigField("String", "BASE_URL", "\"$prodUrl\"")
2364
isMinifyEnabled = false
2465
proguardFiles(
2566
getDefaultProguardFile("proguard-android-optimize.txt"),
26-
"proguard-rules.pro"
67+
"proguard-rules.pro",
2768
)
69+
signingConfig = signingConfigs.getByName("release")
2870
}
2971
}
30-
compileOptions {
31-
sourceCompatibility = JavaVersion.VERSION_11
32-
targetCompatibility = JavaVersion.VERSION_11
33-
}
34-
kotlinOptions {
35-
jvmTarget = "11"
36-
}
72+
3773
buildFeatures {
38-
compose = true
74+
buildConfig = true
3975
}
4076
}
4177

4278
dependencies {
79+
implementation(projects.core.datastore)
80+
implementation(projects.core.designsystem)
81+
implementation(projects.core.network)
82+
implementation(projects.core.security)
83+
implementation(projects.data)
84+
implementation(projects.domain)
85+
implementation(projects.presentation)
4386

44-
implementation(libs.androidx.core.ktx)
45-
implementation(libs.androidx.lifecycle.runtime.ktx)
46-
implementation(libs.androidx.activity.compose)
47-
implementation(platform(libs.androidx.compose.bom))
48-
implementation(libs.androidx.ui)
49-
implementation(libs.androidx.ui.graphics)
50-
implementation(libs.androidx.ui.tooling.preview)
51-
implementation(libs.androidx.material3)
52-
testImplementation(libs.junit)
53-
androidTestImplementation(libs.androidx.junit)
54-
androidTestImplementation(libs.androidx.espresso.core)
55-
androidTestImplementation(platform(libs.androidx.compose.bom))
56-
androidTestImplementation(libs.androidx.ui.test.junit4)
57-
debugImplementation(libs.androidx.ui.tooling)
58-
debugImplementation(libs.androidx.ui.test.manifest)
87+
implementation(libs.kakao.v2.user)
88+
implementation(platform(libs.retrofit.bom))
89+
implementation(libs.bundles.retrofit)
90+
implementation(platform(libs.okhttp.bom))
91+
implementation(libs.bundles.okhttp)
5992
}

app/src/androidTest/java/com/threegap/bitnagil/ExampleInstrumentedTest.kt

Lines changed: 0 additions & 24 deletions
This file was deleted.

app/src/main/AndroidManifest.xml

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,16 @@
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:tools="http://schemas.android.com/tools">
44

5+
<uses-permission android:name="android.permission.INTERNET" />
6+
57
<application
8+
android:name=".BitnagilApplication"
69
android:allowBackup="true"
710
android:dataExtractionRules="@xml/data_extraction_rules"
811
android:fullBackupContent="@xml/backup_rules"
9-
android:icon="@mipmap/ic_launcher"
12+
android:icon="@mipmap/ic_bitnagil_launcher"
1013
android:label="@string/app_name"
11-
android:roundIcon="@mipmap/ic_launcher_round"
14+
android:roundIcon="@mipmap/ic_bitnagil_launcher_round"
1215
android:supportsRtl="true"
1316
android:theme="@style/Theme.Bitnagil"
1417
tools:targetApi="31">
@@ -22,6 +25,20 @@
2225
<category android:name="android.intent.category.LAUNCHER" />
2326
</intent-filter>
2427
</activity>
25-
</application>
2628

29+
<activity
30+
android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity"
31+
android:exported="true">
32+
<intent-filter>
33+
<action android:name="android.intent.action.VIEW" />
34+
35+
<category android:name="android.intent.category.DEFAULT" />
36+
<category android:name="android.intent.category.BROWSABLE" />
37+
38+
<data
39+
android:host="oauth"
40+
android:scheme="kakao${KAKAO_NATIVE_APP_KEY}" />
41+
</intent-filter>
42+
</activity>
43+
</application>
2744
</manifest>
17.6 KB
Loading
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.threegap.bitnagil
2+
3+
import android.app.Application
4+
import com.kakao.sdk.common.KakaoSdk
5+
import dagger.hilt.android.HiltAndroidApp
6+
7+
@HiltAndroidApp
8+
class BitnagilApplication : Application() {
9+
override fun onCreate() {
10+
super.onCreate()
11+
initKakaoSdk()
12+
}
13+
14+
private fun initKakaoSdk() {
15+
KakaoSdk.init(this, BuildConfig.KAKAO_NATIVE_APP_KEY)
16+
}
17+
}

0 commit comments

Comments
 (0)