Skip to content

Commit

Permalink
Merge pull request #62 from TeamFILL-IN/develop
Browse files Browse the repository at this point in the history
[Version Up] Master Merge
  • Loading branch information
l2hyunwoo authored Feb 3, 2022
2 parents b0aa9ae + 8262607 commit 912e811
Show file tree
Hide file tree
Showing 276 changed files with 8,314 additions and 226 deletions.
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# FILLIN Android Team
* @TeamFILL-IN/android
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: Feature request
about: FILL-IN Issue Template
title: ''
labels: ''
assignees: ''

---


# 📝 DESCRIPTION
### Describe issue here

# ☑️ TODO
- [ ] TODO 1
- [ ] TODO 2
9 changes: 9 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Related Issues


## What Did You Do?
- [x]


## Reference
- [x]
61 changes: 61 additions & 0 deletions .github/workflows/debug_builder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: FILLIN Push Builder

on:
push:
branches: [ develop, master ]

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

jobs:
build:
name: APK Builder When Push
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2

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

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

- name: Build debug APK
run: ./gradlew assembleDebug --stacktrace

- name: On Success
if: ${{ success() }}
uses: MeilCli/slack-upload-file@v1
with:
slack_token: ${{ secrets.SLACK_BOT_TOKEN}}
channels: ${{ secrets.SLACK_CHANNEL_ID }}
file_path: 'app/build/outputs/apk/debug/app-debug.apk'
file_name: 'FILLIN.apk'
file_type: 'apk'
initial_comment: '찰칵 📸 FILL-IN이 슬랙으로 들어오는 장면을 찍어보겠습니다'

