Skip to content

Commit

Permalink
v5.1.2 릴리즈
Browse files Browse the repository at this point in the history
v5.1.2 릴리즈
  • Loading branch information
kwonyj1022 authored Oct 10, 2023
2 parents a971358 + 86e1110 commit dce61ac
Show file tree
Hide file tree
Showing 663 changed files with 30,856 additions and 10,959 deletions.
67 changes: 19 additions & 48 deletions .github/workflows/backend_pr_decorator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
- name: run jacocoTestCoverage
run: |
cd backend/ddang
./gradlew jacocoTestCoverage --info
./gradlew jacocoTestCoverage
- name: set author slack id
if: always()
Expand All @@ -50,9 +50,9 @@ jobs:
elif [ "$GIT_ID" == "swonny" ]; then
AUTHOR_NAME="${{ secrets.swonny_slack_display_name }}"
AUTHOR_ID="${{ secrets.swonny_slack_id }}"
elif [ "$GIT_ID" == "jj503" ]; then
AUTHOR_NAME="${{ secrets.jj503_slack_display_name }}"
AUTHOR_ID="${{ secrets.jj503_slack_id }}"
elif [ "$GIT_ID" == "JJ503" ]; then
AUTHOR_NAME="${{ secrets.JJ503_slack_display_name }}"
AUTHOR_ID="${{ secrets.JJ503_slack_id }}"
elif [ "$GIT_ID" == "kwonyj1022" ]; then
AUTHOR_NAME="${{ secrets.kwonyj1022_slack_display_name }}"
AUTHOR_ID="${{ secrets.kwonyj1022_slack_id }}"
Expand All @@ -61,44 +61,9 @@ jobs:
echo "AUTHOR_NAME=${AUTHOR_NAME}" >> $GITHUB_OUTPUT
echo "AUTHOR_ID=${AUTHOR_ID}" >> $GITHUB_OUTPUT
- name: run an analysis of the ${{ github.REF }} branch ${{ github.BASE_REF }} base
uses: sonarsource/sonarqube-scan-action@master
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_HOST_URL: ${{ secrets.SONAR_URL }}
with:
args: >
-Dsonar.issuesReport.console.enable=true
-Dsonar.projectKey=develop-be-project
-Dsonar.java.binaries=backend/ddang/build/classes
-Dsonar.exclusions=**/*Dto*.java,**/*Application*.java,**/*Exception*.java,**/*Response*.java,**/*Request*.java,**/*Configuration*.java,**/*Appender*.java,**/*.html,**/generated/**,**/resources/**
-Dsonar.sourceEncoding=UTF-8
-Dsonar.java.coveragePlugin=jacoco
-Dsonar.coverage.jacoco.xmlReportPaths=backend/ddang/build/reports/jacoco/test/jacocoTestReport.xml
-Dsonar.issue.ignore.multicriteria=e1,e2
-Dsonar.issue.ignore.multicriteria.e1.ruleKey=java:S100
-Dsonar.issue.ignore.multicriteria.e1.resourceKey=**/*Test.java
-Dsonar.issue.ignore.multicriteria.e2.ruleKey=java:S1192
-Dsonar.issue.ignore.multicriteria.e2.resourceKey=**/*Test.java
- name: sonarqube quality check
id: sonar-quality
run: |
SONAR_PROJECT_KEY="develop-be-project"
SONAR_TOKEN="${{ secrets.SONAR_TOKEN }}"
RESULT=$(curl -s -u "admin:root" "${{ secrets.SONAR_URL }}/api/qualitygates/project_status?projectKey=${SONAR_PROJECT_KEY}&pullRequest=${{github.event.number}}")
STATUS=$(echo "$RESULT" | jq -r '.projectStatus.status')
ERROR_METRIC_KEYS=$(echo "$RESULT" | jq -r '.projectStatus.conditions[] | select(.status == "ERROR").metricKey')
echo "STATUS=${STATUS}" >> $GITHUB_OUTPUT
echo "ERROR_METRIC_KEYS=${ERROR_METRIC_KEYS}" >> $GITHUB_OUTPUT
- name: set variables
id: variables
run: |
SONAR_SCANNER_URL="${{ secrets.SONAR_URL }}/dashboard?id=sonarqube-test&pullRequest=${{github.event.number}}"
REVIEWERS_GIT_ID='${{ toJson(github.event.pull_request.requested_reviewers[*].login) }}'
reviewers=$(echo "$REVIEWERS_GIT_ID" | jq -r '.[]')
Expand All @@ -111,32 +76,34 @@ jobs:
elif [ "$reviewer" == "swonny" ]; then
REVIEWERS_SLACK_ID+="<@${{ secrets.swonny_slack_id }}> "
elif [ "$reviewer" == "JJ503" ]; then
REVIEWERS_SLACK_ID+="<@${{ secrets.jj503_slack_id }}> "
REVIEWERS_SLACK_ID+="<@${{ secrets.JJ503_slack_id }}> "
elif [ "$reviewer" == "kwonyj1022" ]; then
REVIEWERS_SLACK_ID+="<@${{ secrets.kwonyj1022_slack_id }}> "
fi
done
echo "AUTHOR=${AUTHOR}" >> $GITHUB_OUTPUT
echo "SONAR_SCANNER_URL=${SONAR_SCANNER_URL}" >> $GITHUB_OUTPUT
echo "REVIEWERS=${REVIEWERS}" >> $GITHUB_OUTPUT
echo "REVIEWERS_SLACK_ID=${REVIEWERS_SLACK_ID}" >> $GITHUB_OUTPUT
- name: slack test
- name: slack notification
if: github.event_name == 'pull_request' && github.event.action != 'synchronize'
run: |
SLACK_MESSAGE='{"text":"PR 브랜치 분석","blocks":[{"type":"section","text":{"type":"mrkdwn","text":">*PR 브랜치 분석* \n>\n>*PR Author*\n>'
SLACK_MESSAGE+="${{ steps.author-slack.outputs.AUTHOR_NAME }}"
SLACK_MESSAGE+="\n>\n>*PR 링크*\n><"
SLACK_MESSAGE+="${{ github.event.pull_request.html_url }} "
SLACK_MESSAGE+="> \n>\n>분석 결과\n>"
SLACK_MESSAGE+="> \n>\n>*PR 제목*\n>"
SLACK_MESSAGE+="${{ github.event.pull_request.title }}"
SLACK_MESSAGE+="\n>\n>분석 결과\n>"
SLACK_MESSAGE+=":white_check_mark:"
SLACK_MESSAGE+="\n>\n>*리뷰어*\n>"
SLACK_MESSAGE+="${{ steps.variables.outputs.REVIEWERS_SLACK_ID }}"
SLACK_MESSAGE+='"}}]}'
curl -X POST ${{ secrets.SLACK_WEBHOOK }} -d "${SLACK_MESSAGE}"
curl -X POST ${{ secrets.SLACK_WEBHOOK }} -d "${SLACK_MESSAGE}"
- name: slack failed test
- name: slack failed notification
if: failure()
run: |
SLACK_MESSAGE='{"text":"PR 브랜치 분석","blocks":[{"type":"section","text":{"type":"mrkdwn","text":">*PR 브랜치 분석* \n>\n>*PR Author*\n>'
Expand All @@ -145,13 +112,15 @@ jobs:
SLACK_MESSAGE+=">"
SLACK_MESSAGE+="\n>\n>*PR 링크*\n><"
SLACK_MESSAGE+="${{ github.event.pull_request.html_url }} "
SLACK_MESSAGE+="> \n>\n>분석 결과\n>"
SLACK_MESSAGE+="> \n>\n>*PR 제목*\n>"
SLACK_MESSAGE+="${{ github.event.pull_request.title }}"
SLACK_MESSAGE+="\n>\n>분석 결과\n>"
SLACK_MESSAGE+=":x:"
SLACK_MESSAGE+='"}}]}'
curl -X POST ${{ secrets.SLACK_WEBHOOK }} -d "${SLACK_MESSAGE}"
- name: slack cancelled test
- name: slack cancelled notification
if: cancelled()
run: |
SLACK_MESSAGE='{"text":"PR 브랜치 분석","blocks":[{"type":"section","text":{"type":"mrkdwn","text":">*PR 브랜치 분석* \n>\n>*PR Author*\n>'
Expand All @@ -160,7 +129,9 @@ jobs:
SLACK_MESSAGE+=">"
SLACK_MESSAGE+="\n>\n>*PR 링크*\n><"
SLACK_MESSAGE+="${{ github.event.pull_request.html_url }} "
SLACK_MESSAGE+="> \n>\n>분석 결과\n>"
SLACK_MESSAGE+="> \n>\n>*PR 제목*\n>"
SLACK_MESSAGE+="${{ github.event.pull_request.title }}"
SLACK_MESSAGE+="\n>\n>분석 결과\n>"
SLACK_MESSAGE+=":black_square_for_stop:"
SLACK_MESSAGE+='"}}]}'
Expand Down
20 changes: 18 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'kotlin-kapt'
id 'com.google.dagger.hilt.android'
id 'kotlin-parcelize'
id 'com.google.gms.google-services'
id 'com.google.firebase.crashlytics'
Expand All @@ -19,14 +20,15 @@ android {
minSdk 28
targetSdk 33

versionCode 3
versionName "2.1.0"
versionCode 12
versionName "5.1.2"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

manifestPlaceholders = [KEY_KAKAO: properties['key.kakao']]
buildConfigField 'String', 'KEY_KAKAO', properties['key.kakao.string']
buildConfigField "String", "PRIVACY_POLICY_URL", properties['url.privacyPolicy']
buildConfigField "String", "DDANG_EMAIL_ADDRESS", properties['email.address.ddangddangddang']
}

buildTypes {
Expand Down Expand Up @@ -94,7 +96,21 @@ dependencies {
implementation platform('com.google.firebase:firebase-bom:32.2.0')
implementation 'com.google.firebase:firebase-analytics-ktx'
implementation 'com.google.firebase:firebase-crashlytics-ktx'
implementation 'com.google.firebase:firebase-messaging-ktx:23.2.1'

// 카카오 로그인
implementation 'com.kakao.sdk:v2-user:2.11.1'

// lottie 애니메이션
implementation 'com.airbnb.android:lottie:6.1.0'

// hilt
implementation "com.google.dagger:hilt-android:2.44"
kapt "com.google.dagger:hilt-compiler:2.44"

// app update manager
implementation 'com.google.android.play:app-update-ktx:2.1.0'
}
kapt {
correctErrorTypes true
}
25 changes: 23 additions & 2 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

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

<uses-feature
android:name="android.hardware.camera"
Expand All @@ -21,6 +22,18 @@
android:theme="@style/Theme.DdangDdangDdang"
android:usesCleartextTraffic="true"
tools:targetApi="31">
<activity
android:name=".feature.imageDetail.ImageDetailActivity"
android:exported="false" />
<activity
android:name=".feature.participateAuction.ParticipateAuctionActivity"
android:exported="false" />
<activity
android:name=".feature.myAuction.MyAuctionActivity"
android:exported="false" />
<activity
android:name=".feature.profile.ProfileChangeActivity"
android:exported="false" />
<activity
android:name=".feature.messageRoom.MessageRoomActivity"
android:exported="false"
Expand Down Expand Up @@ -54,7 +67,8 @@
android:exported="false" />
<activity
android:name=".feature.main.MainActivity"
android:exported="false" />
android:exported="false"
android:windowSoftInputMode="adjustPan" />
<activity
android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity"
android:exported="true">
Expand Down Expand Up @@ -82,6 +96,13 @@
android:name="photopicker_activity:0:required"
android:value="" />
</service>
<service
android:name=".notification.DdangDdangDdangFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
</application>

</manifest>
</manifest>
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.ddangddangddang.android.di

import javax.inject.Qualifier

@Qualifier
@Retention(AnnotationRetention.BINARY)
annotation class AuthRetrofitQualifier

@Qualifier
@Retention(AnnotationRetention.BINARY)
annotation class AuctionRetrofitQualifier

@Qualifier
@Retention(AnnotationRetention.BINARY)
annotation class DateFormatter

@Qualifier
@Retention(AnnotationRetention.BINARY)
annotation class TimeFormatter
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package com.ddangddangddang.android.di

import com.ddangddangddang.data.remote.AuctionService
import com.ddangddangddang.data.remote.AuthService
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import retrofit2.Retrofit
import javax.inject.Singleton

@Module
@InstallIn(SingletonComponent::class)
object ApiServiceModule {

@Singleton
@Provides
fun provideAuthService(@AuthRetrofitQualifier retrofit: Retrofit): AuthService =
retrofit.create(AuthService::class.java)

@Singleton
@Provides
fun provideAuctionService(@AuctionRetrofitQualifier retrofit: Retrofit): AuctionService =
retrofit.create(AuctionService::class.java)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package com.ddangddangddang.android.di

import android.content.Context
import com.ddangddangddang.android.R
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
import java.time.format.DateTimeFormatter
import java.util.Locale
import javax.inject.Singleton

@Module
@InstallIn(SingletonComponent::class)
object FormatterModule {
@DateFormatter
@Singleton
@Provides
fun provideDateFormatter(@ApplicationContext context: Context): DateTimeFormatter {
return DateTimeFormatter.ofPattern(
context.getString(R.string.all_date_format),
Locale.KOREAN,
)
}

@TimeFormatter
@Singleton
@Provides
fun provideTimeFormatter(@ApplicationContext context: Context): DateTimeFormatter {
return DateTimeFormatter.ofPattern(
context.getString(R.string.all_time_format),
Locale.KOREAN,
)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package com.ddangddangddang.android.di

import com.ddangddangddang.data.repository.AuctionRepository
import com.ddangddangddang.data.repository.AuctionRepositoryImpl
import com.ddangddangddang.data.repository.AuthRepository
import com.ddangddangddang.data.repository.AuthRepositoryImpl
import com.ddangddangddang.data.repository.CategoryRepository
import com.ddangddangddang.data.repository.CategoryRepositoryImpl
import com.ddangddangddang.data.repository.ChatRepository
import com.ddangddangddang.data.repository.ChatRepositoryImpl
import com.ddangddangddang.data.repository.RegionRepository
import com.ddangddangddang.data.repository.RegionRepositoryImpl
import com.ddangddangddang.data.repository.ReviewRepository
import com.ddangddangddang.data.repository.ReviewRepositoryImpl
import com.ddangddangddang.data.repository.UserRepository
import com.ddangddangddang.data.repository.UserRepositoryImpl
import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton

@Module
@InstallIn(SingletonComponent::class)
abstract class RepositoryModule {
@Singleton
@Binds
abstract fun bindAuctionRepository(auctionRepository: AuctionRepositoryImpl): AuctionRepository

@Singleton
@Binds
abstract fun bindAuthRepository(authRepository: AuthRepositoryImpl): AuthRepository

@Singleton
@Binds
abstract fun bindCategoryRepository(categoryRepository: CategoryRepositoryImpl): CategoryRepository

@Singleton
@Binds
abstract fun bindChatRepository(chatRepository: ChatRepositoryImpl): ChatRepository

@Singleton
@Binds
abstract fun bindRegionRepository(regionRepository: RegionRepositoryImpl): RegionRepository

@Singleton
@Binds
abstract fun bindUserRepository(userRepository: UserRepositoryImpl): UserRepository

@Singleton
@Binds
abstract fun bindReviewRepository(reviewRepository: ReviewRepositoryImpl): ReviewRepository
}
Loading

0 comments on commit dce61ac

Please sign in to comment.