# Savings (семейные накопления)

## Назначение
Приложение для совместного управления накоплениями. Go backend + React frontend. Поддержка категорий накоплений, участников, регулярных планов, начисления процентов.

## Контейнеры

| Имя | Образ |
|-----|-------|
| savings-backend | local build (Go) |
| savings-frontend | local build (React) |

## Порты

| Контейнер | Внутренний | Назначение |
|-----------|-----------|------------|
| savings-backend | 9090 | REST API (через NPM) |
| savings-frontend | — | Web UI (через NPM) |

## Volumes

| Путь хоста | Контейнер | Путь контейнера | Содержимое |
|-----------|-----------|----------------|------------|
| ./savings.db | backend | /root/savings.db | SQLite БД |

## Домен
Через NPM (не указан явно).

## Сети
- `services_proxy` (external)

## Env переменные
**Backend:**
- `DB_NAME`, `DB_TYPE`
- `JWT_SECRET`, `JWT_EXPIRES_IN`
- `PORT`, `GIN_MODE`
- `FRONTEND_URL`
- `INTEREST_CALCULATION_ENABLED`, `INTEREST_CALCULATION_INTERVAL`
- `SMTP_HOST`, `SMTP_PORT`, `SMTP_USERNAME`, `SMTP_PASSWORD`
- `FROM_EMAIL`, `FROM_NAME`, `EMAIL_ENABLED`

**Frontend (build args):**
- `REACT_APP_API_URL`
- `REACT_APP_APP_NAME`
- `REACT_APP_VERSION`

## Статус
❌ **Не запущен** (не найден в `docker ps`)

## Заметки
- Использует SQLite (не PostgreSQL) — данные в одном файле `savings.db`
- Встроенный расчёт процентов по расписанию
