Skip to content

Commit

Permalink
[MERGE] v2.1.0 -> production
Browse files Browse the repository at this point in the history
[PRODUCTION] v2.1.0
  • Loading branch information
Marchbreeze authored Nov 30, 2024
2 parents 7c1aa9e + 7cffe58 commit 3a52eb2
Show file tree
Hide file tree
Showing 302 changed files with 6,446 additions and 8,039 deletions.
81 changes: 81 additions & 0 deletions .github/workflows/firebase_distribution_builder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Genti Firebase App Distribution Builder

on:
push:
branches: [ production ]

defaults:
run:
shell: bash
working-directory: .

jobs:
build:
name: Firebase App Distribution Builder
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Gradle cache
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 17

- name: Change gradlew permissions
run: chmod +x ./gradlew

- name: Create Local Properties
run: touch local.properties

- name: Access Local Properties
env:
base_url: ${{ secrets.BASE_URL }}
test_base_url: ${{ secrets.TEST_BASE_URL }}
native_app_key: ${{ secrets.NATIVE_APP_KEY }}
amplitude_api_key: ${{ secrets.AMPLITUDE_API_KEY }}
amplitude_test_key: ${{ secrets.AMPLITUDE_TEST_KEY }}
run: |
echo "base.url=\"$base_url\"" >> local.properties
echo "test.base.url=\"$test_base_url\"" >> local.properties
echo "native.app.key=\"$native_app_key\"" >> local.properties
echo "nativeAppKey=\"$native_app_key\"" >> local.properties
echo "amplitude.api.key=\"$amplitude_api_key\"" >> local.properties
echo "amplitude.test.key=\"$amplitude_test_key\"" >> local.properties
- name: Access Keystore Properties
env:
keystore_file: ${{ secrets.KEYSTORE_FILE }}
store_password: ${{ secrets.STORE_PASSWORD }}
key_password: ${{ secrets.KEY_PASSWORD }}
key_alias: ${{ secrets.KEY_ALIAS }}
run: |
echo "storeFile=keystore.jks" > keystore.properties
echo "storePassword=\"$store_password\"" >> keystore.properties
echo "keyAlias=\"$key_alias\"" >> keystore.properties
echo "keyPassword=\"$key_password\"" >> keystore.properties
echo "$keystore_file" | base64 -d > keystore.jks
- name: Access Firebase Service
run: echo '${{ secrets.GOOGLE_SERVICES_JSON }}' > ./app/google-services.json

- name: Build release APK
run: ./gradlew assembleRelease --stacktrace

- name: Upload to Firebase App Distribution
uses: wzieba/Firebase-Distribution-Github-Action@v1
with:
appId: ${{ secrets.FIREBASE_APP_ID }}
serviceCredentialsFileContent: ${{ secrets.FIREBASE_APP_DISTRIBUTION_KEY }}
groups: tester
file: app/build/outputs/apk/release/app-release.apk
30 changes: 29 additions & 1 deletion .github/workflows/pr_checker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,33 @@ jobs:
- name: Access Local Properties
env:
base_url: ${{ secrets.BASE_URL }}
test_base_url: ${{ secrets.TEST_BASE_URL }}
native_app_key: ${{ secrets.NATIVE_APP_KEY }}
amplitude_api_key: ${{ secrets.AMPLITUDE_API_KEY }}
amplitude_test_key: ${{ secrets.AMPLITUDE_TEST_KEY }}
run: |
echo base.url=\"$base_url\" >> local.properties
echo "base.url=\"$base_url\"" >> local.properties
echo "test.base.url=\"$test_base_url\"" >> local.properties
echo "native.app.key=\"$native_app_key\"" >> local.properties
echo "nativeAppKey=\"$native_app_key\"" >> local.properties
echo "amplitude.api.key=\"$amplitude_api_key\"" >> local.properties
echo "amplitude.test.key=\"$amplitude_test_key\"" >> local.properties
- name: Access Keystore Properties
env:
keystore_file: ${{ secrets.KEYSTORE_FILE }}
store_password: ${{ secrets.STORE_PASSWORD }}
key_password: ${{ secrets.KEY_PASSWORD }}
key_alias: ${{ secrets.KEY_ALIAS }}
run: |
echo "storeFile=keystore.jks" > keystore.properties
echo "storePassword=\"$store_password\"" >> keystore.properties
echo "keyAlias=\"$key_alias\"" >> keystore.properties
echo "keyPassword=\"$key_password\"" >> keystore.properties
echo "$keystore_file" | base64 -d > keystore.jks
- name: Access Firebase Service
run: echo '${{ secrets.GOOGLE_SERVICES_JSON }}' > ./app/google-services.json

- name: Build debug APK
run: ./gradlew assembleDebug --stacktrace
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,9 @@ captures/
# Google Services (e.g. APIs or Firebase)
google-services.json

# Local configuration file (sdk path, etc)
keystore.properties

# Android Patch
gen-external-apklibs

Expand Down
27 changes: 22 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,36 @@

<br>

