Family Finance
Приватная финансовая система внутри Telegram: быстрый ввод через бота, управление и отчеты в Mini App, безопасный пакетный импорт и единая транзакционная логика на PostgreSQL.




Brief
Задача
Создать удобную систему совместного семейного учета, в которой ежедневные операции можно быстро добавлять через Telegram, а финансовые данные остаются проверяемыми, согласованными и защищенными от случайных или повторных записей.
Context
О проекте
Family Finance — приватная система финансового учета для семьи из двух участников. Telegram Bot закрывает быстрый ввод расходов, доходов, переводов и пакетных операций, а Mini App используется для истории, отчетов, счетов, обязательств и общей финансовой позиции.
Оба интерфейса используют общие сервисы управления данными и одну PostgreSQL-базу. Каждое финансовое изменение проходит серверную проверку и отдельное подтверждение. Повторные Telegram-события не создают дубли, а пакет до 50 операций подтверждается одной транзакцией: сохраняются либо все операции, либо ни одной (атомарно).
Для переноса данных с банковских скриншотов используется отдельный приватный Custom GPT: он помогает подготовить формат структурированного сообщения, но не имеет доступа к приложению и базе данных. Все финансовые правила и транзакции остаются на сервере, а Custom GPT работает как вспомогательный слой для подготовки данных.
Scope
Что реализовано
12 модулей
- Telegram Bot для расходов, доходов и переводов
- Telegram Mini App для истории, отчетов и управления
- Просмотр, подтверждение и отмена финансовых действий
- Расчетные остатки и контрольные снимки счетов
- Учет обязательств и общей финансовой позиции
- Отчеты, фильтры и CSV-экспорт данных
- Пакетный импорт до 50 операций в едином формате
- Атомарное подтверждение пакета с защитой от дублей
- Идемпотентная обработка Telegram хуков и повторных событий
- Изолированный Custom GPT для подготовки данных
- Единая финансовая логика для бота и Mini-app
- PostgreSQL + Prisma для транзакционной целостности данных
Outcome
Результат
- 01Система работает в production внутри закрытого Telegram-контура
- 02Ежедневные операции добавляются непосредственно из Telegram
- 03Бот и Mini App показывают согласованные данные из одной базы
- 04Финансовые изменения не применяются без preview и отдельного подтверждения
- 05Повторная доставка событий и callbacks не создает второй финансовый эффект
- 06До 50 операций подтверждаются одной атомарной транзакцией базы данных
- 07Банковские скриншоты можно подготовить к импорту через изолированный Custom GPT с ручной проверкой
- 08Релизы проходят через автоматизированный процесс с миграциями, health checks и контролируемым rollback
Engineering note
Ключевое решение
Ключевым решением стало разделение удобства и доверия: Telegram отвечает за быстрый пользовательский сценарий, сервер — за финансовые правила и идемпотентность, PostgreSQL — за целостность данных, а Custom GPT остается изолированным вспомогательным слоем без права записи.
Другие проекты