Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions PROJECT_REPORT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Отчет о проверке проекта (Project Audit Report)

## 1. Назначение проекта
Проект представляет собой систему управления заявками на получение разрешений на строительство (**Permit Application Management System**), разработанную с использованием **Next.js 15**, **Firebase** и **Genkit** (Google AI).

Основная цель — автоматизировать и упростить процесс подачи и проверки заявок с помощью искусственного интеллекта.

## 2. Текущий функционал
В проекте реализованы следующие ключевые функции (Flows):

* **Генератор чек-листов (Checklist Generator)**: Создает список требований для разрешения на основе фотографий и голосового описания проекта. (`src/ai/flows/generate-permit-checklist-from-photos-and-voice.ts`)
* **Автозаполнение документов (Document Autofill)**: Извлекает данные из загруженных документов для автоматического заполнения форм. (`src/ai/flows/extract-data-from-documents-for-autofill.ts`)
* **Валидатор кодов (Code Validator)**: Проверяет соответствие заявки строительным нормам. В данный момент реализован частично. (`src/ai/flows/validate-permit-application-against-local-codes.ts`)

## 3. Что нужно доработать (Recommendations)

На основе анализа кода выявлены следующие области для улучшения:

### 1. Тестирование (Критично)
* **Проблема**: В проекте полностью отсутствуют тесты. В файлах нет тестовых сценариев, в `package.json` нет скрипта для запуска тестов (кроме проверки типов).
* **Решение**: Необходимо настроить **Vitest** или **Jest** и написать модульные тесты для AI flows и интеграционные тесты для интерфейса.

### 2. Реализация RAG (Retrieval-Augmented Generation)
* **Проблема**: Функция "Code Validator" в интерфейсе заявляет об использовании RAG, но на деле требует от пользователя вручную скопировать и вставить текст строительных норм в поле ввода.
* **Решение**: Необходимо внедрить реальный механизм поиска (Retriever) с использованием векторной базы данных (например, Firestore Vector Search), чтобы AI мог сам находить нужные строительные коды.

### 3. Конфигурация и Безопасность
* **Проблема**: Конфигурация Firebase захардкожена в файле `src/firebase/config.ts`. Это риск безопасности.
* **Решение**: Перенести ключи API и идентификаторы проекта в переменные окружения (`.env.local`).

### 4. Аутентификация
* **Проблема**: Используется анонимная аутентификация Firebase.
* **Решение**: Для полноценного использования стоит добавить полноценные методы входа (Google, Email/Password).

### 5. Рефакторинг
* Удалить неиспользуемый код и заглушки (например, `mockCodes` в `validator-form.tsx` после внедрения RAG).