# CRM Чат - Мобильное приложение Мобильное приложение для подключения к CRM системе через чат. ## Особенности - Авторизация через email и пароль - Подключение к серверу CRM по умолчанию (crm.mcmed.ru) - Использование API ключа для аутентификации - Информативные сообщения об ошибках - Автоматическое сохранение данных авторизации ## Технические детали ### Конфигурация по умолчанию Приложение использует следующие константы для подключения: ```kotlin object AppConstants { const val API_KEY = "KxBBliOsuVkfRSQzmWNYFJ" const val SERVER_URL = "https://crm.mcmed.ru" } ``` ### Архитектура Приложение построено по архитектуре MVVM: - **Model**: `AuthRepository`, `AuthResponse`, `LoginRequest` - **View**: `AuthActivity`, `activity_auth.xml` - **ViewModel**: `AuthViewModel` ### Сетевые запросы - Используется Retrofit для HTTP запросов - OkHttp для управления соединением - Таймаут соединения: 30 секунд - Логирование HTTP запросов и ответов ### Эндпоинты - `POST /api/iam/auth/login-site` - авторизация пользователя ## Установка и запуск 1. Клонируйте репозиторий 2. Откройте проект в Android Studio 3. Соберите и запустите приложение на устройстве или эмуляторе ## Авторизация Для входа в систему необходимо: 1. Ввести email 2. Ввести пароль 3. Нажать кнопку "Войти" Приложение автоматически использует: - URL сервера: `https://crm.mcmed.ru` - API ключ: `KxBBliOsuVkfRSQzmWNYFJ` ## Обработка ошибок Приложение предоставляет подробные сообщения об ошибках: - **Сетевые ошибки**: проблемы с подключением к интернету - **HTTP ошибки**: 401 (неверные учетные данные), 403 (доступ запрещен), 404 (сервер не найден) и др. - **Пустые ответы**: когда сервер возвращает пустой токен или null - **Валидация**: проверка обязательных полей ## Тестирование Проект включает unit-тесты: - `AuthRepositoryTest.kt` - тесты для репозитория авторизации - `AuthViewModelTest.kt` - тесты для ViewModel авторизации ## Устранение неполадок Подробное руководство по устранению ошибок доступно в файле [TROUBLESHOOTING.md](TROUBLESHOOTING.md). ## Лицензия Этот проект является частью CRM системы.