forked from eatvio/eatvio_app
93 lines
4.0 KiB
Markdown
93 lines
4.0 KiB
Markdown
# Настройка переменных окружения
|
||
|
||
Этот проект использует переменные окружения для хранения секретных данных и конфигурации.
|
||
|
||
## Установка
|
||
|
||
1. Скопируйте файл `env.example` в `.env`:
|
||
```bash
|
||
cp env.example .env
|
||
```
|
||
|
||
2. Отредактируйте файл `.env` и замените значения на ваши собственные секреты.
|
||
|
||
## Переменные окружения
|
||
|
||
### API URLs
|
||
- `BASE_URL` - основной URL API (по умолчанию: https://eatvio.ru)
|
||
- `DEV_BASE_URL` - URL API для разработки (по умолчанию: https://dev2.eatvio.com)
|
||
|
||
### 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`:
|
||
|
||
```dart
|
||
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` |