Files
forkmessager/client-mobile/GETTING_STARTED.md
2026-05-13 17:21:37 +03:00

3.6 KiB
Raw Blame History

Инструкция по запуску проекта

Предварительные требования

  1. Flutter SDK (версия 3.0.0 или выше)

  2. Android Studio или VS Code с Flutter плагином

  3. Android SDK (для сборки под Android)

    • MinSDK: 21
    • TargetSDK: 34
    • CompileSDK: 34

Установка зависимостей

cd client-mobile
flutter pub get

Генерация кода

Проект использует code generation для:

  • Freezed (immutable модели)
  • AutoRoute (навигация)
  • Isar (база данных)
dart run build_runner build --delete-conflicting-outputs

Для автоматической генерации при изменениях:

dart run build_runner watch --delete-conflicting-outputs

Запуск приложения

Android

flutter run

Сборка релиза

flutter build apk --release

Структура проекта

lib/
├── core/                    # Общие компоненты
│   ├── constants/           # Константы приложения
│   ├── errors/              # Обработка ошибок
│   ├── network/             # Сетевой клиент (Dio)
│   └── theme/               # Темы оформления
├── features/                # Функциональные модули
│   ├── auth/                # Аутентификация
│   │   ├── data/            # Data layer
│   │   ├── domain/          # Domain layer
│   │   └── presentation/    # UI layer (BLoC, страницы)
│   ├── chat/                # Чаты
│   ├── profile/             # Профиль
│   └── settings/            # Настройки
└── internal/                # Внутренняя конфигурация
    ├── di/                  # Dependency Injection (GetIt)
    └── router/              # Навигация

Архитектура

Проект следует принципам Clean Architecture:

  • Domain Layer: Бизнес-логика, entities, use cases, repository interfaces
  • Data Layer: Реализации репозиториев, datasources, модели
  • Presentation Layer: UI, BLoC, страницы, виджеты

State Management

Используется flutter_bloc для управления состоянием:

  • Каждый feature имеет свой BLoC
  • События и состояния генерируются через Freezed
  • DI через GetIt

Навигация

Используется auto_route для декларативной навигации.

База данных

Используется Isar - быстрая NoSQL база данных для Flutter.

Сетевые запросы

  • Dio для REST API запросов
  • SignalR для real-time обновлений

Тестирование

flutter test

Полезные команды

# Анализ кода
flutter analyze

# Форматирование
dart format .

# Очистка
flutter clean

# Проверка зависимостей
flutter pub outdated

Контакты

Для вопросов и предложений обращайтесь к команде разработки.