Upload files to "/"

This commit is contained in:
root 2025-05-25 08:08:28 +00:00
parent 845e530652
commit 0bf58b414e
5 changed files with 381 additions and 0 deletions

86
build.gradle.kts Normal file
View File

@ -0,0 +1,86 @@
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
kotlin("plugin.serialization") version "2.1.21"
}
android {
namespace = "com.example.matule"
compileSdk = 35
defaultConfig {
applicationId = "com.example.matule"
minSdk = 24
targetSdk = 35
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "11"
}
buildFeatures {
compose = true
}
}
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
implementation(project(":ui-kit"))
implementation(project(":network"))
implementation(libs.androidx.navigation.compose)
testImplementation(libs.mockito.core)
testImplementation(libs.mockwebserver)
testImplementation(libs.kotlinx.coroutines.test)
implementation(libs.coil.compose)
implementation(libs.retrofit)
implementation(libs.converter.gson)
implementation(libs.kotlinx.serialization.json)
implementation(libs.converter.jackson)
implementation(libs.gson)
implementation(libs.jackson.module.kotlin)
implementation(libs.okhttp)
implementation(libs.androidx.glance.appwidget)
implementation(libs.androidx.glance)
}

66
libs.versions (2).toml Normal file
View File

@ -0,0 +1,66 @@
[versions]
agp = "8.9.0"
coilCompose = "3.1.0"
converterGson = "2.11.0"
converterJackson = "3.0.0"
glanceAppwidget = "1.1.1"
glance = "1.1.0"
gson = "2.13.1"
jacksonModuleKotlin = "2.19.0"
kotlin = "2.0.21"
coreKtx = "1.16.0"
junit = "4.13.2"
junitVersion = "1.2.1"
espressoCore = "3.6.1"
kotlinxCoroutinesTest = "1.5.2"
kotlinxSerializationJson = "1.8.1"
lifecycleRuntimeKtx = "2.8.7"
activityCompose = "1.10.1"
composeBom = "2024.09.00"
appcompat = "1.7.0"
material = "1.12.0"
jetbrainsKotlinJvm = "2.0.21"
mockitoCore = "3.11.2"
mockwebserver = "4.9.1"
navigationCompose = "2.9.0"
okhttp = "4.12.0"
[libraries]
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
androidx-glance = { module = "androidx.glance:glance", version.ref = "glance" }
androidx-glance-appwidget = { module = "androidx.glance:glance-appwidget", version.ref = "glanceAppwidget" }
androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "navigationCompose" }
coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coilCompose" }
converter-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "converterGson" }
converter-jackson = { module = "com.squareup.retrofit2:converter-jackson", version.ref = "converterJackson" }
gson = { module = "com.google.code.gson:gson", version.ref = "gson" }
jackson-module-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin", version.ref = "jacksonModuleKotlin" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
androidx-ui = { group = "androidx.compose.ui", name = "ui" }
androidx-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
androidx-material3 = { group = "androidx.compose.material3", name = "material3" }
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinxCoroutinesTest" }
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
mockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version.ref = "mockwebserver" }
mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockitoCore" }
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "converterGson" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
android-library = { id = "com.android.library", version.ref = "agp" }
jetbrains-kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "jetbrainsKotlinJvm" }

BIN
libs_kotlin.docx Normal file

Binary file not shown.

View File

@ -0,0 +1,124 @@
[versions]
agp = "8.10.0"
androidPdfViewer = "3.2.0-beta.3"
kotlin = "2.1.20"
coreKtx = "1.16.0"
junit = "4.13.2"
junitVersion = "1.2.1"
espressoCore = "3.6.1"
lifecycleRuntimeKtx = "2.8.7"
activityCompose = "1.10.1"
composeBom = "2025.04.01"
appcompat = "1.7.0"
material = "1.12.0"
jetbrainsKotlinJvm = "2.1.20"
retrofit = "2.11.0"
okhttp3 = "4.12.0"
kotlinxSerializationConverter = "1.0.0"
kotlinxSerializationJson = "1.8.0"
navigationCompose = "2.9.0"
dagger = "2.55"
hiltNavigationCompose = "1.2.0"
datastorePreferences = "1.1.6"
javaxInject = "1"
kotlinxCoroutinesTest = "1.10.2"
uiTooling = "1.8.2"
coil = "3.1.0"
materialIconsExtended = "1.7.8"
[libraries]
androidx-material-icons-extended = { group = "androidx.compose.material", name = "material-icons-extended", version.ref = "materialIconsExtended" }
coil-compose = { group = "io.coil-kt.coil3", name = "coil-compose", version.ref = "coil" }
coil-network-http = { group = "io.coil-kt.coil3", name = "coil-network-okhttp", version.ref = "coil" }
mockwebserver = { group = "com.squareup.okhttp3", name = "mockwebserver", version.ref = "okhttp3" }
kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinxCoroutinesTest" }
javax-inject = { group = "javax.inject", name = "javax.inject", version.ref = "javaxInject" }
android-pdf-viewer = { group = "com.github.mhiew", name = "android-pdf-viewer", version.ref = "androidPdfViewer" }
androidx-datastore-preferences = { group = "androidx.datastore", name = "datastore-preferences", version.ref = "datastorePreferences" }
hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "dagger" }
hilt-android-compiler = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "dagger" }
hilt-navigation-compose = { group = "androidx.hilt", name = "hilt-navigation-compose", version.ref = "hiltNavigationCompose" }
navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigationCompose" }
kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
retrofit2-kotlinx-serialization-converter = { group = "com.jakewharton.retrofit", name = "retrofit2-kotlinx-serialization-converter", version.ref = "kotlinxSerializationConverter" }
logging-interceptor = { group = "com.squareup.okhttp3", name = "logging-interceptor", version.ref = "okhttp3" }
okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp3" }
retrofit2 = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" }
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
androidx-ui = { group = "androidx.compose.ui", name = "ui" }
androidx-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
androidx-material3 = { group = "androidx.compose.material3", name = "material3" }
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "uiTooling" }
[plugins]
dagger-hilt-android = { id = "com.google.dagger.hilt.android", version.ref = "dagger" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
android-library = { id = "com.android.library", version.ref = "agp" }
jetbrains-kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "jetbrainsKotlinJvm" }
plugins {
alias(libs.plugins.dagger.hilt.android)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
kotlin("kapt")
}
dependencies {
debugImplementation(libs.ui.tooling)
debugImplementation(libs.androidx.ui.tooling.preview)
api(platform(libs.androidx.compose.bom))
api(libs.androidx.activity.compose)
api(libs.androidx.ui)
api(libs.androidx.ui.graphics)
api(libs.androidx.ui.tooling.preview)
api(libs.androidx.material3)
api(libs.material)
implementation(libs.androidx.material.icons.extended)
implementation(libs.coil.compose)
implementation(libs.coil.network.http)
implementation(libs.retrofit2.kotlinx.serialization.converter)
implementation(libs.retrofit2)
implementation(libs.okhttp)
implementation(libs.logging.interceptor)
implementation(libs.android.pdf.viewer)
implementation(libs.androidx.datastore.preferences)
kapt(libs.hilt.android.compiler)
implementation(libs.hilt.android)
implementation(libs.hilt.navigation.compose)
implementation(libs.navigation.compose)
implementation(libs.kotlinx.serialization.json)
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
}

