Приложение на флаторе, настройки
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
# Инструкция по запуску проекта
|
||||
|
||||
## Предварительные требования
|
||||
|
||||
1. **Flutter SDK** (версия 3.0.0 или выше)
|
||||
- Установите Flutter: https://docs.flutter.dev/get-started/install
|
||||
- Проверьте установку: `flutter doctor`
|
||||
|
||||
2. **Android Studio** или **VS Code** с Flutter плагином
|
||||
|
||||
3. **Android SDK** (для сборки под Android)
|
||||
- MinSDK: 21
|
||||
- TargetSDK: 34
|
||||
- CompileSDK: 34
|
||||
|
||||
## Установка зависимостей
|
||||
|
||||
```bash
|
||||
cd client-mobile
|
||||
flutter pub get
|
||||
```
|
||||
|
||||
## Генерация кода
|
||||
|
||||
Проект использует code generation для:
|
||||
- Freezed (immutable модели)
|
||||
- AutoRoute (навигация)
|
||||
- Isar (база данных)
|
||||
|
||||
```bash
|
||||
dart run build_runner build --delete-conflicting-outputs
|
||||
```
|
||||
|
||||
Для автоматической генерации при изменениях:
|
||||
```bash
|
||||
dart run build_runner watch --delete-conflicting-outputs
|
||||
```
|
||||
|
||||
## Запуск приложения
|
||||
|
||||
### Android
|
||||
```bash
|
||||
flutter run
|
||||
```
|
||||
|
||||
### Сборка релиза
|
||||
```bash
|
||||
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 обновлений
|
||||
|
||||
## Тестирование
|
||||
|
||||
```bash
|
||||
flutter test
|
||||
```
|
||||
|
||||
## Полезные команды
|
||||
|
||||
```bash
|
||||
# Анализ кода
|
||||
flutter analyze
|
||||
|
||||
# Форматирование
|
||||
dart format .
|
||||
|
||||
# Очистка
|
||||
flutter clean
|
||||
|
||||
# Проверка зависимостей
|
||||
flutter pub outdated
|
||||
```
|
||||
|
||||
## Контакты
|
||||
|
||||
Для вопросов и предложений обращайтесь к команде разработки.
|
||||
Reference in New Issue
Block a user