Files
crm.clientright.ru/erv_project_tools/PROJECT_DOCUMENTATION.md

6.8 KiB
Raw Permalink Blame History

Документация проекта 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

- voucher (номер полиса)
- insured_from (дата начала действия)
- insured_to (дата окончания действия)

Внешние сервисы

SMS (SigmaSMS)

DaData API

CRM ClientRight

Безопасность

Защита файлов

  • Разрешенные форматы: 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
  • Статус: Продакшен

ВНИМАНИЕ: Проект находится в продакшене. Все изменения должны быть согласованы и протестированы!