105
Шаронова.txt Normal file
View File

@ -0,0 +1,105 @@
id("org.jetbrains.kotlin.plugin.serialization") version "2.1.0"
//App
kotlin("plugin.serialization") version "2.1.0"
//импорт библиотеки
implementation(project (":uiKit"))
implementation(project(":networkLib"))
//Навигация
implementation("androidx.navigation:navigation-compose:2.8.6")
// Kotlin
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0")
// koin
implementation("io.insert-koin:koin-android:3.4.3")
implementation("io.insert-koin:koin-androidx-compose:3.4.3")
implementation("io.insert-koin:koin-android:3.5.0")
//ktor
implementation("io.ktor:ktor-client-core:2.3.7") // Ядро Ktor
implementation("io.ktor:ktor-client-logging:2.3.7") // логинг
implementation("io.ktor:ktor-client-android:2.3.7") // Android-специфичный движок
implementation("io.ktor:ktor-client-content-negotiation:2.3.7") // Для JSON
implementation("io.ktor:ktor-serialization-kotlinx-json:2.3.7") // Сериализация
implementation("io.ktor:ktor-client-cio:2.3.7") //cio
//для виджета
implementation ("androidx.glance:glance-appwidget:1.0.0-alpha04")
implementation ("androidx.glance:glance-wear-tiles:1.0.0-alpha04")
//картинки
implementation("io.coil-kt:coil-compose:2.2.2")
implementation ("androidx.work:work-runtime-ktx:2.7.1")
implementation ("androidx.core:core-ktx:1.6.0")
implementation ("com.google.accompanist:accompanist-permissions:0.24.3-alpha")
val espressoVersion = "4.2.2"
androidTestImplementation ("androidx.test.espresso:espresso-core:$espressoVersion")
androidTestImplementation( "androidx.test.espresso:espresso-core:$espressoVersion")
androidTestImplementation( "androidx.test.espresso:espresso-contrib:$espressoVersion")
androidTestImplementation( "androidx.test.espresso:espresso-intents:$espressoVersion")
androidTestImplementation( "androidx.test.espresso:espresso-accessibility:$espressoVersion")
androidTestImplementation( "androidx.test.espresso:espresso-web:$espressoVersion")
androidTestImplementation( "androidx.test.espresso.idling:idling-concurrent:$espressoVersion")
testImplementation ("org.robolectric:robolectric:4.8")
//UIKIT
alias(libs.plugins.kotlin.compose)
//Добавляю это, чтобы проект мог использовать Composable
implementation ("androidx.compose.ui:ui:1.8.1")
implementation ("androidx.compose.material:material:1.8.1")
implementation ("androidx.compose.ui:ui-tooling-preview:1.8.1")
implementation(libs.androidx.activity.compose)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
implementation("io.coil-kt:coil-compose:2.2.2")
implementation("io.coil-kt:coil-svg:2.2.2")
implementation("androidx.compose.material3:material3:1.4.0-alpha14")
//network
kotlin("plugin.serialization") version "2.1.0"
// Ktor
implementation("io.ktor:ktor-client-core:2.3.7") // Ядро Ktor
implementation("io.ktor:ktor-client-android:2.3.7") // Android-специфичный движок
implementation("io.ktor:ktor-client-content-negotiation:2.3.7") // Для JSON
implementation("io.ktor:ktor-serialization-kotlinx-json:2.3.7") // Сериализация
implementation("io.ktor:ktor-client-logging:2.3.7")
// Kotlin
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0")
// Lifecycle
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2")
// Dependency Injection
implementation("io.insert-koin:koin-android:3.4.3")
implementation("io.insert-koin:koin-androidx-compose:3.4.3")
// DI
implementation("io.insert-koin:koin-android:3.5.0")
// Тестирование
testImplementation("junit:junit:4.13.2")
testImplementation("io.mockk:mockk:1.13.8")
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3")