Skip to content

Wlwool/CoinKeeper

Repository files navigation

💰 CoinKeeper - Телеграм-бот для учёта финансов 🤖

Telegram-бот который помогает легко отслеживать ваши доходы и расходы. Он позволяет добавлять транзакции, классифицировать их, просматривать историю операций и управлять финансовыми данными прямо в Telegram. Бот спроектирован, как удобный и простой инструмент для контроля личных финансов.

🚀 Ключевые возможности

  • Добавление доходов и расходов: Легко записывайте финансовые операции с указанием суммы и категории.
  • Категоризация: Организуйте транзакции по предустановленным или пользовательским категориям.
  • История операций: Просмотр детальной истории доходов и расходов.
  • Статистика и отчёты: Анализ расходов по категориям за период.
  • Экспорт данных: Выгрузка транзакций в CSV-формат.
  • Визуализация: Графическое представление финансовой статистики.
  • Гибкое хранение данных: Поддержка SQLite (пока для лёгких сценариев) и планируется PostgreSQL (при высокой нагрузке).
  • Контейнеризация: Готовые Docker-образы для быстрого развёртывания.

🛠️ Технологический стек

  • Фреймворк: aiogram
  • Асинхронное программирование: asyncio
  • Управление состоянием: aiogram.fsm , RedisStorage
  • База данных:
    • aiosqlite
    • SQLAlchemy + PostgreSQL
  • Драйвер БД: asyncpg (для PostgreSQL)
  • Redis: redis-py (для хранения состояния сессий)
  • Логирование: logging
  • Контейнеризация: Docker
  • Визуализация: matplotlib (для генерации графиков в разработке)

🔮 Планы по развитию

  • /export_csv — выгрузка данных в CSV
  • /plot — график расходов за период
  • Расширенная аналитика с группировкой по тегам
  • Мультивалютная поддержка
  • Автоматическая категоризация трат
  • Ежемесячные отчёты по email

📦 Начало работы

Запуск через Docker

  1. Клонируйте репозиторий:

    git clone <ссылка_на_репозиторий>
    cd <директория_репозитория>
  2. Настройте переменные окружения:

    • Создайте .env файл на основе .env.example
    • Указать BOT_TOKEN
    • Настроить параметры Redis и БД
  3. Дать права на исполнение:

    chmod +x entrypoint.sh
  4. Запустите сервисы:

    docker compose up -d --build
  5. Проверка работы бота:

    docker compose logs -f bot
    • Подключиться к shell контейнера:
    docker compose exec bot bash
Главное меню Меню старт
Статистика История операций
Выбор периода

📝 Лицензия

Распространяется под лицензией MIT

About

CoinKeeper - Телеграм-бот для учёта доходов и расходов

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published