- name: On Failed, Notify in Slack
if: ${{ failure() }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_COLOR: '#ff0000'
SLACK_ICON: https://user-images.githubusercontent.com/54518925/148585882-ee5c6dc5-6789-4b90-9fd0-f7382275e974.jpeg?size=48
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_TITLE: 'FILLIN/Android Debug build Fail❌'
MSG_MINIMAL: true
SLACK_USERNAME: FILLIN AND-BOT
SLACK_MESSAGE: 'APK 생성 중 에러가 발생했습니다. 에러를 확인해주세요'
62 changes: 62 additions & 0 deletions .github/workflows/pr_checker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: FILLIN PR Checker

on:
pull_request:
branches: [ develop, master ]

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

jobs:
build:
name: PR Checker
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2

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

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

- name: Build debug APK
run: ./gradlew assembleDebug --stacktrace

- name: On Success
if: ${{ success() }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_COLOR: '#53A551'
SLACK_ICON: https://user-images.githubusercontent.com/54518925/148585882-ee5c6dc5-6789-4b90-9fd0-f7382275e974.jpeg?size=48
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_TITLE: 'FILLIN/PR Check S.U.C.C.E.S.S 🎉🎉🎉'
MSG_MINIMAL: true
SLACK_USERNAME: FILLIN AND-BOT
SLACK_MESSAGE: 'P R 성 공!!! 🎉🎉🎉'

- name: On Failed, Notify in Slack
if: ${{ failure() }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_COLOR: '#ff0000'
SLACK_ICON: https://user-images.githubusercontent.com/54518925/148585882-ee5c6dc5-6789-4b90-9fd0-f7382275e974.jpeg?size=48
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_TITLE: 'FILLIN/Android Debug build Fail❌'
MSG_MINIMAL: true
SLACK_USERNAME: FILLIN AND-BOT
SLACK_MESSAGE: '에러를 확인해주세요'
4 changes: 0 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,6 @@ output.json
*.iml
.idea/

# Keystore files
*.jks
*.keystore

# Google Services (e.g. APIs or Firebase)
google-services.json

Expand Down
48 changes: 48 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Fill-Android

필름 현상소, 필름 정보제공 서비스
당신의 추억으로 FILL-IN</br></br>
<img width="90%" src="https://user-images.githubusercontent.com/56147398/148933940-1c02f148-6d3b-45c8-a3de-cfd9213ac6db.jpeg"/>

## 기술 스택 💻
- Architecture: MVC + MVVM
- Android Jetpack
- Lifecycle
- AAC
- Dagger-Hilt
- App Startup
- DataBinding/ViewBinding
- Security(EncryptedSharedPreference)
- Paging3
- SplashScreen Core
- Modern Kotlin
- Coroutines + Flow
- CI/CD
- Github Action
- Slack
- Glide
- Retrofit/Okhttp
- Kakao SDK
- NaverMap SDK
- Timber
- Flipper

## 역할 📸
- 이강민 : 지도 뷰, 지도 검색, 지도 상세정보
- 윤현지 : 마이페이지, 사진업로드 및 스튜디오필름 선택
- 김수빈 : 메인 홈, 필름롤 , 사진상세보기(모달창)
- 이현우 : 소셜 로그인, 프로젝트 설정, 유틸, 그 외 작업

## 폴더링 구조 📂
<img width="50%" src="https://user-images.githubusercontent.com/54518925/150623426-7f574390-9858-4603-af58-37c52be1e943.png"/></br>
<img width="50%" src="https://user-images.githubusercontent.com/54518925/150623430-4f8a1b6d-3719-4bc4-a57c-76ea3245fc69.png"/></br>
### package name은 반드시 소문자로 작성
- presentation -> 뷰 관련 작업
- di -> 의존성 주입 관련 모듈
- data -> 서버, 데이터 관련 작업
- core -> util 확장함수 모듈

## 컨벤션 🎞
- Coding Convention: <https://www.notion.so/66jxndoe/Coding-Convention-0c07e7e3d55740e291a490c84062e33f>
- Branch 전략: <https://www.notion.so/66jxndoe/Branch-4ac90596ba404905962ca2ba839fcbc2>
- Github Convention: <https://www.notion.so/66jxndoe/GitHub-Convention-7880943da7534f5e94a023ebfe043c57>
38 changes: 38 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,28 @@ android {
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}

signingConfigs {
getByName("debug") {
keyAlias = "androiddebugkey"
keyPassword = "android"
storeFile = File("${project.rootDir.absolutePath}/keystore/debug.keystore")
storePassword = "android"
}
create("release") {
keyAlias = "fillin"
keyPassword = "fillinandroid"
storeFile = File("${project.rootDir.absolutePath}/keystore/releasekey.jks")
storePassword = "fillinandroid"
}
}

buildTypes {
getByName("debug") {
buildConfigField("String", "KAKAO_AUTH", "\"a7ddbcd24d7fff22320cc13a1e534104\"")
}

getByName("release") {
signingConfig = signingConfigs.getByName("release")
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
Expand All @@ -47,13 +67,16 @@ android {
}

dependencies {
implementation(project(":core"))

// Kotlin
implementation(KotlinDependencies.kotlin)

// AndroidX
implementation(AndroidXDependencies.coreKtx)
implementation(AndroidXDependencies.appCompat)
implementation(AndroidXDependencies.constraintLayout)
implementation(AndroidXDependencies.startup)
implementation(AndroidXDependencies.hilt)
kapt(KaptDependencies.hiltCompiler)
implementation(AndroidXDependencies.fragment)
Expand All @@ -62,6 +85,8 @@ dependencies {
implementation(AndroidXDependencies.coroutines)
implementation(AndroidXDependencies.lifeCycleKtx)
implementation(AndroidXDependencies.lifecycleJava8)
implementation(AndroidXDependencies.pagingRuntime)
implementation(AndroidXDependencies.splashScreen)

// Third-Party
implementation(ThirdPartyDependencies.glide)
Expand All @@ -74,10 +99,23 @@ dependencies {
implementation(ThirdPartyDependencies.retrofitGsonConverter)
implementation(ThirdPartyDependencies.timber)
implementation(ThirdPartyDependencies.ossLicense)
implementation(ThirdPartyDependencies.kakaoLogin)
implementation(ThirdPartyDependencies.naverMap)
implementation(ThirdPartyDependencies.mapLocation)
implementation(ThirdPartyDependencies.dotsIndicator)

// Material Design
implementation(MaterialDesignDependencies.materialDesign)

// Flipper
debugImplementation(ThirdPartyDependencies.flipper)
debugImplementation(ThirdPartyDependencies.flipperNetwork) {
exclude("com.squareup.okhttp3", "okhttp")
}
debugImplementation(ThirdPartyDependencies.flipperLeakCanary)
debugImplementation(ThirdPartyDependencies.leakCanary)
debugImplementation(ThirdPartyDependencies.soloader)

// Test Dependency
testImplementation(TestDependencies.jUnit)
androidTestImplementation(TestDependencies.androidTest)
Expand Down
Loading

0 comments on commit 912e811

Please sign in to comment.