Files
eatvio_app/ENV_SETUP.md
2025-09-30 00:39:21 +03:00

4.0 KiB
Raw Permalink Blame History

Настройка переменных окружения

Этот проект использует переменные окружения для хранения секретных данных и конфигурации.

Установка

  1. Скопируйте файл env.example в .env:
cp env.example .env
  1. Отредактируйте файл .env и замените значения на ваши собственные секреты.

Переменные окружения

API URLs

Sentry Configuration

  • SENTRY_DSN - DSN для Sentry мониторинга

Firebase Configuration

  • FIREBASE_PROJECT_ID - ID проекта Firebase
  • FIREBASE_DATABASE_URL - URL базы данных Firebase
  • FIREBASE_STORAGE_BUCKET - bucket для хранения файлов
  • FIREBASE_MESSAGING_SENDER_ID - ID отправителя сообщений

Firebase Android Configuration

  • FIREBASE_ANDROID_API_KEY - API ключ для Android
  • FIREBASE_ANDROID_APP_ID - ID приложения для Android

Firebase iOS Configuration

  • FIREBASE_IOS_API_KEY - API ключ для iOS
  • FIREBASE_IOS_APP_ID - ID приложения для iOS
  • FIREBASE_IOS_BUNDLE_ID - Bundle ID для iOS

App Store URLs

  • APP_STORE_URL - URL App Store
  • RUSTORE_URL - URL RuStore

Support URLs

  • TELEGRAM_SUPPORT_URL - URL поддержки в Telegram
  • SUPPORT_EMAIL - email для поддержки

Test Credentials (только для разработки)

  • TEST_EMAIL - тестовый email
  • TEST_PASSWORD - тестовый пароль

Email Validation API

  • EMAIL_VALIDATION_API_URL - URL API для валидации email

Connection Check URLs

  • GOOGLE_CHECK_URL - URL для проверки соединения (Google)
  • YANDEX_CHECK_URL - URL для проверки соединения (Yandex)

VK ID Configuration

  • VK_CLIENT_ID - ID приложения VK (числовой)
  • Примечание: VK_CLIENT_ID - это числовой "ID приложения" из консоли VK ID, НЕ "Защищённый ключ" или "Сервисный ключ доступа"

Yandex ID Configuration

  • YANDEX_CLIENT_ID - ID приложения Yandex OAuth
  • YANDEX_CLIENT_SECRET - секретный ключ приложения Yandex OAuth
  • YANDEX_REDIRECT_URI - URI для перенаправления (должен совпадать с настройками в Yandex OAuth приложении)

Безопасность

⚠️ ВАЖНО: Файл .env добавлен в .gitignore и не должен попадать в репозиторий. Все секретные данные должны храниться только в этом файле.

Использование в коде

Для доступа к переменным окружения используйте класс EnvConfig:

import 'package:eatvio_app/core/env_config.dart';

String baseUrl = EnvConfig.baseUrl;
String sentryDsn = EnvConfig.sentryDsn;

Миграция

Все секреты были перенесены из кода в переменные окружения:

  1. Sentry DSN - из main.dart
  2. Firebase конфигурация - из firebase_options.dart
  3. API URLs - из const.dart
  4. URL для проверки соединения - из internet_connection_checker_screen.dart
  5. URL для обновления приложения - из update_screen.dart
  6. URL поддержки Telegram - из support_screen.dart
  7. API для валидации email - из registration_repository.dart
  8. Тестовые учетные данные - из test_cases.dart
  9. Email поддержки - из support_screen.dart