Подробный гайд для GitHub: установка, запуск, конфигурация, структура кода, локализация, обновление документации и интеграция с API.
- Flutter: 3.19+ (stable)
- Dart: 3.3+
- Android SDK: 33+
- Установите зависимости:
flutter pub get- Установите базовый URL API:
// файл: lib/env.dart
class Env {
static const String apiBaseUrl = 'https://api.example.com';
}- Запустите приложение:
flutter run- Базовый URL задаётся в
lib/env.dart. - Токен API хранится локально в
SecureStorageи не коммитится. - Android идентификатор пакета по умолчанию
com.example.startbot. Меняйте при необходимости вandroid/app/build.gradle(applicationId) иAndroidManifest.xml(android:nameуMainActivity).
- Авторизация: все запросы отправляются с заголовком
Authorization: Bearer <TOKEN>если токен сохранён. - Конечные точки (примерные, для демонстрации):
POST /status→{ "running": true|false }POST /start→{ "status": "started" }POST /stop→{ "status": "stopped" }
Пример клиента см. в lib/core/network/api_client.dart и репозитории бота lib/features/bot/bot_repository.dart.
- Экран
TokenScreenпозволяет просматривать (замаскировано), сохранять и очищать токен. - Программно:
TokenRepository.save(token)/read()/clear()(lib/features/auth/token_repository.dart).
lib/
app/ — инициализация приложения и роутинг
core/network/ — HTTP‑клиент (Dio), перехватчики, логирование
core/storage/ — безопасное хранилище токена
features/auth/ — работа с токеном
features/bot/ — вызовы API: /status, /start, /stop
ui/screens/ — экраны (auth, control, stats, settings, token)
ui/widgets/ — переиспользуемые виджеты
assets/translations/ — локализация (ru, en)
- Файлы переводов лежат в
assets/translations/ru.jsonиassets/translations/en.json. - Для добавления нового языка: создайте
xx.json, пропишите ключи, зарегистрируйте в инициализации локализации.
- Android:
flutter build apkилиflutter build appbundle.
- Собрать дебажный APK:
flutter build apk --debug- APK будет по пути:
build/app/outputs/flutter-apk/app-debug.apk
- Установить на устройство:
adb install -r build/app/outputs/flutter-apk/app-debug.apk- Собрать release APK:
flutter build apk --release- Или по ABI (уменьшает размер):
flutter build apk --release --split-per-abi- Готовые файлы:
build/app/outputs/flutter-apk/app-release.apk
build/app/outputs/flutter-apk/app-arm64-v8a-release.apk
build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk
build/app/outputs/flutter-apk/app-x86_64-release.apk
Примечание: в текущей конфигурации release использует отладочную подпись для упрощённого тестирования. Для продакшена настройте подпись выпусков в android/app/build.gradle.
- Форкните репозиторий, создайте ветку от
main, делайте атомарные PR. - Перед PR запускайте анализатор:
flutter analyzeи тесты:flutter test.
MIT — используйте свободно с сохранением уведомления об авторстве.