Files
mkd/README.md
2026-02-04 00:17:04 +05:00

170 lines
8.0 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Центр управления жилым фондом (МКД)
<div align="center">
<img width="1200" height="475" alt="GHBanner" src="https://github.com/user-attachments/assets/0aa67016-6eaf-458a-adb2-6e31a0763ed6" />
</div>
Веб-приложение для комплексного управления многоквартирными домами (МКД), включающее модули для управления объектами, финансами, кадрами, юридическими вопросами, PR-деятельностью и офисной работой.
## 🚀 Возможности
### Основные модули:
- **📊 Дашборд** - Общая сводка и аналитика по всем направлениям
- **🏢 Объекты** - Управление зданиями, характеристиками, осмотрами, планами работ
- **📝 Заявки** - Реестр заявок жильцов, контроль качества, диспетчеризация
- **💰 Финансы** - Управление счетами, платежами, дебиторской задолженностью, отчетностью
- **👥 HR** - Управление персоналом, вакансиями, наймом, зарплатами
- **⚖️ Юридический** - Договоры, судебные дела, взыскание долгов, доверенности
- **📢 PR** - Управление событиями, обратной связью жильцов, SMM, негативными ситуациями
- **🏛️ Офис** - Документооборот, управление помещениями, база знаний, закупки
- **🔧 Развитие** - Технический аудит, маркетинговые кампании, работа с ОСС
### Система ролей:
Приложение поддерживает различные роли пользователей с разными уровнями доступа:
- **Директор** - Полный доступ ко всем модулям
- **Главный инженер** - Дашборд, объекты, заявки, офис, развитие
- **Мастер** - Объекты, заявки
- **Юрист** - Дашборд, юридический, объекты, заявки
- **Финансист** - Дашборд, финансы, офис, объекты
- **HR-менеджер** - Дашборд, HR, офис
- **PR-менеджер** - Дашборд, PR, заявки
## 🛠️ Технологии
- **React 19** - UI библиотека
- **TypeScript** - Типизация
- **Vite** - Сборщик и dev-сервер
- **Tailwind CSS** - Стилизация
- **Lucide React** - Иконки
- **html2canvas & jsPDF** - Экспорт в PDF
## 📋 Требования
- **Node.js** (рекомендуется версия 18+)
## 🚀 Установка и запуск
### 1. Установка зависимостей
```bash
npm install
```
### 2. Настройка переменных окружения
Создайте файл `.env.local` в корне проекта на основе `.env.example`:
```env
# API Configuration
VITE_API_BASE_URL=http://localhost:4000/api
# Doma AI API Configuration
# URL API Doma AI (по умолчанию используется тестовый стенд)
VITE_DOMA_AI_API_URL=https://condo.d.doma.ai/admin/api
# Учетные данные для авторизации в Doma AI
# Используйте email и пароль ИЛИ телефон и пароль
VITE_DOMA_AI_EMAIL=your-email@example.com
VITE_DOMA_AI_PASSWORD=your-password
# ИЛИ используйте телефон:
# VITE_DOMA_AI_PHONE=+79991234567
```
**Настройка интеграции с Doma AI (PRODUCTION):**
1. Получите URL API вашего продакшн инстанса Doma AI (обычно: `https://your-domain.doma.ai/admin/api`)
2. Убедитесь, что у вас есть учетные данные для доступа к API
3. Укажите URL API и учетные данные в переменных окружения:
- `VITE_DOMA_AI_API_URL` - URL вашего инстанса Doma AI
- `VITE_DOMA_AI_EMAIL` / `VITE_DOMA_AI_PHONE` - учетные данные
- `VITE_DOMA_AI_PASSWORD` - пароль
4. При первом запуске приложение автоматически авторизуется в Doma AI
5. Заявки будут автоматически загружаться из Doma AI в раздел "Заявки"
**Для тестирования** можно использовать тестовый стенд: https://condo.d.doma.ai/
### 3. Запуск в режиме разработки
```bash
npm run dev
```
Приложение будет доступно по адресу: `http://localhost:3000`
### 4. Сборка для продакшена
```bash
npm run build
```
### 5. Просмотр production сборки
```bash
npm run preview
```
## 📁 Структура проекта
```
├── components/ # React компоненты
│ ├── applications/ # Модуль заявок
│ ├── building/ # Компоненты для работы со зданиями
│ ├── development/ # Модуль развития
│ ├── finance/ # Финансовый модуль
│ ├── hr/ # HR модуль
│ ├── legal/ # Юридический модуль
│ ├── objects/ # Компоненты объектов
│ ├── office/ # Офисный модуль
│ └── pr/ # PR модуль
├── services/ # Сервисы (API, storage, etc.)
├── types.ts # TypeScript типы
├── constants.tsx # Константы и моки
├── App.tsx # Главный компонент
├── index.tsx # Точка входа
└── vite.config.ts # Конфигурация Vite
```
## 🔧 Конфигурация
### Vite конфигурация
Проект настроен для работы с прокси-сервером API:
- Dev сервер: `http://localhost:3000`
- API прокси: `/api``https://n8n.iieasy.ru/`
Настройки можно изменить в `vite.config.ts`.
## 📝 Особенности
- **Локальное хранилище** - Сохранение состояния выбранных зданий и активных вкладок
- **Адаптивный дизайн** - Поддержка мобильных устройств
- **Система ролей** - Контроль доступа на основе ролей пользователей
- **Экспорт данных** - Возможность экспорта отчетов в PDF
- **Интеграция с Doma AI** - Автоматическая синхронизация заявок через GraphQL API
## 🎯 Разработка
### Добавление нового модуля
1. Создайте компонент модуля в `components/`
2. Добавьте навигационный элемент в `constants.tsx`
3. Добавьте обработку в `App.tsx` в функции `renderContent()`
4. Настройте права доступа в `ROLE_ACCESS` в `App.tsx`
### Работа с типами
Все типы определены в `types.ts`. При добавлении новых сущностей обновите соответствующие типы.
## 📄 Лицензия
Проект разработан для внутреннего использования.
## 🔗 Ссылки
- [AI Studio](https://ai.studio/apps/drive/1jOVxm30BucP1pvw8ODxuHe3FC-Xaww9E)
- [Документация Doma AI API](https://developers.doma.ai/ru/docs/index)
- [Doma AI API Playground](https://condo.d.doma.ai/admin/api)