Skip to content
Open
Show file tree
Hide file tree
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
3 changes: 3 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": "next/core-web-vitals"
}
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
npx lint-staged
35 changes: 35 additions & 0 deletions PROJECT_AUDIT_RU.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Аудит Проекта: PermitPilot

## 1. Назначение Проекта
**PermitPilot** — это система управления разрешениями на строительство, разработанная для упрощения процесса получения, отслеживания и проверки разрешений. Проект использует современные технологии (Next.js 15, Firebase) и искусственный интеллект (Google Genkit + Gemini) для автоматизации рутинных задач.

### Основные функции:
- **AI Permit Assistant:** Помощник на базе ИИ, который анализирует фото и голосовые описания для создания чек-листа необходимых разрешений.
- **Smart Municipality Database:** База данных требований муниципалитетов (хранится в Firestore).
- **Status Tracking Dashboard:** Панель управления для отслеживания статуса заявок пользователя.
- **Document Auto-Fill & Validation:** Автозаполнение документов и проверка на соответствие строительным нормам с помощью ИИ.

## 2. Текущее Состояние
### Frontend
- Используется **Next.js 15** (App Router).
- Интерфейс построен на компонентах **Shadcn/UI** и **Tailwind CSS**.
- Реализованы основные страницы: Dashboard, Database, Checklist Generator.

### Backend & AI
- **Firebase:** Используется Firestore для хранения данных. Правила безопасности (`firestore.rules`) настроены грамотно, обеспечивая изоляцию данных пользователей.
- **AI (Genkit):** Настроена интеграция с Google Genkit и моделью `gemini-2.5-flash`. Реализованы потоки (flows) для генерации чек-листов и валидации.

## 3. Что необходимо доработать (Recommendations)

### 🔴 Критические улучшения (Critical)
1. **Тестирование:** В проекте полностью отсутствуют тесты. Необходимо внедрить фреймворк (например, **Vitest**) и написать модульные тесты для утилит и компонентов, а также интеграционные тесты для AI-потоков.
2. **CI/CD и Качество кода:** Отсутствуют инструменты автоматической проверки перед коммитом. Рекомендуется настроить **Husky** и **lint-staged** для запуска линтеров и тестов.

### 🟡 Важные улучшения (Important)
3. **Обработка ошибок:** В настоящее время используется базовая обработка ошибок в UI. Рекомендуется внедрить глобальные границы ошибок (Error Boundaries) и логирование.
4. **Документация разработчика:** Отсутствует файл `.env.example`, что усложняет настройку окружения для новых разработчиков.
5. **Аутентификация:** Текущая реализация полагается на базовые хуки Firebase. Стоит рассмотреть полноценную интеграцию с провайдерами (Google, GitHub) для продакшна.

### 🟢 Желательные улучшения (Nice to have)
6. **PWA:** В планах упоминалась поддержка Offline-режима (PWA), но конфигурация `manifest.json` и сервис-воркеров требует проверки/доработки.
7. **Улучшение доступности (a11y):** Проверить компоненты на соответствие стандартам доступности.
Loading