Skip to content

Commit

Permalink
🌠 :: Setting CleanArchitecture Project & Util & etc...
Browse files Browse the repository at this point in the history
  • Loading branch information
Leesin0222 committed Jan 14, 2023
1 parent 82637b8 commit 2b85d45
Show file tree
Hide file tree
Showing 195 changed files with 1,887 additions and 0 deletions.
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE/do.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: "Todo"
description: "ν•΄μ•Όν•  것이 μžˆλ‚˜μš”??πŸ€”"
body:

- type: textarea
attributes:
label: Describe
description: |
[Explain] μ„€λͺ…을 μž‘μ„±ν•΄μ£Όμ„Έμš”.
placeholder: |
λ°₯λ¨ΉκΈ° UI μž‘μ„±
- type: textarea
attributes:
label: Additional
description: |
[좔가사항] λ³„λ„λ‘œ μ•Œλ €μ€˜μ•Ό ν•  μ‚¬ν•­μ΄λ‚˜ 좔가사항을 μž‘μ„±ν•΄μ£Όμ„Έμš”
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/fix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: "Bug"
description: "버그가 μƒκ²Όμ–΄μš” πŸ‘Ύ"
labels: 버그
body:

- type: textarea
attributes:
label: Describe
description: |
버그에 κ΄€ν•œ μ„€λͺ…을 κ°„λ‹¨ν•˜κ²Œ μž‘μ„±ν•΄μ£Όμ„Έμš”.
placeholder: |
ν°μΌλ‚¬μ–΄μš” λ³‘ν•©μ˜€λ₯˜ λ‚œκ±° develop에 λ¨Έμ§€ν•œλ“―!!
- type: textarea
attributes:
label: Additional
description: |
μΆ”κ°€λ‘œ 할말이 μžˆμœΌμ‹ κ°€μš”?
7 changes: 7 additions & 0 deletions .github/Pull_Request_Template.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## κ°œμš”
>

## μž‘μ—…μ‚¬ν•­
-

## μΆ”κ°€λ‘œ ν•  말
26 changes: 26 additions & 0 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Android CI

on:
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'temurin'
cache: gradle

- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew build
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties
3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 24 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/kotlinc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
buildscript {
repositories {
google()
mavenCentral()
}

dependencies {
classpath(Dependency.GradlePlugin.GRADLE_ANDROID)
classpath(Dependency.GradlePlugin.GRADLE_KOTLIN)
classpath(Dependency.GradlePlugin.GRADLE_HILT)
}
}

tasks.register("clean", Delete::class) {
delete(rootProject.buildDir)
}
7 changes: 7 additions & 0 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
plugins {
`kotlin-dsl`
}

