Files
Avtex/PROJECT_STRUCTURE.md
T

9.0 KiB
Raw Blame History

📁 Структура проекта NANAHUI CRM

NANAHUI/
│
├── 📄 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 - Ядро Firebase
  • firebase_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 - Вход через Google
  • googleapis: ^13.2.0 - Google API (Calendar и др.)

Notifications

  • flutter_local_notifications: ^17.0.0 - Локальные уведомления
  • workmanager: ^0.5.2 - Фоновые задачи

🎯 Точки расширения

Для добавления новой фичи:

  1. Создать модель в lib/models/
  2. Создать сервис в lib/core/ или lib/features/
  3. Создать провайдер в lib/providers/
  4. Создать экран в lib/screens/
  5. Добавить маршрут в lib/core/router.dart
  6. Добавить виджеты в 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

Структура создана для команды NANAHUI 🚀 Последнее обновление: Март 2026