9.0 KiB
9.0 KiB
📁 Структура проекта NANAXE CRM
NANAXE/
│
├── 📄 README.md # Общая информация о проекте
├── 📄 QUICKSTART.md # Быстрый старт и настройка
├── 📄 ARCHITECTURE.md # Архитектурное описание
├── 📄 FIREBASE_SETUP.md # Инструкция по настройке Firebase
├── 📄 .env.example # Шаблон переменных окружения
├── 📄 .gitignore # Git ignore файл
├── 📄 pubspec.yaml # Зависимости Flutter
│
├── 📂 lib/ # Исходный код приложения
│ │
│ ├── 📄 main.dart # Точка входа
│ │
│ ├── 📂 core/ # Ядро приложения
│ │ ├── firebase_config.dart # Конфигурация Firebase
│ │ ├── firestore_service.dart # Сервис для работы с Firestore
│ │ ├── local_storage_service.dart # Локальное хранилище (Hive)
│ │ ├── ai_service.dart # AI сервис (OpenAI, Anthropic)
│ │ ├── router.dart # Маршрутизация (GoRouter)
│ │ └── theme.dart # Темы оформления
│ │
│ ├── 📂 models/ # Модели данных
│ │ ├── user_model.dart # Пользователь
│ │ ├── task_model.dart # Задача
│ │ ├── project_model.dart # Проект
│ │ ├── mind_map_model.dart # Mind-карта
│ │ ├── calendar_event_model.dart # Событие календаря
│ │ └── alarm_model.dart # Будильник/Напоминание
│ │
│ ├── 📂 providers/ # State Management (Riverpod)
│ │ └── auth_provider.dart # Провайдер аутентификации
│ │
│ ├── 📂 screens/ # Экраны приложения
│ │ ├── auth_screen.dart # Экран входа
│ │ ├── home_screen.dart # Главная навигация
│ │ ├── dashboard_screen.dart # Дашборд
│ │ ├── tasks_screen.dart # Задачи
│ │ ├── mind_map_screen.dart # Mind-карта
│ │ ├── calendar_screen.dart # Календарь
│ │ └── alarms_screen.dart # Будильники
│ │
│ ├── 📂 widgets/ # Переиспользуемые виджеты
│ │ └── (создаётся по мере необходимости)
│ │
│ └── 📂 features/ # Функциональные модули
│ └── (для будущего расширения)
│
├── 📂 assets/ # Ресурсы приложения
│ ├── 📂 images/ # Изображения
│ │ └── .gitkeep
│ └── 📂 icons/ # Иконки
│ └── .gitkeep
│
├── 📂 test/ # Тесты
│ └── widget_test.dart # Widget тесты
│
├── 📂 android/ # Android платформа
│ ├── 📂 app/
│ │ ├── src/main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── kotlin/ # Kotlin код
│ │ │ ├── res/ # Ресурсы Android
│ │ │ └── ...
│ │ └── build.gradle # Android build config
│ └── google-services.json # ⚠️ Firebase config (нужно добавить)
│
├── 📂 ios/ # iOS платформа
│ ├── 📂 Runner/
│ │ ├── AppDelegate.swift
│ │ ├── Info.plist
│ │ └── ...
│ └── GoogleService-Info.plist # ⚠️ Firebase config (нужно добавить)
│
├── 📂 web/ # Web платформа
│ ├── index.html
│ └── manifest.json
│
├── 📂 windows/ # Windows платформа
│ └── ...
│
├── 📂 linux/ # Linux платформа
│ └── ...
│
├── 📂 macos/ # macOS платформа
│ └── ...
│
└── 📂 build/ # ⚠️ Build artifacts (не в git)
└── (генерируется при сборке)
🔑 Ключевые файлы
Конфигурация
| Файл | Описание |
|---|---|
pubspec.yaml |
Зависимости и настройки Flutter |
.gitignore |
Исключения для Git |
.env.example |
Шаблон переменных окружения |
Firebase (нужно добавить)
| Файл | Где взять | Куда положить |
|---|---|---|
google-services.json |
Firebase Console → Android | android/app/ |
GoogleService-Info.plist |
Firebase Console → iOS | ios/Runner/ |
Основные модули
| Модуль | Файл | Описание |
|---|---|---|
| Entry Point | lib/main.dart |
Инициализация и запуск |
| Firebase | lib/core/firebase_config.dart |
Настройка Firebase |
| Auth | lib/providers/auth_provider.dart |
Аутентификация через Google |
| Firestore | lib/core/firestore_service.dart |
CRUD операции с БД |
| AI | lib/core/ai_service.dart |
Интеграция с OpenAI |
| Storage | lib/core/local_storage_service.dart |
Офлайн кэш на Hive |
| Router | lib/core/router.dart |
Навигация между экранами |
| Theme | lib/core/theme.dart |
Светлая/тёмная темы |
📦 Основные зависимости
State Management
flutter_riverpod: ^2.5.0- Реактивное управление состояниемriverpod_annotation: ^2.3.5- Code generation для Riverpod
Firebase
firebase_core: ^2.32.0- Ядро Firebasefirebase_auth: ^4.19.0- Аутентификацияcloud_firestore: ^4.17.0- Firestore база данныхfirebase_messaging: ^14.9.0- Push уведомления
Local Storage
hive_flutter: ^1.1.0- Быстрое локальное хранилищеhive: ^2.2.3- Hive ядро
Navigation
go_router: ^13.1.0- Декларативная маршрутизация
AI
http: ^1.2.0- HTTP клиент для API запросовdio: ^5.4.0- Продвинутый HTTP клиент
UI
graphview: ^1.2.0- Визуализация графов (для mind-карт)flutter_mind_map: ^1.0.23- Готовый mind-map виджетflutter_staggered_grid_view: ^0.7.0- Сетка для карточек
Google Integration
google_sign_in: ^6.2.1- Вход через Googlegoogleapis: ^13.2.0- Google API (Calendar и др.)
Notifications
flutter_local_notifications: ^17.0.0- Локальные уведомленияworkmanager: ^0.5.2- Фоновые задачи
🎯 Точки расширения
Для добавления новой фичи:
- Создать модель в
lib/models/ - Создать сервис в
lib/core/илиlib/features/ - Создать провайдер в
lib/providers/ - Создать экран в
lib/screens/ - Добавить маршрут в
lib/core/router.dart - Добавить виджеты в
lib/widgets/
Пример: Добавление заметок
lib/
├── models/
│ └── note_model.dart # ✨ Новая модель
├── features/
│ └── notes/
│ ├── note_service.dart # ✨ Сервис
│ └── note_provider.dart # ✨ Провайдер
├── screens/
│ └── notes_screen.dart # ✨ Экран
└── widgets/
└── note_card.dart # ✨ Виджет
📊 Метрики проекта
Строки кода: ~2000+
Файлов: ~20
Модулей: 6 (Auth, Tasks, MindMap, Calendar, Alarms, Dashboard)
Моделей данных: 6
Экранов: 6
Сервисов: 4 (Firebase, Firestore, AI, LocalStorage)
🔄 CI/CD (будущее)
.github/workflows/
├── build.yml # Сборка APK
├── test.yml # Запуск тестов
└── deploy.yml # Деплой в Store
Структура создана для команды NANAXE 🚀 Последнее обновление: Март 2026