Initial commit: NANAHUI CRM - Flutter Firebase CRM assistant

This commit is contained in:
2026-03-27 14:38:10 +05:00
commit 78d15daa35
161 changed files with 9924 additions and 0 deletions
+190
View File
@@ -0,0 +1,190 @@
# ✅ Настройка Firebase завершена!
## 📦 Что сделано:
### 1. Gradle настроен правильно ✅
- **Kotlin DSL** (`build.gradle.kts`) — современный подход
- **Google Services Plugin** версии 4.4.4 добавлен
- **Firebase BoM** версии 34.11.0 подключён
- Все Firebase зависимости добавлены:
- `firebase-analytics`
- `firebase-auth`
- `firebase-firestore`
- `firebase-messaging`
### 2. Package name ✅
- Application ID: `com.nanaxe.nanaxe_crm`
- Соответствует `google-services.json`
### 3. AndroidManifest обновлён ✅
- Добавлены разрешения для Firebase и уведомлений
- Название приложения: "NANAHUI CRM"
### 4. Правила безопасности Firestore ✅
- Файл `firestore.rules` создан
- Доступ только для аутентифицированных пользователей
- Поддержка ролей (admin, member, viewer)
---
## 🚀 СЛЕДУЮЩИЙ ШАГ: Загрузить правила безопасности
### Открой Firebase Console:
1. Перейди в https://console.firebase.google.com
2. Выбери проект `nanax26-1f33b`
3. Слева: **Build** → **Firestore Database**
4. Вверху выбери вкладку **Rules**
5. Скопируй содержимое файла `firestore.rules` и вставь в редактор
6. Нажми **Publish**
**Или используй Firebase CLI:**
```bash
npm install -g firebase-tools
firebase login
firebase use nanax26-1f33b
firebase deploy --only firestore:rules
```
---
## 📱 Запуск приложения
### 1. Подключи устройство или запусти эмулятор
```bash
# Проверка подключенных устройств
flutter devices
```
### 2. Запусти приложение
```bash
flutter run
```
### 3. Если ошибка с SHA-1 ключом
Для Google Sign-In нужен SHA-1 fingerprint:
```bash
# Для debug ключа (Windows)
cd android
gradlew app:signingReport
```
Скопируй SHA-1 из отчёта и добавь в Firebase Console:
1. Project Settings → Your apps → Android app
2. Add fingerprint
3. Вставь SHA-1
4. Save
---
## 🔧 Проверка работы
### Чек-лист:
- [ ] Firebase проект создан
- [ ] Authentication включён (Google provider)
- [ ] Firestore база создана (region: eur3)
- [ ] Android приложение зарегистрировано
- [ ] `google-services.json` лежит в `android/app/`
- [ ] Gradle файлы обновлены
- [ ] Правила безопасности загружены в Firebase
- [ ] SHA-1 fingerprint добавлен (для Google Sign-In)
### Тест аутентификации:
1. Запусти приложение
2. Нажми "Войти через Google"
3. Выбери аккаунт
4. Если успешно — переход на главный экран ✅
---
## 📊 Структура Firestore (автоматически создаётся)
```
users/
└─ {userId}/
├─ email
├─ displayName
├─ role: "member"
├─ teamIds: []
└─ settings: {}
teams/
└─ {teamId}/
├─ name
├─ memberIds: []
└─ projects: subcollection
projects/
└─ {projectId}/
├─ name
├─ ownerId
└─ tasks: subcollection
tasks/
└─ {taskId}/
├─ title
├─ status: "todo"
├─ priority: "medium"
└─ assigneeId
mindmaps/
└─ {projectId}/
└─ nodes/
└─ {nodeId}/
├─ title
├─ level
└─ parentId
events/
└─ {eventId}/
├─ title
├─ startTime
└─ attendeeIds
alarms/
└─ {alarmId}/
├─ title
├─ dateTime
└─ isRepeating
```
---
## 🆘 Возможные ошибки
### "No Firebase App"
```
Проверь что google-services.json лежит в android/app/
```
### "Sign-in failed"
```
1. Добавь SHA-1 fingerprint в Firebase Console
2. Перескачай google-services.json
3. Пересобери приложение: flutter clean && flutter run
```
### "Permission denied"
```
1. Проверь что правила безопасности загружены
2. Убедись что пользователь аутентифицирован
```
### "App not found"
```
1. Проверь что package name совпадает:
- В google-services.json: "com.nanaxe.nanaxe_crm"
- В build.gradle.kts: applicationId = "com.nanaxe.nanaxe_crm"
```
---
## 📚 Документация
- [Firebase Flutter Setup](https://firebase.flutter.dev/docs/overview)
- [Firestore Rules](https://firebase.google.com/docs/firestore/security/get-started)
- [Google Sign-In Flutter](https://pub.dev/packages/google_sign_in)
---
**Готово! Запускай `flutter run`** 🚀