Skip to content

Телеграм бот отзывов и проблем пользователей интернет магазина (сохраняет данные в бд и имеет контроллеры)

Notifications You must be signed in to change notification settings

mracover/Feedbacks_and_problems_telegram_bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Feedbacks and problems telegram bot

telegram


Описание

Телеграм бот сделанный для абстрактного "интернет магазина". Принимает отзывы и сообщение о проблемах о товарах, и сохраняет в бд postgres. Имеется REST API для взаимодейстовия с данными, которые оставили пользователи.

Используется Telegram bot API для работы с телеграмом. Пример первоначальной настройки вы можете прочесть в документации для java

Присутствуют команды для удобной работы 👇


Как пользоваться? 😯

Команды доступные пользователю:

  • /start - Начало работы
  • /problem - Оставить проблему
  • /feedback - оставить отзыв
  • /mydata - Посмотреть ваши данные и все проблемы, отзывы
  • /deletedata - Удалить ваши данные
  • /info - Описание всех команд

В боте есть описание всех команд. Не переживайте 😊

Демонстрация работы команды /feedback:

feedback_up.mp4

Учтите, что только при первом использовании вас спросить имя и email. Они заносятся в базу и повторно спрашиваться не будут.


Технологии в проекте ☀️

  • Spring (boot, data jpa, validation)
  • Postgres (PGadmin)
  • Lombok
  • Slf4j (логирование)
  • Swagger (Описание API)
  • Telegram-bot-api
  • Maven

Документация к API (Swagger ui) 📄

При запущенном проекте, вы можете перейти на документацию API:

http://localhost:8084/swagger-ui/index.html


Сложности 😩

В ходе создания feedback и problem команд возникли сложности в сохранении данных в БД. При выполнении команд, необходимо было присылать пользователю поочередные сообщения и ждать ответа, а после всех ответов заносить данные в БД.

Необходимо было сделать состояние бота:

Например, Пользователь вызывает команду /feedback (FEEDBACK состояние) -> спрашивается имя (FEEDBACK_NAME состояние) -> спрашивается email (FEEDBACK EMAIL состояние) и тд.


Запуск проекта 🔥

В проект добавлены Dockerfile и Docker-compose. Вы можете легко запустить проект в контейнере и опробовать его. Для этого необходимо:

Упаковать проект вызвав в командной строке:

mvn package

И запустить контейнеры docker-compose:

$ docker-compose up -d

Либо просто запустить в среде разаботки.


About

Телеграм бот отзывов и проблем пользователей интернет магазина (сохраняет данные в бд и имеет контроллеры)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published