# Finance Control Finance Control — настольное приложение для персонального учёта финансов и подписок. Проект разработан на Python с использованием CustomTkinter, SQLite и Matplotlib. ## Основные возможности финальной версии - учёт счетов, карт, наличных и электронных кошельков; - категории доходов и расходов; - добавление и удаление операций с автоматическим изменением баланса; - поиск и фильтрация операций; - экспорт истории операций в CSV; - контроль подписок, переключение статуса «Активна / Пауза»; - бюджеты и лимиты по расходным категориям с прогресс-барами; - главная панель со сводкой, ближайшими списаниями, последними операциями и предупреждениями по лимитам; - аналитика и текстовый отчёт с диаграммой расходов; - экспорт отчёта в TXT; - сохранение выбранной темы интерфейса; - защита от быстрых повторных нажатий на кнопки; - локальная SQLite-база, создаётся автоматически при первом запуске. ## Запуск на пустом компьютере 1. Установить Python 3.11 или новее. 2. Скачать репозиторий с Gitea. 3. Открыть терминал в папке проекта. 4. Создать виртуальное окружение: ```bash python -m venv .venv ``` 5. Активировать окружение: Windows: ```bash .venv\Scripts\activate ``` Linux / macOS: ```bash source .venv/bin/activate ``` 6. Установить зависимости: ```bash pip install -r requirements.txt ``` 7. Запустить приложение: ```bash python main.py ``` При первом запуске файл `finance_manager.db` будет создан автоматически. ## Быстрый запуск Windows Можно запустить файл: ```bat run.bat ``` Он создаст виртуальное окружение, установит зависимости и откроет приложение. ## Структура проекта ```text main.py app/ config.py database.py services/ finance_service.py utils/ formatters.py validators.py ui/ base_frame.py main_window.py dashboard_frame.py accounts_frame.py categories_frame.py transactions_frame.py subscriptions_frame.py budgets_frame.py reports_frame.py requirements.txt ``` ## Проверка кода Для быстрой проверки синтаксиса: ```bash python -m py_compile main.py app/*.py app/ui/*.py app/services/*.py app/utils/*.py ```