Настоящее приложение предназначено для управления личными финансами. Позволяет пользователям добавлять доходы и расходы, устанавливать бюджеты на категории и получать статистику по своим финансам.
- Авторизация пользователей по логину и паролю;
- Управление доходами и расходами с учетом категорий;
- Установка бюджета и контроль превышения лимитов;
- Работа с несколькими кошельками;
- Переводы между кошельками;
- Валидация данных и удобное взаимодействие через команды.
Приложение для управления личными финансами соответствует следующим требованиям:
- хранение данных в памяти приложения;
- авторизация пользователей по логину и паролю, поддерживает работу нескольких пользователей;
- реализация функций по управлению финансами (доход, расход, установка категорий, бюджета);
- выполнение функций в привязке к кошельку пользователя;
- предоставление информации о проведённых операциях;
- подсчет расходов и доходов по категориям;
- переводы средств между кошельками;
- проверка вводимых данных;
- оповещение пользователя;
- сохранение данных пользователя в файл и их загрузка при следующем запуске.
1— Регистрация;2— Вход3— Выход
1— Кошелёк2— Категории и бюджет3— Транзакции4— Возврат
1— Создать кошелёк2— Подсчитать доходы и расходы3— Статистика по кошельку и бюджету4— Перевести средств5— Возврат
1— Добавить категорию2— Просмотреть список категорий3— Подсчитать состояние бюджета по категориям4— Возврат
1— Ввести доход2— Ввести расход3— Список транзакций4— Возврат
Для установки программы скачайте архив репозитория или склонируйте его по ссылке
git clone https://github.com/Arvantis/FinManagement.git Для работы проекта требуется библиотека jackson-databind
установка доступна с помощью интерфейса IntelliJ IDEA
или по ссылке на центральный репозиторий maven
Запуск программы осуществляется из среды разработки IntelliJ IDEA
FinManagement
├─ pom.xml
├─ README.md
├─ .gitignore
├─ data
│ ├─ categories
│ │ └─ categories.json
│ ├─ users
│ │ └─ users.json
│ └─ wallets
│ └─ wallets.json
├─ lib
│ ├─ jackson-annotations-2.18.2.jar
│ ├─ jackson-core-2.18.2.jar
│ └─ jackson-databind-2.18.2.jar
└─ src
└─ main
└─ java
└─ program
├─ app
│ └─ WalletApp.java
├─ controller
│ ├─ BudgetController.java
│ ├─ TransactionController.java
│ └─ WalletController.java
├─ model
│ ├─ Category.java
│ ├─ Transaction.java
│ ├─ User.java
│ └─ Wallet.java
├─ repository
│ ├─ CategoryRepository.java
│ ├─ FileRepository.java
│ ├─ UserRepository.java
│ └─ WalletRepository.java
├─ service
│ ├─ BudgetService.java
│ ├─ UserService.java
│ └─ WalletService.java
├─ util
│ └─ DataValidator.java
└─ ConsoleAppMain.java
-
Регистрация пользователя
> 1 Введите логин: user1 Введите пароль: qwerty Пользователь зарегистрирован. -
Авторизация
> 2 Введите логин: user1 Введите пароль: qwerty Добро пожаловать, user1! -
Создание кошелька
> 1 Введите название кошелька: wallet Введите начальный баланс: 10000 Кошелёк успешно добавлен. -
Добавление категорий
> 1 Введите название категории: food Введите лимит бюджета: 1000 Введите категорию: Еда Категория "food2" успешно добавлена. -
Добавление транзакции
> 1 Введите название кошелька: wallet Введите сумму: 500 Введите категорию: Еда Транзакция успешно добавлена. -
Статистика по кошельку и бюджету
> 3 Транзакции: - Дата: 2025-01-20, Сумма: 3000,00, Категория: entertainment > 2 Общий доход: 3000.0 Общие расходы: 0.0 -
Перевести средства
> 4 Введите название вашего кошелька: wallet Введите логин получателя: user2 Введите название кошелька получателя: wallet Введите сумму перевода: 200 Перевод успешно выполнен: 200.0 из "wallet" в "wallet". -
Сохранение данных:
Все данные сохраняются автоматически при выходе из приложения.