BayList - это многофункциональный бот на базе Spring Boot с интеграцией Telegram и AI возможностями.
- Java 21
- Spring Boot 3.4.0
- Telegram Bot API 7.10.0
- Spring AI (OpenAI интеграция)
- Oracle Database
- Liquibase
- Spring Data JPA
- Spring Cache
- Feign Client
- JDK 21
- Maven
- Oracle Database
- Telegram Bot Token
- OpenAI API ключ
Настройте переменные окружения:
TOKEN_TG- токен вашего Telegram ботаOPENAI_TOKEN- ключ API OpenAITNS_ADMIN- путь до сертификатов OracleORACLE_DB_PASSWORD- пароль Oracle
Текущая версия: 0.0.7
этот бот написан филом, что бы отправлять ему список покупок
основная идея такова. что бы можно было писать боту в телеграме и он бы добавлял задачи в todoist
автоматизация пользовательского опыта, раньше я накидывал в избранное в тг список дел и покупок перед выходом из дома, чтобы ничего не забыть. но это имеет свои минусы, например нельзя отмечать уже сделанное/купленное, дабы оно не мозолило глаз, и приходится распределять задачи по категориям/местам вручную, или придётся видеть перед собой плоский, не структурированный список.
бот умеет принимать в себя список дел/покупок, разбивать их по категориям и отправлять в todoist.
категории и то, что в них попадает, полностью настраивается пользователем.
-
доработки ux
-
добавить возможность добавлять задачи в todoist
-
добавить возможность добавлять задачи в todoist с разбиением по категориям
-
возможность просматривать словарик категорий и вариантов
-
добавить возможность просматривать список задач
-
возможность добавлять новые категории
-
возможность добавлять новые варианты в категории
-
возможность удалять категории
-
возможность удалять варианты в категориях
-
возможность переименовывать категории
-
добавить меню
-
добавить хелп
-
автоматическое перемещение внекатегорийных задач по категориям при добавлении их в словарик
-
настроить варианты ввода(в столбик, через запятую, и т.п.)
-
пустые категории сдвигать вниз
-
работа бота в чатах
-
работа бота в inline режиме
-
добавить локализацию (русский/английский)
-
редактирование словарика на фронте
-
первоначальная настройка при регистрации юзера
-
дедлайны и нотификации
-
добавить возможность указывать дедлайны задачам (как сделать удобно?)
- добавить нотификации о дедлайнах
- добавить возможность настраивать нотификации о том что есть незавершённые задачи без дедлайнов
-
нотификации о взаимодействиях с друзьями
-
нотификации о том что друг добавил задачу
-
нотификации о том что друг выполнил задачу
-
нотификации о том что друг удалил задачу
-
нотификации о том что вас добавили в друзья
-
друзья
- многопользовательский режим
- добавление задач друзьям
- просмотр задач друзей
- добавление друзей
- удаление своих друзей
- удаление себя из друзей
- просмотр списка друзей
- доработать очистку списка задач
- доработать взаимодействие со словариком
-
игры
- добавить пятнашки
- добавить крестики-нолики
-
нейронка
- прикрутить нейронку
- отложенный вывод ответа(показать что процесс идёт)
- просмотр нейронкой всех задач пользователя
- просмотр нейронкой словарика пользователя
- редактирование нейронкой словарика пользователя
- помощь в составлении списка дел
- помощь в составлении списка покупок
- помощь в составлении задач на день
- помощь в формулировке задач
- умные напоминания
- добавление задач с датой
-
-
доработки по технике
- создать бота
- добавить логирование
- подключить бота к тудуисту
- добавить докер
- развернуть бот в облаке
- добавить автоматическое развертывание
- подключить бд к боту
- перейти на sync api todoist (для уменьшения количества запросов)
- переписать api клиент на feign
- уйти от todoist на собственный фронт
- реализовать отмечалку сделанных на кнопках в тг
- возможность отлаживаться на тестовом контуре тг
- уменьшить количество обращений к бд (состояния, словарик)
- добавить кэширование
- добавить мониторинг
- добавить тесты
- добавить документацию
- переделать менюшки на редактирование, а не отправку новой копии
- зарефакторить переход состояний на state machine
-
баги
- не отображаются пустые категории
- при добавлении невалидного токена - выводить об этом сообщение
- если отправлять задачи не имея привязки к тудуист или друзей, нет предупреждения о том, что эта деятельность не имеет смысла
- исключить возможность добавить один вариант в разные категории
- исключить возможность добавления одинаковых категорий
- выравнять кнопки в меню с помощью невидимых пробелов
пишите в телеграм https://t.me/mess9