Консольное Java-приложение для управления личными финансами. Сервис позволяет пользователям отслеживать свои доходы и расходы, устанавливать бюджеты по категориям и получать детальную статистику по финансам.
- Добавление доходов и расходов по категориям
- Установка бюджетов для категорий расходов
- Автоматическое отслеживание баланса
- Уведомления о превышении бюджета
- Создание пользовательских категорий
- Установка бюджетов по категориям
- Отслеживание расходов по категориям
- Статистика по каждой категории
- Регистрация по логину и паролю
- Безопасная авторизация
- Персональный кошелек для каждого пользователя
- Сохранение данных между сессиями
- Переводы средств между пользователями
- Быстрое и удобное осуществление переводов
- Проверка доступного баланса перед переводом
Регистрация и вход
- Выберите пункт "2" (Зарегистрироваться)
- Введите логин (минимум 3 символа, только буквы, цифры и подчеркивание)
- Введите пароль (минимум 4 символа)
- После регистрации вы автоматически войдете в систему
- Выберите пункт "1" (Войти)
- Введите свой логин и пароль
Управление финансами
- В главном меню выберите "1" (Добавить доход)
- Введите сумму дохода (должна быть положительной)
- Укажите категорию дохода (только буквы, цифры, пробелы и знаки - _)
- Доход будет добавлен в ваш кошелек
- В главном меню выберите "2" (Добавить расход)
- Введите сумму расхода (должна быть положительной)
- Укажите категорию расхода
- Если расход превышает бюджет категории, вы получите уведомление
- Выберите "3" (Установить бюджет категории)
- Введите категорию
- Укажите сумму бюджета (должна быть положительной)
- Система начнет отслеживать расходы по этой категории
- В главном меню выберите "7" (Перевести средства)
- Укажите логин получателя
- Введите сумму перевода
- Подтвердите перевод
- Если средств недостаточно, операция будет отклонена
Просмотр статистики
- Выберите пункт "4" (Просмотреть статистику)
- Вы увидите:
- Общий баланс
- Сумму всех доходов
- Сумму всех расходов
- Расходы по категориям
- Остаток бюджета по категориям
- Переводы средств
Редактирование и удаление
- Выберите "5" (Редактировать транзакцию)
- Укажите номер транзакции из списка
- Введите новую сумму
- Введите новую категорию
- Выберите "6" (Удалить транзакцию)
- Укажите номер транзакции для удаления
User- информация о пользователеWallet- кошелек пользователяTransaction- финансовая операцияTransactionType- тип транзакции (доход/расход)
UserService- управление пользователямиWalletService- операции с кошелькомAuthService- авторизация и регистрацияMenuService- управление меню и пользовательским вводомTransactionService- управление транзакциями
FileManager- работа с файламиLocalDateTimeAdapter- сериализация датValidationService- валидация пользовательского ввода
Main- инициализация и координация работы всех сервисов
- Минимум 3 символа
- Максимум 20 символов
- Только буквы, цифры и знак подчеркивания
- Минимум 4 символа
- Максимум 30 символов
- Не может быть пустым
- Должны быть положительными
- Не больше 999,999,999
- Поддерживается ввод с точкой или запятой
- Не пустые
- Максимум 30 символов
- Только буквы, цифры, пробелы, тире и знак подчеркивания
- Логин получателя должен существовать
- Сумма перевода должна быть положительной
- Баланс отправителя должен быть достаточным
Все данные хранятся в JSON файле users_data.json:
- Информация о пользователях
- Транзакции
- Бюджеты по категориям
- История переводов средств
Приложение предоставляет понятные сообщения об ошибках:
- Успешные операции отмечаются зеленой галочкой
- Ошибки отмечаются красным крестиком
- Предупреждения о превышении бюджета
