86 lines
3.2 KiB
Markdown
86 lines
3.2 KiB
Markdown
# 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 системы.
|