188 lines
6.8 KiB
Markdown
188 lines
6.8 KiB
Markdown
|
|
# Документация проекта 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
|
|||
|
|
- **Статус**: Продакшен
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**ВНИМАНИЕ**: Проект находится в продакшене. Все изменения должны быть согласованы и протестированы!
|