## TEAM _ 안드로이드 단독 개발
![2024-08-01_00-28-32](https://github.com/user-attachments/assets/5179534b-09d6-428d-aa67-92afd1163cc7)
## TEAM
![2024-08-01_00-28-32](https://github.com/user-attachments/assets/64bb2fa3-cd67-430a-ae53-ff20c76d53b7)

### Android Contributor

[![contributors](https://contrib.rocks/image?repo=Genti2024/Genti-Android)](https://github.com/Genti2024/Genti-Android/contributors)

<br>

## PRODUCT
![Group 8245](https://github.com/user-attachments/assets/6616126f-8be8-4011-afc8-d312145cd5e9)

<br>

## SOLUTIONS
![2024-08-01_00-34-24](https://github.com/user-attachments/assets/649fb66d-6788-4d6c-a6de-f4b673f9623b)
![2024-08-01_00-34-43](https://github.com/user-attachments/assets/897c4340-d6d9-4f1a-b9bd-ff4c69675864)
![Group 8250](https://github.com/user-attachments/assets/c96de744-a45f-4512-9896-cd4c6b278ecb)
![Group 8251](https://github.com/user-attachments/assets/45c89b6e-6c74-498d-b498-aaa1bad0484f)
![Group 8252](https://github.com/user-attachments/assets/27210a73-d53c-479c-be24-bc9fe4c5a060)

<br>

## PROGRESS
![Group 8249](https://github.com/user-attachments/assets/30ab4785-68f0-4490-8bbe-a2b0a9a269e6)
![Group 8248](https://github.com/user-attachments/assets/a78918f8-14e5-4853-b0f2-806e880d086a)
![Group 8247](https://github.com/user-attachments/assets/cf32392b-c7f1-4966-9439-ffe150bdc4d0)

<br>

## ACHIEVEMENT
- 2024 정주영 창업경진대회 (아산나눔재단) 사업실행팀 선발
- 2024 정주영 창업경진대회 (아산나눔재단) 사업실행팀 선발 및 본상 수상
- 2024 고려대 KU 창업동아리 아이디어 트랙 선정
- 2024 동국대 아이디어 사업화 지원사업 선발
- 2024 KUCT 딥테크 스타트업 프론티어 선발전 도전상 수상
Expand Down
102 changes: 23 additions & 79 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,28 +1,14 @@
import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties
import java.util.Properties

plugins {
id("com.android.application")
kotlin("android")
kotlin("kapt")
id("kotlin-parcelize")
id("dagger.hilt.android.plugin")
id("kr.genti.androidApplication")
id("com.google.gms.google-services")
id("com.google.firebase.crashlytics")
}

android {
namespace = Constants.packageName
compileSdk = Constants.compileSdk

defaultConfig {
applicationId = Constants.packageName
minSdk = Constants.minSdk
targetSdk = Constants.targetSdk
versionCode = Constants.versionCode
versionName = Constants.versionName

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

buildConfigField(
"String",
"NATIVE_APP_KEY",
Expand All @@ -31,6 +17,19 @@ android {

manifestPlaceholders["NATIVE_APP_KEY"] =
gradleLocalProperties(rootDir).getProperty("nativeAppKey")

val keystorePropertiesFile = rootProject.file("keystore.properties")
val keystoreProperties = Properties()
keystoreProperties.load(keystorePropertiesFile.inputStream())

signingConfigs {
create("release") {
storeFile = file(keystoreProperties["storeFile"] as String)
storePassword = keystoreProperties["storePassword"] as String
keyAlias = keystoreProperties["keyAlias"] as String
keyPassword = keystoreProperties["keyPassword"] as String
}
}
}

buildTypes {
Expand All @@ -57,72 +56,17 @@ android {
"AMPLITUDE_KEY",
gradleLocalProperties(rootDir).getProperty("amplitude.api.key"),
)

isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro",
)
}
}

compileOptions {
sourceCompatibility = Versions.javaVersion
targetCompatibility = Versions.javaVersion
}

kotlinOptions {
jvmTarget = Versions.jvmVersion
}

buildFeatures {
buildConfig = true
dataBinding = true
viewBinding = true
}
}

dependencies {
implementation(project(":core"))
implementation(project(":data"))
implementation(project(":domain"))
implementation(project(":presentation"))

KotlinDependencies.run {
implementation(kotlin)
implementation(coroutines)
implementation(jsonSerialization)
}

AndroidXDependencies.run {
implementation(coreKtx)
implementation(appCompat)
implementation(hilt)
}

KaptDependencies.run {
kapt(hiltCompiler)
}

TestDependencies.run {
testImplementation(jUnit)
androidTestImplementation(androidTest)
androidTestImplementation(espresso)
}

RetrofitDependencies.run {
implementation(platform(okHttpBom))
implementation(okHttp)
implementation(okHttpLoggingInterceptor)
implementation(retrofit)
implementation(retrofitJsonConverter)
}

ThirdPartyDependencies.run {
implementation(timber)
}

KakaoDependencies.run {
implementation(user)
}
implementation(projects.core)
implementation(projects.data)
implementation(projects.domain)
implementation(projects.presentation)

implementation(platform(libs.okhttp.bom))
implementation(libs.bundles.networking)
implementation(libs.kakao)
}
9 changes: 5 additions & 4 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,17 +54,18 @@
android:screenOrientation="portrait" />

<activity
android:name="kr.genti.presentation.generate.waiting.WaitingActivity"
android:name="kr.genti.presentation.create.CreateActivity"
android:exported="false"
android:screenOrientation="portrait" />
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />

<activity
android:name="kr.genti.presentation.generate.finished.FinishedActivity"
android:name="kr.genti.presentation.generate.waiting.WaitingActivity"
android:exported="false"
android:screenOrientation="portrait" />

<activity
android:name="kr.genti.presentation.generate.openchat.OpenchatActivity"
android:name="kr.genti.presentation.generate.finished.FinishedActivity"
android:exported="false"
android:screenOrientation="portrait" />

Expand Down
Loading

0 comments on commit 3a52eb2

Please sign in to comment.