3.6 KiB
3.6 KiB
Инструкция по запуску проекта
Предварительные требования
-
Flutter SDK (версия 3.0.0 или выше)
- Установите Flutter: https://docs.flutter.dev/get-started/install
- Проверьте установку:
flutter doctor
-
Android Studio или VS Code с Flutter плагином
-
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
Контакты
Для вопросов и предложений обращайтесь к команде разработки.