From 5128762d91dd6753ec180a1cac33704c0dc102f1 Mon Sep 17 00:00:00 2001 From: "Andrew K. Choi" Date: Thu, 16 Oct 2025 15:58:20 +0900 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=9E=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=B0=D0=B2=D1=82=D0=BE=D1=80=D0=B8=D0=B7=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D1=8F,=20=D0=B2=D1=8B=D1=85=D0=BE=D0=B4=20=D0=B8?= =?UTF-8?q?=D0=B7=20=D0=BF=D1=80=D0=BE=D1=84=D0=B8=D0=BB=D1=8F=D1=8E=20?= =?UTF-8?q?=D0=9F=D0=A0=D0=B8=20=D0=B0=D0=B2=D1=82=D0=BE=D1=80=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BF=D1=80=D0=B8=D0=BB=D0=BE=D0=B6?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=BF=D0=BE=D0=BC=D0=B8?= =?UTF-8?q?=D0=BD=D0=B0=D0=B5=D1=82=20username,=20password=20=D0=B8=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=B2=D1=85=D0=BE=D0=B4=D0=B5=20=D0=B0?= =?UTF-8?q?=D0=B2=D1=82=D0=BE=D1=80=D0=B8=D0=B7=D1=83=D0=B5=D1=82=D1=81?= =?UTF-8?q?=D1=8F=20=D1=81=D0=B0=D0=BC=D0=BE,=20=D1=87=D1=82=D0=BE=D0=B1?= =?UTF-8?q?=D1=8B=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D1=82=D1=8C=20?= =?UTF-8?q?=D1=81=20=D0=B0=D0=BA=D1=82=D1=83=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B?= =?UTF-8?q?=D0=BC=20=D1=82=D0=BE=D0=BA=D0=B5=D0=BD=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/deploymentTargetSelector.xml | 4 +- app/build.gradle.kts | 16 + app/src/main/AndroidManifest.xml | 1 + .../kr/smartsoltech/wellshe/MainActivity.kt | 59 ++- .../wellshe/data/local/AuthTokenRepository.kt | 70 +++ .../wellshe/data/network/ApiClient.kt | 64 +++ .../wellshe/data/network/AuthInterceptor.kt | 36 ++ .../wellshe/data/network/AuthService.kt | 43 ++ .../wellshe/data/network/EmergencyService.kt | 49 +++ .../wellshe/data/repo/AuthRepository.kt | 5 + .../wellshe/data/repository/AuthRepository.kt | 203 +++++++++ .../data/repository/EmergencyRepository.kt | 119 +++++ .../wellshe/data/storage/TokenManager.kt | 101 +++++ .../kr/smartsoltech/wellshe/di/AuthModule.kt | 77 ++++ .../smartsoltech/wellshe/di/NetworkModule.kt | 66 +++ .../wellshe/di/ViewModelFactory.kt | 27 ++ .../wellshe/domain/auth/AuthUseCases.kt | 106 +++++ .../domain/emergency/EmergencyUseCases.kt | 82 ++++ .../wellshe/model/auth/AuthRequest.kt | 39 ++ .../wellshe/model/auth/AuthResponse.kt | 61 +++ .../wellshe/model/auth/DirectAuthResponse.kt | 11 + .../wellshe/model/auth/ModelAliases.kt | 4 + .../wellshe/model/auth/ResponseWrappers.kt | 39 ++ .../wellshe/model/auth/TokenModels.kt | 4 + .../wellshe/model/auth/UserProfile.kt | 18 + .../model/emergency/EmergencyRequest.kt | 40 ++ .../model/emergency/EmergencyResponse.kt | 60 +++ .../model/emergency/ResponseWrappers.kt | 32 ++ .../wellshe/ui/auth/AuthViewModel.kt | 206 +++++++++ .../wellshe/ui/auth/LoginFragment.kt | 122 +++++ .../wellshe/ui/auth/RegisterFragment.kt | 207 +++++++++ .../wellshe/ui/auth/compose/LoginScreen.kt | 159 +++++++ .../wellshe/ui/auth/compose/RegisterScreen.kt | 222 ++++++++++ .../wellshe/ui/cycle/CycleScreen.kt | 3 +- .../wellshe/ui/emergency/EmergencyFragment.kt | 352 +++++++++++++++ .../wellshe/ui/emergency/EmergencyScreen.kt | 219 +++++++++ .../ui/emergency/EmergencyViewModel.kt | 165 +++++++ .../wellshe/ui/main/MainFragment.kt | 29 ++ .../wellshe/ui/main/MainScreen.kt | 114 +++++ .../wellshe/ui/navigation/AppNavGraph.kt | 62 ++- .../ui/navigation/WellSheNavigation.kt | 10 +- .../wellshe/ui/profile/ProfileScreen.kt | 16 +- .../kr/smartsoltech/wellshe/util/Result.kt | 61 +++ .../wellshe/util/ValidationUtils.kt | 29 ++ .../main/res/drawable/ic_status_active.xml | 10 + .../main/res/drawable/ic_status_cancelled.xml | 10 + app/src/main/res/drawable/ic_status_error.xml | 10 + .../main/res/drawable/ic_status_resolved.xml | 10 + app/src/main/res/layout/activity_main.xml | 21 + .../main/res/layout/fragment_emergency.xml | 124 ++++++ app/src/main/res/layout/fragment_login.xml | 105 +++++ app/src/main/res/layout/fragment_main.xml | 36 ++ app/src/main/res/layout/fragment_register.xml | 192 ++++++++ app/src/main/res/navigation/nav_graph.xml | 40 ++ app/src/main/res/values/themes.xml | 10 +- .../main/res/xml/network_security_config.xml | 15 + docs/api_specification.md | 416 ++++++++++++++++++ docs/auth_emergency_system_requirements.md | 159 +++++++ 58 files changed, 4555 insertions(+), 15 deletions(-) create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/data/local/AuthTokenRepository.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/data/network/ApiClient.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/data/network/AuthInterceptor.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/data/network/AuthService.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/data/network/EmergencyService.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/data/repo/AuthRepository.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/data/repository/AuthRepository.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/data/repository/EmergencyRepository.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/data/storage/TokenManager.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/di/AuthModule.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/di/NetworkModule.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/di/ViewModelFactory.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/domain/auth/AuthUseCases.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/domain/emergency/EmergencyUseCases.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/model/auth/AuthRequest.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/model/auth/AuthResponse.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/model/auth/DirectAuthResponse.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/model/auth/ModelAliases.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/model/auth/ResponseWrappers.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/model/auth/TokenModels.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/model/auth/UserProfile.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/model/emergency/EmergencyRequest.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/model/emergency/EmergencyResponse.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/model/emergency/ResponseWrappers.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/ui/auth/AuthViewModel.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/ui/auth/LoginFragment.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/ui/auth/RegisterFragment.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/ui/auth/compose/LoginScreen.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/ui/auth/compose/RegisterScreen.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/ui/emergency/EmergencyFragment.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/ui/emergency/EmergencyScreen.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/ui/emergency/EmergencyViewModel.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/ui/main/MainFragment.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/ui/main/MainScreen.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/util/Result.kt create mode 100644 app/src/main/java/kr/smartsoltech/wellshe/util/ValidationUtils.kt create mode 100644 app/src/main/res/drawable/ic_status_active.xml create mode 100644 app/src/main/res/drawable/ic_status_cancelled.xml create mode 100644 app/src/main/res/drawable/ic_status_error.xml create mode 100644 app/src/main/res/drawable/ic_status_resolved.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/fragment_emergency.xml create mode 100644 app/src/main/res/layout/fragment_login.xml create mode 100644 app/src/main/res/layout/fragment_main.xml create mode 100644 app/src/main/res/layout/fragment_register.xml create mode 100644 app/src/main/res/navigation/nav_graph.xml create mode 100644 app/src/main/res/xml/network_security_config.xml create mode 100644 docs/api_specification.md create mode 100644 docs/auth_emergency_system_requirements.md diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml index 4077c07..3e9cb99 100644 --- a/.idea/deploymentTargetSelector.xml +++ b/.idea/deploymentTargetSelector.xml @@ -4,10 +4,10 @@