Initial commit: NANAHUI CRM - Flutter Firebase CRM assistant
This commit is contained in:
@@ -0,0 +1,156 @@
|
||||
# NANAHUI CRM - CRM-ассистент для команд
|
||||
|
||||
CRM-система с AI-планированием, mind-картами задач и интеграцией с Google Calendar.
|
||||
|
||||
## 🚀 Возможности
|
||||
|
||||
### Для команд и фрилансеров:
|
||||
- ✅ **Управление задачами** - создание, назначение, приоритеты, статусы
|
||||
- ✅ **Mind-карты проектов** - визуальное дерево задач (drag-drop для админов)
|
||||
- ✅ **Календарь** - синхронизация с Google Calendar
|
||||
- ✅ **Будильники/Напоминания** - локальные уведомления
|
||||
- ✅ **AI-ассистент** - умное планирование и генерация подзадач
|
||||
- ✅ **Ролевая модель** - admin, member, viewer
|
||||
- ✅ **Офлайн-режим** - кэширование данных на устройстве
|
||||
|
||||
## 📦 Технологический стек
|
||||
|
||||
| Компонент | Технология |
|
||||
|-----------|------------|
|
||||
| Framework | Flutter |
|
||||
| State Management | Riverpod |
|
||||
| Backend | Firebase (Firestore, Auth, FCM) |
|
||||
| Local Storage | Hive |
|
||||
| Navigation | GoRouter |
|
||||
| Mind Maps | flutter_mind_map, graphview |
|
||||
| AI | OpenAI API, Anthropic API (планируется) |
|
||||
|
||||
## 🏗 Структура проекта
|
||||
|
||||
```
|
||||
lib/
|
||||
├── core/
|
||||
│ ├── firebase_config.dart
|
||||
│ ├── local_storage_service.dart
|
||||
│ ├── router.dart
|
||||
│ └── theme.dart
|
||||
├── features/
|
||||
│ ├── tasks/
|
||||
│ ├── mindmap/
|
||||
│ ├── calendar/
|
||||
│ └── alarms/
|
||||
├── models/
|
||||
│ ├── user_model.dart
|
||||
│ ├── task_model.dart
|
||||
│ ├── project_model.dart
|
||||
│ ├── mind_map_model.dart
|
||||
│ ├── calendar_event_model.dart
|
||||
│ └── alarm_model.dart
|
||||
├── providers/
|
||||
│ └── auth_provider.dart
|
||||
├── screens/
|
||||
│ ├── auth_screen.dart
|
||||
│ ├── home_screen.dart
|
||||
│ ├── tasks_screen.dart
|
||||
│ ├── mind_map_screen.dart
|
||||
│ ├── calendar_screen.dart
|
||||
│ └── alarms_screen.dart
|
||||
└── widgets/
|
||||
```
|
||||
|
||||
## 🔧 Настройка
|
||||
|
||||
### 1. Firebase Console
|
||||
|
||||
1. Создайте проект в [Firebase Console](https://console.firebase.google.com)
|
||||
2. Включите Authentication (Google Sign-In)
|
||||
3. Создайте Firestore базу данных
|
||||
4. Скачайте конфиги:
|
||||
- `google-services.json` для Android
|
||||
- `GoogleService-Info.plist` для iOS
|
||||
|
||||
### 2. Установка зависимостей
|
||||
|
||||
```bash
|
||||
flutter pub get
|
||||
```
|
||||
|
||||
### 3. Запуск
|
||||
|
||||
```bash
|
||||
flutter run
|
||||
```
|
||||
|
||||
## 📱 Роли пользователей
|
||||
|
||||
| Роль | Права |
|
||||
|------|-------|
|
||||
| **Admin** | Создание/редактирование mind-карт, управление командой, все CRUD операции |
|
||||
| **Member** | Создание задач, редактирование своих задач, просмотр общих |
|
||||
| **Viewer** | Только просмотр |
|
||||
|
||||
## 🗄 Структура Firestore
|
||||
|
||||
```
|
||||
users/{userId}
|
||||
- email, displayName, photoUrl
|
||||
- role: admin|member|viewer
|
||||
- teamIds: []
|
||||
- settings: {}
|
||||
|
||||
teams/{teamId}
|
||||
- name, description
|
||||
- memberIds: []
|
||||
- projects: subcollection
|
||||
|
||||
projects/{projectId}
|
||||
- name, description, color
|
||||
- ownerId, memberIds
|
||||
- startDate, endDate
|
||||
|
||||
tasks/{taskId}
|
||||
- title, description
|
||||
- projectId, parentTaskId
|
||||
- status, priority
|
||||
- assigneeId, creatorId
|
||||
- dueDate, estimatedHours
|
||||
- aiMetadata: {}
|
||||
|
||||
mindmaps/{mindMapId}
|
||||
- projectId, title
|
||||
- rootNodeId
|
||||
- nodes: subcollection
|
||||
|
||||
events/{eventId}
|
||||
- title, description
|
||||
- startTime, endTime
|
||||
- googleEventId
|
||||
- attendeeIds: []
|
||||
|
||||
alarms/{alarmId}
|
||||
- title, dateTime
|
||||
- taskId, eventId
|
||||
- isRepeating, repeatPattern
|
||||
```
|
||||
|
||||
## 🤖 AI Функции (планируется)
|
||||
|
||||
- **Генерация подзадач** - разбивка больших задач на подзадачи
|
||||
- **Приоритизация** - AI анализ важности задач
|
||||
- **Планирование** - оптимальное распределение задач по времени
|
||||
- **Саммари** - краткое описание проекта/задач
|
||||
- **Анализ тональности** - анализ переписки с клиентами
|
||||
|
||||
## 📝 Следующие шаги
|
||||
|
||||
- [ ] Настроить Firebase проект
|
||||
- [ ] Добавить реальную интеграцию с Firestore
|
||||
- [ ] Реализовать AI сервисы (OpenAI, Anthropic)
|
||||
- [ ] Добавить Google Calendar API
|
||||
- [ ] Реализовать mind-map виджет с drag-drop
|
||||
- [ ] Добавить локальные уведомления
|
||||
- [ ] Реализовать синхронизацию офлайн-данных
|
||||
|
||||
## 📄 Лицензия
|
||||
|
||||
Internal use only (для команды NANAHUI)
|
||||
Reference in New Issue
Block a user