repositories {
gradlePluginPortal()
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1 change: 1 addition & 0 deletions buildSrc/build/kotlin/buildSrcjar-classes.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\BuildPlugins.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$Compose.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$Coroutine.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$CoroutineTest.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$DataStore.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$GSON.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$GradlePlugin.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$Hilt.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$Kotlin.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$Lifecycle.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$Moshi.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$Navigation.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$PinEntryEditText.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$Retrofit.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$Room.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$TedImagePicker.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$Ui.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$UnitTest.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency$ViewModel.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Dependency.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\ProjectProperties.class;C:\Users\leejin\Desktop\project\happymeal_android\buildSrc\build\classes\kotlin\main\Versions.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
4
0
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added buildSrc/build/kotlin/compileKotlin/last-build.bin
Binary file not shown.
Binary file added buildSrc/build/libs/buildSrc.jar
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
implementation-classpath=C\:/Users/leejin/Desktop/project/happymeal_android/buildSrc/build/classes/java/main;C\:/Users/leejin/Desktop/project/happymeal_android/buildSrc/build/classes/groovy/main;C\:/Users/leejin/Desktop/project/happymeal_android/buildSrc/build/classes/kotlin/main;C\:/Users/leejin/Desktop/project/happymeal_android/buildSrc/build/resources/main
Empty file.
8 changes: 8 additions & 0 deletions buildSrc/build/source-roots/buildSrc/source-roots.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
src\main\resources
src\main\java
src\main\groovy
src\main\kotlin
src\test\resources
src\test\java
src\test\groovy
src\test\kotlin
2 changes: 2 additions & 0 deletions buildSrc/build/tmp/jar/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Manifest-Version: 1.0

9 changes: 9 additions & 0 deletions buildSrc/src/main/kotlin/BuildPlugins.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
object BuildPlugins {
const val ANDROID_LIBRARY_PLUGIN = "com.android.library"
const val KOTLIN_ANDROID_PLUGIN = "org.jetbrains.kotlin.android"
const val ANDROID_APPLICATION_PLUGIN = "com.android.application"
const val DAGGER_HILT_PLUGIN = "dagger.hilt.android.plugin"
const val KOTLIN_ANDROID = "kotlin-android"
const val KOTLIN_KAPT = "kotlin-kapt"
const val KT_LINT = "org.jlleitschuh.gradle.ktlint"
}
130 changes: 130 additions & 0 deletions buildSrc/src/main/kotlin/Dependency.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
object Dependency {

object GradlePlugin {
const val GRADLE_ANDROID = "com.android.tools.build:gradle:${ProjectProperties.GRADLE_ANDROID}"
const val GRADLE_KOTLIN = "org.jetbrains.kotlin:kotlin-gradle-plugin:${ProjectProperties.GRADLE_KOTLIN}"
const val GRADLE_HILT = "com.google.dagger:hilt-android-gradle-plugin:${Versions.HILT}"
}

object Kotlin {
const val KOTLIN_STDLIB = "org.jetbrains.kotlin:kotlin-stdlib:${ProjectProperties.KOTLIN_VERSION}"
const val COROUTINES_CORE = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${ProjectProperties.KOTLINX_COROUTINES}"
const val COROUTINES_ANDROID = "org.jetbrains.kotlinx:kotlinx-coroutines-android:${ProjectProperties.KOTLINX_COROUTINES}"
}

object Ui {
const val SPLASH_SCREEN_API = "androidx.core:core-splashscreen:${Versions.SPLASH_SCREEN_VERSION}"

const val CONSTRAINT_LAYOUT = "androidx.constraintlayout:constraintlayout:${Versions.CONSTRAINT_LAYOUT}"

const val CORE_KTX = "androidx.core:core-ktx:${Versions.CORE_KTX}"
const val APP_COMPAT = "androidx.appcompat:appcompat:${Versions.APP_COMPAT}"

const val ACTIVITY_KTX = "androidx.activity:activity-ktx:${Versions.ACTIVITY_KTX}"
const val FRAGMENT_KTX = "androidx.fragment:fragment-ktx:${Versions.FRAGMENT_KTX}"

const val FRAGMENT_KTX_NEW = "androidx.fragment:fragment-ktx:${Versions.FRAGMENT_KTX_NEW}"
const val MATERIAL = "com.google.android.material:material:${Versions.MATERIAL}"


const val GLIDE_CORE = "com.github.bumptech.glide:glide:${Versions.GLIDE}"
const val GLIDE_COMPILER = "com.github.bumptech.glide:compiler:${Versions.GLIDE}"

const val CIRCLE_IMAGE_VIEW = "de.hdodenhof:circleimageview:${Versions.CIRCLEIMAGEVIEW}"

const val LOCALDATETIME = "com.jakewharton.threetenabp:threetenabp:${Versions.LOCALDATETIME}"
const val CIRCLECOMPOSEIMAGE = "io.coil-kt:coil-compose:${Versions.COIL}"
}

object GSON {
const val GSON = "com.google.code.gson:gson:${Versions.GSON}"
}

object Lifecycle {
const val VIEWMODEL = "androidx.lifecycle:lifecycle-viewmodel-ktx:${Versions.LIFECYCLE}"
const val LIVEDATA = "androidx.lifecycle:lifecycle-livedata-ktx:${Versions.LIFECYCLE}"
const val RUNTIME = "androidx.lifecycle:lifecycle-runtime-ktx:${Versions.LIFECYCLE}"
}

object ViewModel {
const val VIEWMODEL = "androidx.lifecycle:lifecycle-viewmodel-compose:${Versions.VIEWMODEL}"
const val LIVEDATA = "androidx.lifecycle:lifecycle-livedata-ktx:${Versions.LIFECYCLE}"
}

object Coroutine {
const val CORE = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.COROUTINE}"
const val ANDROID = "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.COROUTINE}"
}

object Room {
const val ROOM_KTX = "androidx.room:room-ktx:${Versions.ROOM}"
const val ROOM_COMPILER = "androidx.room:room-compiler:${Versions.ROOM}"
const val ROOM_RUNTIME = "androidx.room:room-runtime:${Versions.ROOM}"
const val ROOM = "androidx.room:room-common:${Versions.ROOM}"
}

object DataStore {
const val DATASTORE_PREF = "androidx.datastore:datastore-preferences:${Versions.DATASTORE}"
const val DATASTORE_PREF_CORE = "androidx.datastore:datastore-preferences-core:${Versions.DATASTORE}"
}

object Compose {
const val COMPOSE_UI = "androidx.compose.ui:ui:${Versions.COMPOSE}"
const val COMPOSE_MATERIAL = "androidx.compose.material:material:${Versions.COMPOSE}"
const val COMPOSE_PREVIEW = "androidx.compose.ui:ui-tooling-preview:${Versions.COMPOSE}"
const val COMPOSE_ACTIVITY = "androidx.activity:activity-compose:${Versions.ACTIVITY_COMPOSE}"
const val COMPOSE_TEST = "androidx.compose.ui:ui-test-junit4:${Versions.COMPOSE}"
const val COMPOSE_UI_TOOL = "androidx.compose.ui:ui-tooling:${Versions.COMPOSE}"
const val COMPOSE_NAV = "androidx.navigation:navigation-compose:${Versions.NAV}"
const val COMPOSE_ANI_NAV = "com.google.accompanist:accompanist-navigation-animation:${Versions.ANI_NAV}"
const val COMPOSE_LANDSCAPIST = "com.github.skydoves:landscapist-glide:${Versions.LANDSCAPIST}"
const val COMPOSE_HILT_NAV = "androidx.hilt:hilt-navigation-compose:${Versions.HILT_NAV}"
const val VIEWPAGER = "com.google.accompanist:accompanist-pager:${Versions.VIEWPAGER}"
const val VIEWPAGERINDICATE = "com.google.accompanist:accompanist-pager-indicators:${Versions.VIEWPAGER}"
const val COMPOSE_VIEWBINDING = "androidx.compose.ui:ui-viewbinding:${Versions.COMPOSE}"
const val COMPOSE_UI_UTIL = "androidx.compose.ui:ui-util:${Versions.COMPOSE}"
}

object Hilt {
const val HILT_ANDROID = "com.google.dagger:hilt-android:${Versions.HILT}"
const val HILT_ANDROID_COMPILER = "com.google.dagger:hilt-android-compiler:${Versions.HILT}"
const val INJECT = "javax.inject:javax.inject:1"
}

object Moshi {
const val MOSHI = "com.squareup.moshi:moshi-kotlin:${Versions.MOSHI}"
const val MOSHI_COMPILER = "com.squareup.moshi:moshi-kotlin-codegen:${Versions.MOSHI}"
}

object Retrofit {
const val RETROFIT = "com.squareup.retrofit2:retrofit:${Versions.RETROFIT}"
const val RETROFIT_CONVERTER_GSON = "com.squareup.retrofit2:converter-gson:${Versions.RETROFIT}"
const val OKHTTP_LOGGING = "com.squareup.okhttp3:okhttp:${Versions.OKHTTP}"
const val LOGINTERCEPTER = "com.squareup.okhttp3:logging-interceptor:${Versions.OKHTTP}"
}

object Navigation {
const val NAVIGATION_FRAGMENT = "androidx.navigation:navigation-fragment-ktx:${Versions.NAV}"
const val NAVIGATION_UI = "androidx.navigation:navigation-ui-ktx:${Versions.NAV}"
}

object CoroutineTest {
const val COROUTINES_TEST = "org.jetbrains.kotlinx:kotlinx-coroutines-test:${Versions.COROUTINES_TEST}"
}

object TedImagePicker {
const val TEDIMAGEPICKER = "io.github.ParkSangGwon:tedimagepicker:${Versions.TEDIMAGEPICKER}"
}

//TODO: 좔후에 μ»€μŠ€ν…€μœΌλ‘œ λ§Œλ“€ μ˜ˆμ •μž…λ‹ˆλ‹€.
object PinEntryEditText {
const val PINENTRYEDITTEXT = "com.alimuzaffar.lib:pinentryedittext:${Versions.PINENTRYEDITTEXT}"
}

object UnitTest {
const val JUNIT = "junit:junit:${Versions.JUNIT}"
const val MOCKITO = "org.mockito:mockito-core:${Versions.MOCKITO}"
const val MOCKITO_KOTLIN = "com.nhaarman.mockitokotlin2:mockito-kotlin:${Versions.MOCKITO_KOTLIN}"
const val MOCKITO_INLINE = "org.mockito:mockito-inline:${Versions.MOCKITO_INLINE}"
}
}
21 changes: 21 additions & 0 deletions buildSrc/src/main/kotlin/ProjectProperties.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import org.gradle.api.JavaVersion

object ProjectProperties {
const val VERSION_CODE = 1
const val VERSION_NAME = "1.0"

const val APPLICATION_ID = "com.yongjincompany.app"

const val GRADLE_ANDROID = "7.2.1"
const val GRADLE_KOTLIN = "1.6.10"

val JAVA_VERSION = JavaVersion.VERSION_11
const val KOTLIN_VERSION = "1.6.0"
const val KOTLINX_COROUTINES = "1.6.0"

const val BUILD_GRADLE = "4.2.1"
const val COMPILE_SDK_VERSION = 32
const val BUILD_TOOLS_VERSION = "32.0.0"
const val MIN_SDK_VERSION = 28
const val TARGET_SDK_VERSION = 32
}
Loading

0 comments on commit 2b85d45

Please sign in to comment.