diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..10cfdbf
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,10 @@
+*.iml
+.gradle
+/local.properties
+/.idea
+.DS_Store
+/build
+/captures
+.externalNativeBuild
+.cxx
+local.properties
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..b3f5536
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,6 @@
+[submodule "gradle"]
+ path = gradle
+ url = https://git.sicampus.ru/core/gradle.git
+[submodule "buildSrc"]
+ path = buildSrc
+ url = https://git.sicampus.ru/core/dependecies.git
diff --git a/app/.gitignore b/app/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/app/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
new file mode 100644
index 0000000..049c0f4
--- /dev/null
+++ b/app/build.gradle.kts
@@ -0,0 +1,78 @@
+plugins {
+ kotlinAndroid
+ androidApplication
+ jetbrainsKotlinSerialization version Version.Kotlin.language
+ kotlinAnnotationProcessor
+ id("com.google.dagger.hilt.android").version("2.51.1")
+}
+
+val packageName = "ru.myitschool.work"
+
+android {
+ namespace = packageName
+ compileSdk = Version.Android.Sdk.compile
+
+ defaultConfig {
+ applicationId = packageName
+ minSdk = Version.Android.Sdk.min
+ targetSdk = Version.Android.Sdk.target
+ versionCode = 1
+ versionName = "1.0"
+
+ testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
+ }
+
+ buildFeatures.viewBinding = true
+
+
+
+ compileOptions {
+ sourceCompatibility = Version.Kotlin.javaSource
+ targetCompatibility = Version.Kotlin.javaSource
+ }
+
+ kotlinOptions {
+ jvmTarget = Version.Kotlin.jvmTarget
+ }
+}
+
+dependencies {
+ implementation ("com.squareup.retrofit2:retrofit:2.9.0")
+ implementation ("com.squareup.retrofit2:converter-gson:2.9.0")
+ implementation ("com.squareup.okhttp3:okhttp:4.9.0")
+ implementation ("com.github.bumptech.glide:glide:4.15.1")
+ kapt ("com.github.bumptech.glide:compiler:4.15.1")
+
+ defaultLibrary()
+
+ implementation(Dependencies.AndroidX.activity)
+ implementation(Dependencies.AndroidX.fragment)
+ implementation(Dependencies.AndroidX.constraintLayout)
+
+ implementation(Dependencies.AndroidX.Navigation.fragment)
+ implementation(Dependencies.AndroidX.Navigation.navigationUi)
+
+ implementation(Dependencies.Retrofit.library)
+ implementation(Dependencies.Retrofit.gsonConverter)
+
+
+ implementation("com.squareup.picasso:picasso:2.8")
+ implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1")
+ implementation("androidx.datastore:datastore-preferences:1.1.1")
+ implementation("com.google.mlkit:barcode-scanning:17.3.0")
+
+ val cameraX = "1.3.4"
+ implementation("androidx.camera:camera-core:$cameraX")
+ implementation("androidx.camera:camera-camera2:$cameraX")
+ implementation("androidx.camera:camera-lifecycle:$cameraX")
+ implementation("androidx.camera:camera-view:$cameraX")
+ implementation("androidx.camera:camera-mlkit-vision:1.4.0-rc04")
+
+ val hilt = "2.51.1"
+ implementation("com.google.dagger:hilt-android:$hilt")
+ kapt("com.google.dagger:hilt-android-compiler:$hilt")
+}
+
+kapt {
+ correctErrorTypes = true
+}
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
new file mode 100644
index 0000000..481bb43
--- /dev/null
+++ b/app/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..a986978
--- /dev/null
+++ b/app/src/main/AndroidManifest.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/App.kt b/app/src/main/java/ru/myitschool/work/App.kt
new file mode 100644
index 0000000..3085135
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/App.kt
@@ -0,0 +1,7 @@
+package ru.myitschool.work
+
+import android.app.Application
+import dagger.hilt.android.HiltAndroidApp
+
+@HiltAndroidApp
+class App : Application()
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/SessionManager.kt b/app/src/main/java/ru/myitschool/work/SessionManager.kt
new file mode 100644
index 0000000..699b478
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/SessionManager.kt
@@ -0,0 +1,5 @@
+package ru.myitschool.work
+
+object SessionManager {
+ var userLogin: String = ""
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/api/ApiModule.kt b/app/src/main/java/ru/myitschool/work/api/ApiModule.kt
new file mode 100644
index 0000000..a13ebd5
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/api/ApiModule.kt
@@ -0,0 +1,31 @@
+package ru.myitschool.work.api
+
+import dagger.Module
+import dagger.Provides
+import dagger.hilt.InstallIn
+import dagger.hilt.components.SingletonComponent
+import retrofit2.Retrofit
+import retrofit2.converter.gson.GsonConverterFactory
+import ru.myitschool.work.api.ApiService
+import ru.myitschool.work.core.Constants
+import javax.inject.Singleton
+
+@Module
+@InstallIn(SingletonComponent::class)
+object ApiModule {
+
+ @Provides
+ @Singleton
+ fun provideRetrofit(): Retrofit {
+ return Retrofit.Builder()
+ .baseUrl(Constants.SERVER_ADDRESS)
+ .addConverterFactory(GsonConverterFactory.create())
+ .build()
+ }
+
+ @Provides
+ @Singleton
+ fun provideApiService(retrofit: Retrofit): ApiService {
+ return retrofit.create(ApiService::class.java)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/api/ApiService.kt b/app/src/main/java/ru/myitschool/work/api/ApiService.kt
new file mode 100644
index 0000000..c199218
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/api/ApiService.kt
@@ -0,0 +1,20 @@
+package ru.myitschool.work.api
+
+import retrofit2.Response
+import retrofit2.http.Body
+import retrofit2.http.GET
+import retrofit2.http.PATCH
+import retrofit2.http.Path
+
+interface ApiService {
+ @GET("api/{login}/auth")
+ suspend fun authenticate(@Path("login") login: String): Response
+
+ @GET("api/{login}/info")
+ suspend fun getUserInfo(@Path("login") login: String): Response