Skip to content

Commit 912e811

Browse files
authored
Merge pull request #62 from TeamFILL-IN/develop
[Version Up] Master Merge
2 parents b0aa9ae + 8262607 commit 912e811

File tree

276 files changed

+8314
-226
lines changed

Some content is hidden

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

276 files changed

+8314
-226
lines changed

.github/CODEOWNERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# FILLIN Android Team
2+
* @TeamFILL-IN/android
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
name: Feature request
3+
about: FILL-IN Issue Template
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
11+
# 📝 DESCRIPTION
12+
### Describe issue here
13+
14+
# ☑️ TODO
15+
- [ ] TODO 1
16+
- [ ] TODO 2

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
## Related Issues
2+
3+
4+
## What Did You Do?
5+
- [x]
6+
7+
8+
## Reference
9+
- [x]

.github/workflows/debug_builder.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: FILLIN Push Builder
2+
3+
on:
4+
push:
5+
branches: [ develop, master ]
6+
7+
defaults:
8+
run:
9+
shell: bash
10+
working-directory: .
11+
12+
jobs:
13+
build:
14+
name: APK Builder When Push
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v2
19+
20+
- name: Gradle cache
21+
uses: actions/cache@v2
22+
with:
23+
path: |
24+
~/.gradle/caches
25+
~/.gradle/wrapper
26+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
27+
restore-keys: |
28+
${{ runner.os }}-gradle-
29+
- name: set up JDK 11
30+
uses: actions/setup-java@v1
31+
with:
32+
java-version: 11
33+
34+
- name: Change gradlew permissions
35+
run: chmod +x ./gradlew
36+
37+
- name: Build debug APK
38+
run: ./gradlew assembleDebug --stacktrace
39+
40+
- name: On Success
41+
if: ${{ success() }}
42+
uses: MeilCli/slack-upload-file@v1
43+
with:
44+
slack_token: ${{ secrets.SLACK_BOT_TOKEN}}
45+
channels: ${{ secrets.SLACK_CHANNEL_ID }}
46+
file_path: 'app/build/outputs/apk/debug/app-debug.apk'
47+
file_name: 'FILLIN.apk'
48+
file_type: 'apk'
49+
initial_comment: '찰칵 📸 FILL-IN이 슬랙으로 들어오는 장면을 찍어보겠습니다'
50+
51+
- name: On Failed, Notify in Slack
52+
if: ${{ failure() }}
53+
uses: rtCamp/action-slack-notify@v2
54+
env:
55+
SLACK_COLOR: '#ff0000'
56+
SLACK_ICON: https://user-images.githubusercontent.com/54518925/148585882-ee5c6dc5-6789-4b90-9fd0-f7382275e974.jpeg?size=48
57+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
58+
SLACK_TITLE: 'FILLIN/Android Debug build Fail❌'
59+
MSG_MINIMAL: true
60+
SLACK_USERNAME: FILLIN AND-BOT
61+
SLACK_MESSAGE: 'APK 생성 중 에러가 발생했습니다. 에러를 확인해주세요'

.github/workflows/pr_checker.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: FILLIN PR Checker
2+
3+
on:
4+
pull_request:
5+
branches: [ develop, master ]
6+
7+
defaults:
8+
run:
9+
shell: bash
10+
working-directory: .
11+
12+
jobs:
13+
build:
14+
name: PR Checker
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v2
19+
20+
- name: Gradle cache
21+
uses: actions/cache@v2
22+
with:
23+
path: |
24+
~/.gradle/caches
25+
~/.gradle/wrapper
26+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
27+
restore-keys: |
28+
${{ runner.os }}-gradle-
29+
- name: set up JDK 11
30+
uses: actions/setup-java@v1
31+
with:
32+
java-version: 11
33+
34+
- name: Change gradlew permissions
35+
run: chmod +x ./gradlew
36+
37+
- name: Build debug APK
38+
run: ./gradlew assembleDebug --stacktrace
39+
40+
- name: On Success
41+
if: ${{ success() }}
42+
uses: rtCamp/action-slack-notify@v2
43+
env:
44+
SLACK_COLOR: '#53A551'
45+
SLACK_ICON: https://user-images.githubusercontent.com/54518925/148585882-ee5c6dc5-6789-4b90-9fd0-f7382275e974.jpeg?size=48
46+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
47+
SLACK_TITLE: 'FILLIN/PR Check S.U.C.C.E.S.S 🎉🎉🎉'
48+
MSG_MINIMAL: true
49+
SLACK_USERNAME: FILLIN AND-BOT
50+
SLACK_MESSAGE: 'P R 성 공!!! 🎉🎉🎉'
51+
52+
- name: On Failed, Notify in Slack
53+
if: ${{ failure() }}
54+
uses: rtCamp/action-slack-notify@v2
55+
env:
56+
SLACK_COLOR: '#ff0000'
57+
SLACK_ICON: https://user-images.githubusercontent.com/54518925/148585882-ee5c6dc5-6789-4b90-9fd0-f7382275e974.jpeg?size=48
58+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
59+
SLACK_TITLE: 'FILLIN/Android Debug build Fail❌'
60+
MSG_MINIMAL: true
61+
SLACK_USERNAME: FILLIN AND-BOT
62+
SLACK_MESSAGE: '에러를 확인해주세요'

.gitignore

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,6 @@ output.json
2424
*.iml
2525
.idea/
2626

27-
# Keystore files
28-
*.jks
29-
*.keystore
30-
3127
# Google Services (e.g. APIs or Firebase)
3228
google-services.json
3329

