Files
Finance-Control/README.md

103 lines
3.1 KiB
Markdown
Raw 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.

# 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
```