Идея данного бота проста: пользователь вводит определённый бюджет на определённый срок, после чего для него рассчитывается и отслеживается ежедневный доступный бюджет в зависимости от трат. Например, при сумме 30 тыс. руб на 30 дней ежедневный бюджет составит 1000 руб. При совершении трат бюджет будет уменьшаться, если за день пользователь потратит менее 1000 руб., то ежедневный бюджет на оставшиеся дни увеличится, если же не уложится, то бюджет на остальные дни будет уменьшен. Изменения бюджета (как в плюс, так и минус) вводятся пользователем вручную посредством бота. Также пользователю дана возможность при желании полностью удалить свои данные. В настоящий момент основной функционал бота реализован и он может быть развёрнут, однако к релизу он ещё не готов, так как требуется внести некоторые доработки.
ИСПОЛЬЗУЕМЫЕ ТЕХНОЛОГИИ
- Бот написан на Java.
- В качестве основного фреймворка используется Spring с модулями. Среди прочего используются: Spring Data JPA, Lombok, Spring Security (в настоящий момент не задействован, в будущем будет использоваться шифрования паролей и финансовых данных).
- При создании бота используется паттерн MVC. В текущем состоянии бота использование паттерна MVC не является критически важным, однако предполагается со временем добавить к приложению веб-интерфейс. В этом случае паттер MVC проявит себя наиболее ярко.
- Данные пользователей хранятся в таблицах SQL. Для обмена с БД используются транзакции.
- Функционал Телеграм-бота реализуется посредством сторонней библиотеки.
- Комментарии в приложении и названия основных функций и переменных написаны на английском языке. Фразы, которые видит пользователь, написаны на русском и вынесены в отдельные классы, так как в будущем планируется добавить мультиязычный интерфейс.