README.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Fill-Android
2+
3+
필름 현상소, 필름 정보제공 서비스
4+
당신의 추억으로 FILL-IN</br></br>
5+
<img width="90%" src="https://user-images.githubusercontent.com/56147398/148933940-1c02f148-6d3b-45c8-a3de-cfd9213ac6db.jpeg"/>
6+
7+
## 기술 스택 💻
8+
- Architecture: MVC + MVVM
9+
- Android Jetpack
10+
- Lifecycle
11+
- AAC
12+
- Dagger-Hilt
13+
- App Startup
14+
- DataBinding/ViewBinding
15+
- Security(EncryptedSharedPreference)
16+
- Paging3
17+
- SplashScreen Core
18+
- Modern Kotlin
19+
- Coroutines + Flow
20+
- CI/CD
21+
- Github Action
22+
- Slack
23+
- Glide
24+
- Retrofit/Okhttp
25+
- Kakao SDK
26+
- NaverMap SDK
27+
- Timber
28+
- Flipper
29+
30+
## 역할 📸
31+
- 이강민 : 지도 뷰, 지도 검색, 지도 상세정보
32+
- 윤현지 : 마이페이지, 사진업로드 및 스튜디오필름 선택
33+
- 김수빈 : 메인 홈, 필름롤 , 사진상세보기(모달창)
34+
- 이현우 : 소셜 로그인, 프로젝트 설정, 유틸, 그 외 작업
35+
36+
## 폴더링 구조 📂
37+
<img width="50%" src="https://user-images.githubusercontent.com/54518925/150623426-7f574390-9858-4603-af58-37c52be1e943.png"/></br>
38+
<img width="50%" src="https://user-images.githubusercontent.com/54518925/150623430-4f8a1b6d-3719-4bc4-a57c-76ea3245fc69.png"/></br>
39+
### package name은 반드시 소문자로 작성
40+
- presentation -> 뷰 관련 작업
41+
- di -> 의존성 주입 관련 모듈
42+
- data -> 서버, 데이터 관련 작업
43+
- core -> util 확장함수 모듈
44+
45+
## 컨벤션 🎞
46+
- Coding Convention: <https://www.notion.so/66jxndoe/Coding-Convention-0c07e7e3d55740e291a490c84062e33f>
47+
- Branch 전략: <https://www.notion.so/66jxndoe/Branch-4ac90596ba404905962ca2ba839fcbc2>
48+
- Github Convention: <https://www.notion.so/66jxndoe/GitHub-Convention-7880943da7534f5e94a023ebfe043c57>

app/build.gradle.kts

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,28 @@ android {
2121
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
2222
}
2323

24+
signingConfigs {
25+
getByName("debug") {
26+
keyAlias = "androiddebugkey"
27+
keyPassword = "android"
28+
storeFile = File("${project.rootDir.absolutePath}/keystore/debug.keystore")
29+
storePassword = "android"
30+
}
31+
create("release") {
32+
keyAlias = "fillin"
33+
keyPassword = "fillinandroid"
34+
storeFile = File("${project.rootDir.absolutePath}/keystore/releasekey.jks")
35+
storePassword = "fillinandroid"
36+
}
37+
}
38+
2439
buildTypes {
40+
getByName("debug") {
41+
buildConfigField("String", "KAKAO_AUTH", "\"a7ddbcd24d7fff22320cc13a1e534104\"")
42+
}
43+
2544
getByName("release") {
45+
signingConfig = signingConfigs.getByName("release")
2646
isMinifyEnabled = false
2747
proguardFiles(
2848
getDefaultProguardFile("proguard-android-optimize.txt"),
@@ -47,13 +67,16 @@ android {
4767
}
4868

4969
dependencies {
70+
implementation(project(":core"))
71+
5072
// Kotlin
5173
implementation(KotlinDependencies.kotlin)
5274

5375
// AndroidX
5476
implementation(AndroidXDependencies.coreKtx)
5577
implementation(AndroidXDependencies.appCompat)
5678
implementation(AndroidXDependencies.constraintLayout)
79+
implementation(AndroidXDependencies.startup)
5780
implementation(AndroidXDependencies.hilt)
5881
kapt(KaptDependencies.hiltCompiler)
5982
implementation(AndroidXDependencies.fragment)
@@ -62,6 +85,8 @@ dependencies {
6285
implementation(AndroidXDependencies.coroutines)
6386
implementation(AndroidXDependencies.lifeCycleKtx)
6487
implementation(AndroidXDependencies.lifecycleJava8)
88+
implementation(AndroidXDependencies.pagingRuntime)
89+
implementation(AndroidXDependencies.splashScreen)
6590

6691
// Third-Party
6792
implementation(ThirdPartyDependencies.glide)
@@ -74,10 +99,23 @@ dependencies {
7499
implementation(ThirdPartyDependencies.retrofitGsonConverter)
75100
implementation(ThirdPartyDependencies.timber)
76101
implementation(ThirdPartyDependencies.ossLicense)
102+
implementation(ThirdPartyDependencies.kakaoLogin)
103+
implementation(ThirdPartyDependencies.naverMap)
104+
implementation(ThirdPartyDependencies.mapLocation)
105+
implementation(ThirdPartyDependencies.dotsIndicator)
77106

78107
// Material Design
79108
implementation(MaterialDesignDependencies.materialDesign)
80109

110+
// Flipper
111+
debugImplementation(ThirdPartyDependencies.flipper)
112+
debugImplementation(ThirdPartyDependencies.flipperNetwork) {
113+
exclude("com.squareup.okhttp3", "okhttp")
114+
}
115+
debugImplementation(ThirdPartyDependencies.flipperLeakCanary)
116+
debugImplementation(ThirdPartyDependencies.leakCanary)
117+
debugImplementation(ThirdPartyDependencies.soloader)
118+
81119
// Test Dependency
82120
testImplementation(TestDependencies.jUnit)
83121
androidTestImplementation(TestDependencies.androidTest)

0 commit comments

Comments
 (0)