
Telegram-бот для учёта личных финансов на aiogram 3 + SQLAlchemy 2.0 async. Записи через текст без кнопок, история за любой период, графики по категориям, бюджеты по категориям, накопления и учёт активов/пассивов, финансовые цели, экспорт/импорт в Excel. 312 тестов, модульная архитектура.
|
|
| Язык |
Python 3.11+ |
| Фреймворк |
aiogram 3 |
| ORM / БД |
SQLAlchemy 2.0 async + aiosqlite |
| Графики |
matplotlib |
| Тесты |
pytest + pytest-asyncio |
+5000 зарплата или -200 кофе — запись без кнопок, несколько строк сразу
- Несколько счетов с выбором при вводе
- История за 8 периодов + произвольный диапазон дат, постраничная навигация
- Редактирование записей из истории: сумма, категория, дата, счёт; удаление с подтверждением
- Столбчатые диаграммы по категориям, топ-5 + «Прочее»
- Динамика доходов и расходов по месяцам за выбранный год
- Накопления: снимки баланса по дням, динамика роста
- Активы и пассивы: учёт имущества и долгов с CRUD-операциями
- Пользовательские категории: CRUD, лимит 30 шт., умная суггестия по ключевым словам
- Поиск по записям: текст,
>1000, <500, =250; фильтр истории по типу операции и по категории
- Месячные бюджеты по категориям: установка лимита, прогресс-бар, уведомления при 80% и 100%
- Отчёт по дням недели: средние траты/доходы по дням, столбчатый график
- Экспорт записей в Excel (по периоду и типу операции, лист с итогами)
- Резервная копия через
/backup: записи, бюджеты, накопления, активы/пассивы в одном файле
- Финансовые цели: создание/редактирование (имя/сумма/дедлайн), пополнение и снятие со счёта без засорения истории, быстрые суммы (10%/25%/50%/ежемес/остаток), индикаторы просрочки и достижения, ETA-прогноз, архив завершённых с длительностью накопления
- Импорт записей из Excel-шаблона: до 1000 строк, валидация, предупреждение о дублях
- Многошаговые сценарии через aiogram FSM
| Команда |
Действие |
/start |
Главное меню |
/help |
Справка |
/cancel |
Отмена текущего действия |
/backup |
Полная резервная копия в Excel |
pip install -r requirements.txt
cp .env.example .env && python bot.py
Токен получить у @BotFather, вставить в .env.
| Главное меню |
История |
График отчёта |
| скоро |
скоро |
скоро |