# FamilyHUB ## Структура репозитория - `backend/` — текущий Go backend и миграции приложения. - `frontend/` — директория под Vue-приложение. - `infra/` — docker-compose, Dockerfile'ы и локальные infra-данные для разработки. - `docs/` — документация проекта. ## Заполнение конфигурации Приложение читает переменные окружения из `.env` (через `godotenv`) и затем из окружения процесса. ### 1. Создайте файл `.env` в `backend/` ```env RUN_MODE=standalone DEBUG_MODE=false BOT_TOKEN=123456:telegram-bot-token GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/google-credentials.json DB_PATH=sqlite://data/app.db API_HOST=localhost API_PORT=8000 API_SECRET=change-me OPEN_API_ENABLED=true OPEN_API_ENDPOINT=/docs ``` ### 2. Обязательные переменные по режимам `RUN_MODE` поддерживает значения: - `bot` - `api` - `standalone` Если `RUN_MODE=bot` или `RUN_MODE=standalone`, обязательны: - `BOT_TOKEN` - `GOOGLE_APPLICATION_CREDENTIALS` Если `RUN_MODE=api` или `RUN_MODE=standalone`, обязательна: - `API_SECRET` ### 3. Дефолты для API-режима Если не заданы, будут использованы: - `DB_PATH=sqlite://data/app.db` - `API_HOST=localhost` - `API_PORT=8000` - `OPEN_API_ENDPOINT=/docs` ### 4. Описание переменных - `RUN_MODE`: режим запуска (`bot`, `api`, `standalone`). - `DEBUG_MODE`: `true/false`. - `BOT_TOKEN`: токен Telegram-бота. - `GOOGLE_APPLICATION_CREDENTIALS`: абсолютный путь к JSON-ключу Google. - `DB_PATH`: строка подключения к БД (например `sqlite://data/app.db`). - `API_HOST`: хост API. - `API_PORT`: порт API. - `API_SECRET`: секрет API. - `OPEN_API_ENABLED`: включает swagger-ui endpoint (`true/false`). - `OPEN_API_ENDPOINT`: путь для OpenAPI endpoint (в конфиге присутствует). ### 5. Быстрая проверка перед запуском 1. Убедитесь, что `RUN_MODE` выставлен корректно. 2. Проверьте обязательные переменные для выбранного режима. 3. Проверьте существование файла `GOOGLE_APPLICATION_CREDENTIALS` (если включен bot). 4. Убедитесь, что `DB_PATH` валиден и директория для SQLite доступна на запись. ### 6. Запуск backend ```bash cd backend go run ./src ``` ### 7. Запуск инфраструктуры ```bash cd infra docker compose up -d ```