Часть приложения Мини-банк
− telegram-бот, с которым будет взаимодействовать пользователь.
/register
- регистрация в мини-банке./createaccount
- создать счет./currentbalance
- посмотреть баланс счета./transfer [userName] [amount]
- перевести суммуamount
пользователюuserName
.
Перед запуском приложения нужно добавить две переменные среды:
TG_NAME_GPB
− имя бота без знака @;TG_TOKEN_GPB
− токен бота.
При создании в поле со значением переменной вписать свое значение.
Откуда брать значения
Если уже есть готовый бот, в значения переменных вписать его имя и токен.
Если бота нет, создать его с помощью @BotFather, затем в значения переменных среды вписать его имя и токен.
После добавления переменных среды можно запускать приложение. Для этого нужно:
- Склонировать проект:
git clone https://github.com/gpb-it-factory/molchanova-telegram-bot
- Открыть консоль и перейти в директорию проекта
(в папку
molchanova-telegram-bot
). - Собрать проект, прописав следующую команду:
- Windows:
.\gradlew.bat build
- Linux/Mac:
.\gradlew build
- Запустить проект, прописав следующую команду (для Spring Boot приложения):
- Windows:
.\gradlew.bat bootRun
- Linux/Mac:
Готово!.\gradlew bootRun
- Открыть в IDEA проект (папку
molchanova-telegram-bot
). - Запустить проект из IDEA, нажав волшебную кнопочку.
Готово!
Telegram-бот. Клиентское приложение, инициирует запросы пользователей.
Java-сервис. Принимает запросы от пользователя, выполняет валидацию и бизнес-логику, маршрутизирует их в Backend
и отправляет ответ.
Автоматизированная банковская система. Обрабатывает транзакции, хранит клиентские данные.
Описание архитектуры можно представить в виде краткой схемы ниже:
Код PlantUML схемы
@startuml
scale 1
!define Background #0d1117
!define Arrow #bcbec4
!define ColorY #bfa96d
!define ColorP #947abb
!define ColorG #72b76b
skinparam backgroundColor Background
skinparam sequence {
ActorBorderColor ColorG
ActorFontColor Arrow
ActorFontStyle bold
ParticipantPadding 30
ParticipantFontStyle bold
ParticipantFontColor Background
ParticipantBackgroundColor Arrow
LifeLineBorderColor Arrow
MessageAlign center
ArrowFontColor Arrow
ArrowFontStyle bold
ArrowColor Arrow
}
actor "Awesome\nYou" as User Arrow
participant "Frontend" as F ColorG
participant "Middle" as M ColorY
participant "Backend" as B ColorP
User -> F: Command
activate F ColorG
F -> M: Request
activate M ColorY
M -> B: Request
activate B ColorP
B --> M: Response
deactivate B
M --> F: Response
deactivate M
F --> User: Answer
deactivate F
@enduml
Связаться со мной можно через: