103 lines
3.1 KiB
Markdown
103 lines
3.1 KiB
Markdown
# 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
|
||
```
|