# Документация проекта ERV (Единая Реестровая Выплата) ## Обзор проекта **ERV** - веб-система для подачи обращений за страховыми выплатами по туристическим полисам ЕРВ (Единая Реестровая Выплата). ### Основная информация - **Домен**: erv.clientright.ru - **Путь**: /var/www/fastuser/data/www/erv.clientright.ru/ - **Статус**: Продакшен - **Версия PHP**: 7.4+ - **База данных**: MySQL (ci20465_erv) ## Архитектура ### Структура файлов ``` erv.clientright.ru/ ├── index.php # Основная форма (старая версия) ├── ervws/index.php # Активная рабочая версия ⭐ ├── database.php # Подключение к БД и проверка полисов ├── file-server.php # Загрузка файлов ├── sms-test.php # SMS уведомления ├── css/ # Стили ├── js/ # JavaScript функционал ├── libs/ # Библиотеки ├── uploads/ # Загруженные файлы └── vendor/ # Внешние зависимости ``` ### Основные компоненты 1. **Frontend** - HTML/PHP формы с многоэтапной валидацией - JavaScript для интерактивности - CSS для стилизации - Адаптивный дизайн 2. **Backend** - PHP скрипты для обработки данных - MySQL база данных - Интеграции с внешними API 3. **Интеграции** - SigmaSMS (SMS уведомления) - DaData API (автодополнение) - CRM ClientRight - IP-API (геолокация) ## Функциональность ### Многоэтапная форма подачи обращения 1. **SMS-верификация** - Ввод номера телефона - Отправка SMS кода - Подтверждение кода 2. **Проверка полиса** - Ввод номера полиса - Проверка в базе данных - Автозаполнение данных 3. **Личные данные** - ФИО, дата рождения - Банковские реквизиты - Документы удостоверяющие личность 4. **Информация о средстве размещения** - Название и адрес - Контактные данные - Документы бронирования 5. **Страховой случай** - Дата наступления - Тип случая (6 вариантов) - Подтверждающие документы 6. **Финальные данные** - Адрес регистрации - ИНН, документы - Согласие на обработку данных ### Типы страховых случаев - Отсутствие индивидуальной сауны в номере - Отказ в заселении в номер/бунгало/каюту - Отсутствие вида, заявленного в бронировании - Отсутствие туалета/душа/ванны - Отсутствие кондиционера - Отсутствие кухонного оборудования ## База данных ### Подключение - **Хост**: localhost - **База**: ci20465_erv - **Пользователь**: ci20465_erv - **Пароль**: c7vOXbmG ### Таблица lexrpiority ```sql - voucher (номер полиса) - insured_from (дата начала действия) - insured_to (дата окончания действия) ``` ## Внешние сервисы ### SMS (SigmaSMS) - **API**: https://online.sigmasms.ru/api/ - **Логин**: kfv.advokat@gmail.com - **Токен**: bbdbe4516d8935e1169a1b7a7c0914dcabcad53dd6bee56bcc77974d4334b650 ### DaData API - **URL**: https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/party - **Токен**: f5d6928d7490cd44124ccae11a08c7fa5625d48c ### CRM ClientRight - **URL**: https://form.clientright.ru/server_webservice2.php - **Назначение**: Отправка обработанных данных ## Безопасность ### Защита файлов - Разрешенные форматы: PDF, JPG, PNG, GIF, JPEG - Максимальный размер: 5 МБ - Запрещенные расширения: PHP, JS, HTML, CSS, SQL, EXE - Автоматическое преобразование в PDF ### Валидация данных - Проверка всех входных полей - Валидация email адресов - Проверка форматов телефонов - SMS-верификация пользователей ## Мониторинг и логирование ### Критические папки - `/cache` - КРИТИЧЕСКИ ВАЖНА для работы крона - `/uploads` - Загруженные пользователями файлы - `/logs` - Логи системы (если есть) ### Важные файлы - `database.php` - Подключение к БД - `sms-test.php` - SMS функционал - `file-server.php` - Загрузка файлов ## Развертывание ### Требования - PHP 7.4+ - MySQL 5.7+ - Apache/Nginx - SSL сертификат - Доступ к внешним API ### Настройка 1. Настроить подключение к БД 2. Настроить SMS API 3. Настроить DaData API 4. Настроить права доступа к папкам 5. Настроить SSL ## Обслуживание ### Регулярные задачи - Мониторинг размера папки uploads - Проверка работоспособности API - Резервное копирование БД - Очистка временных файлов ### Безопасность - Регулярное обновление зависимостей - Мониторинг логов на подозрительную активность - Проверка целостности файлов - Резервное копирование критических данных ## Контакты и поддержка - **Разработчик**: Фёдор - **Система**: Ubuntu 22.04 - **Статус**: Продакшен --- **ВНИМАНИЕ**: Проект находится в продакшене. Все изменения должны быть согласованы и протестированы!