Files

108 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Функциональная документация
## Обзор
Balance Android — локально-first приложение личных финансов.
Основные функции:
- доходы;
- расходы;
- категории;
- бюджеты;
- аналитика;
- корректировка баланса;
- server sync;
- тёмная/светлая тема;
- несколько валют.
## Обзор
Показывает:
- общий баланс;
- доходы текущего месяца;
- расходы текущего месяца;
- расходы по категориям;
- последние операции.
## Операции
Поддерживаются:
- добавление;
- редактирование;
- удаление;
- поиск;
- фильтрация по income/expense;
- дата;
- сумма;
- категория;
- заметка.
## Корректировка
Пользователь задаёт целевой фактический баланс.
Приложение вычисляет:
```text
difference = target - current
```
и создаёт специальную transaction с `isBalanceAdjustment=true`.
Корректировка меняет общий баланс, но не включается в периодическую аналитику.
## Аналитика
Периоды:
- месяц;
- 3 месяца;
- 12 месяцев.
Показываются:
- доходы;
- расходы;
- результат;
- savings rate;
- структура расходов по категориям.
## Бюджеты
Можно задать месячный лимит для категории.
Бюджет хранится отдельно и синхронизируется с сервером.
## Категории
Можно создавать и редактировать пользовательские категории.
Поддерживаются:
- имя;
- тип;
- иконка;
- emoji;
- цвет.
Есть 50 вариантов иконок, 30 готовых emoji и палитра из 24 цветов согласно текущему UI.
## Настройки
- RUB;
- EUR;
- USD;
- SEK;
- system/light/dark;
- server URL;
- регистрация/login/logout;
- ручная sync;
- reset sync.
## Offline-first
Все основные операции выполняются локально через Room. Сервер нужен только для авторизации и межустройственной синхронизации.
## Background sync
При наличии аккаунта и server URL WorkManager пытается синхронизировать данные примерно каждые 15 минут при наличии сети.
Точное время зависит от Android WorkManager и системных ограничений батареи/фоновой работы.