AI Assistant e34f7a598b feat: 6 улучшений формы - S3 upload, draft, HEIC, email на step3
1.  Placeholder с тире E1000-302538524
   - Теперь в placeholder тоже тире

2.  Email перенесен на Step3
   - Убран с Step1 (проверка полиса)
   - Добавлен на Step3 (вместе с телефоном)
   - Теперь телефон + email + выплата на одном шаге

3.  HEIC формат + мультилоад
   - Добавлена поддержка .heic, .heif (iPhone формат)
   - Убран maxCount - неограниченная загрузка
   - Параметр multiple для множественной загрузки

4.  S3 Upload
   - Создан s3_service.py для работы с Timeweb S3
   - Новый endpoint: POST /api/v1/upload/files
   - Поддержка мультизагрузки файлов
   - Автоматическая генерация уникальных имен
   - Файлы грузятся в S3, не локально

5.  Draft автосохранение
   - Создана таблица claims_draft в PostgreSQL
   - Новый API: POST /api/v1/draft/save
   - GET /api/v1/draft/stats - статистика по шагам
   - GET /api/v1/draft/list - список последних драфтов
   - Для аналитики: где люди бросают заполнение

6.  Миграция БД
   - 002_create_claims_draft.sql применена
   - Индексы для быстрого поиска
   - JSONB поле для гибкости данных

Backend:
- s3_service.py - сервис для S3
- draft.py - API автосохранения
- upload.py - обновлен endpoint для S3
- main.py - добавлены роуты и подключения

Frontend:
- Step1Policy: убран email, добавлен HEIC
- Step3Payment: добавлен email после телефона

Статус:  Backend подключен к S3, таблица создана, всё работает
2025-10-24 21:24:00 +03:00

🚀 ERV Insurance Platform

Современная платформа для страховых обращений

  • Backend: Python FastAPI (async)
  • Frontend: React 18 + TypeScript
  • Database: PostgreSQL + MySQL + Redis
  • Queue: RabbitMQ
  • Storage: S3 Timeweb Cloud

🎯 Быстрый старт

📍 Визуальный доступ:

После запуска доступны по адресам:

Frontend (форма):
http://147.45.146.17:5173/

Backend API:
http://147.45.146.17:8100/

API Документация (Swagger UI):
http://147.45.146.17:8100/docs  ← Интерактивная!

Gitea (Git репозиторий):
http://147.45.146.17:3002/

🔧 Установка и запуск

Backend (FastAPI):

cd backend

# Создаём виртуальное окружение
python3 -m venv venv
source venv/bin/activate

# Устанавливаем зависимости
pip install -r requirements.txt

# Запускаем сервер
uvicorn app.main:app --reload --host 0.0.0.0 --port 8100

Frontend (React):

cd frontend

# Устанавливаем зависимости
npm install

# Запускаем dev сервер
npm run dev -- --host 0.0.0.0 --port 5173

📊 Архитектура

Поток данных:

React (5173) → FastAPI (8100) → [Redis, RabbitMQ, PostgreSQL]
                              ↓
                        OCR Service (8001)
                        OpenRouter AI
                        FlightAware API
                              ↓
                        PHP Bridge → Vtiger CRM

Что НЕ трогаем:

CRM Vtiger (работает как работала)
MySQL полисы (только READ)
Существующий PHP код


🗄️ Базы данных

База Назначение Хост
PostgreSQL Логи, метрики, новые данные 147.45.189.234:5432
MySQL Проверка полисов (READ) localhost:3306
Redis Кеш, Rate Limiting localhost:6379

📁 Структура проекта

erv_platform/
├─ backend/        ← Python FastAPI
│   ├─ app/
│   │   ├─ main.py
│   │   ├─ api/
│   │   ├─ services/
│   │   └─ models/
│   └─ requirements.txt
│
├─ frontend/       ← React TypeScript
│   ├─ src/
│   │   ├─ components/
│   │   ├─ pages/
│   │   └─ api/
│   └─ package.json
│
└─ .env           ← Конфигурация

🔌 API Endpoints

Документы:

  • POST /api/v1/documents/upload - Загрузка в S3
  • POST /api/v1/documents/scan - OCR + Vision

Рейсы:

  • GET /api/v1/flights/check - Проверка статуса

Обращения:

  • POST /api/v1/claims/submit - Создание обращения

Полисы:

  • GET /api/v1/policies/verify - Проверка полиса

🐛 Отладка

Логи:

# FastAPI
tail -f backend/logs/app.log

# PostgreSQL логи
SELECT * FROM logs ORDER BY created_at DESC LIMIT 50;

📝 Git

# Репозиторий
http://147.45.146.17:3002/negodiy/erv-platform

# Клонирование
git clone http://147.45.146.17:3002/negodiy/erv-platform.git

# Push изменений
git add .
git commit -m "Your message"
git push origin main

Автор: AI Assistant + Фёдор
Дата: 24.10.2025

Description
AI Form - Development версия для разработки и тестирования
Readme 1,002 KiB
Languages
TypeScript 61.3%
Python 33.9%
Shell 1.8%
PLpgSQL 1.3%
HTML 1.3%
Other 0.4%