Skip to content

n1str/JavaFinanceManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Personal Finance Manager

Java Version License Build Status Version

Консольное Java-приложение для управления личными финансами. Сервис позволяет пользователям отслеживать свои доходы и расходы, устанавливать бюджеты по категориям и получать детальную статистику по финансам.

4229358c-cb59-417f-abcd-c49c8290dc18

Основные возможности

Управление финансами

  • Добавление доходов и расходов по категориям
  • Установка бюджетов для категорий расходов
  • Автоматическое отслеживание баланса
  • Уведомления о превышении бюджета

Работа с категориями

  • Создание пользовательских категорий
  • Установка бюджетов по категориям
  • Отслеживание расходов по категориям
  • Статистика по каждой категории

Система пользователей

  • Регистрация по логину и паролю
  • Безопасная авторизация
  • Персональный кошелек для каждого пользователя
  • Сохранение данных между сессиями

Дополнительный функционал

  • Переводы средств между пользователями
    • Быстрое и удобное осуществление переводов
    • Проверка доступного баланса перед переводом

Руководство пользователя

Регистрация и вход

Регистрация

  1. Выберите пункт "2" (Зарегистрироваться)
  2. Введите логин (минимум 3 символа, только буквы, цифры и подчеркивание)
  3. Введите пароль (минимум 4 символа)
  4. После регистрации вы автоматически войдете в систему

Вход в систему

  • Выберите пункт "1" (Войти)
  • Введите свой логин и пароль
Управление финансами

Добавление дохода

  1. В главном меню выберите "1" (Добавить доход)
  2. Введите сумму дохода (должна быть положительной)
  3. Укажите категорию дохода (только буквы, цифры, пробелы и знаки - _)
  4. Доход будет добавлен в ваш кошелек

Добавление расхода

  1. В главном меню выберите "2" (Добавить расход)
  2. Введите сумму расхода (должна быть положительной)
  3. Укажите категорию расхода
  4. Если расход превышает бюджет категории, вы получите уведомление

Установка бюджета

  1. Выберите "3" (Установить бюджет категории)
  2. Введите категорию
  3. Укажите сумму бюджета (должна быть положительной)
  4. Система начнет отслеживать расходы по этой категории

Переводы средств

  1. В главном меню выберите "7" (Перевести средства)
  2. Укажите логин получателя
  3. Введите сумму перевода
  4. Подтвердите перевод
  5. Если средств недостаточно, операция будет отклонена
Просмотр статистики

Статистика

  • Выберите пункт "4" (Просмотреть статистику)
  • Вы увидите:
    • Общий баланс
    • Сумму всех доходов
    • Сумму всех расходов
    • Расходы по категориям
    • Остаток бюджета по категориям
    • Переводы средств
Редактирование и удаление

Редактирование транзакции

  1. Выберите "5" (Редактировать транзакцию)
  2. Укажите номер транзакции из списка
  3. Введите новую сумму
  4. Введите новую категорию

Удаление транзакции

  1. Выберите "6" (Удалить транзакцию)
  2. Укажите номер транзакции для удаления

Архитектура проекта

Модули

Модели (model)

  • User - информация о пользователе
  • Wallet - кошелек пользователя
  • Transaction - финансовая операция
  • TransactionType - тип транзакции (доход/расход)

Сервисы (service)

  • UserService - управление пользователями
  • WalletService - операции с кошельком
  • AuthService - авторизация и регистрация
  • MenuService - управление меню и пользовательским вводом
  • TransactionService - управление транзакциями

Утилиты (util)

  • FileManager - работа с файлами
  • LocalDateTimeAdapter - сериализация дат
  • ValidationService - валидация пользовательского ввода

Основной класс

  • Main - инициализация и координация работы всех сервисов

Валидация данных

Логин

  • Минимум 3 символа
  • Максимум 20 символов
  • Только буквы, цифры и знак подчеркивания

Пароль

  • Минимум 4 символа
  • Максимум 30 символов
  • Не может быть пустым

Суммы

  • Должны быть положительными
  • Не больше 999,999,999
  • Поддерживается ввод с точкой или запятой

Категории

  • Не пустые
  • Максимум 30 символов
  • Только буквы, цифры, пробелы, тире и знак подчеркивания

Переводы

  • Логин получателя должен существовать
  • Сумма перевода должна быть положительной
  • Баланс отправителя должен быть достаточным

Хранение данных

Все данные хранятся в JSON файле users_data.json:

  • Информация о пользователях
  • Транзакции
  • Бюджеты по категориям
  • История переводов средств

Обработка ошибок

Приложение предоставляет понятные сообщения об ошибках:

  • Успешные операции отмечаются зеленой галочкой
  • Ошибки отмечаются красным крестиком
  • Предупреждения о превышении бюджета

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages