README¶
«Финансовый Планер»¶
Приложение для учёта личных финансов. Предназначено для пользователя, который хочет контролировать свои доходы и расходы, анализировать финансовые привычки и планировать бюджет.
Приложение позволяет:
регистрировать финансовые операции (доходы и расходы);
хранить данные о сумме, категории, дате и комментарии операции;
просматривать и анализировать финансовые операции;
импортировать и экспортировать данные в формат CSV;
визуализировать финансовые данные (распределения доходов и расходов по категориям, динамика доходов и расходов во времени)
Документация¶
Документация доступна на странице документации
Структура проекта:¶
main.py— главный файл, с которого начинается программаmodels.py— описание данных (операции, категории и т.п.)storage.py— сохранение и загрузка данныхgui.py— интерфейс программыanalysis.py— анализ и графикиutils.py— вспомогательные функцииdata/— файлы с даннымиdocs/— файлы документацииtests/— файлы тестов
Примененные библиотеки¶
Базовые инструменты управления реализованы через графический интерфейс с помощью библиотеки tkinter.
Для анализа использована библиотека pandas.
Результаты анализа отображаются в виде графиков с помощью matplotlib.
Для проверки корректности вводимых данных (даты, суммы, текстовые поля), анализа и очистки входных строк применены регулярные выражения (re).
Ключевые модули (models.py и analysis.py) покрыты тестами с использованием pytest.
Документация сгенерирована с помощью sphinx.
Установка¶
Клонируйте репозиторий:
git clone https://github.com/ArkJzzz/
Установите зависимости:
pip3 install -r requirements.txt
Запуск¶
python3 main.py
Основное окно программы:

Визуализация распределения расходов по категориям:

Визуализация распределения доходов по категориям:

Визуализация динамики доходов и расходов во времени:

Документация по модулям¶
- financial_planner_app
- models module
- gui module
FinancialPlannerAppFinancialPlannerApp.rootFinancialPlannerApp.transactionsFinancialPlannerApp.amount_varFinancialPlannerApp.category_varFinancialPlannerApp.date_varFinancialPlannerApp.desc_varFinancialPlannerApp.type_varFinancialPlannerApp.treeFinancialPlannerApp.add_transaction()FinancialPlannerApp.cashflow_trends()FinancialPlannerApp.clear_input_fields()FinancialPlannerApp.create_widgets()FinancialPlannerApp.expense_dia()FinancialPlannerApp.income_dia()FinancialPlannerApp.refresh_transaction_table()
- storage module
- analysis module
- utils module
- main module