/molchanova-telegram-bot

Telegram-бот // Мини-банк: Frontend

Primary LanguageJava

Шапка

Часть приложения Мини-банк − telegram-бот, с которым будет взаимодействовать пользователь.


Доступные команды

  • /register - регистрация в мини-банке.
  • /createaccount - создать счет.
  • /currentbalance - посмотреть баланс счета.
  • /transfer [userName] [amount] - перевести сумму amount пользователю userName.

Как запустить

Подготовка к запуску

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

  • TG_NAME_GPB − имя бота без знака @;
  • TG_TOKEN_GPB − токен бота.

При создании в поле со значением переменной вписать свое значение.

Откуда брать значения

Если уже есть готовый бот, в значения переменных вписать его имя и токен.
Если бота нет, создать его с помощью @BotFather, затем в значения переменных среды вписать его имя и токен.

Запуск

После добавления переменных среды можно запускать приложение. Для этого нужно:

  1. Склонировать проект:
git clone https://github.com/gpb-it-factory/molchanova-telegram-bot

Запуск с помощью консоли

  1. Открыть консоль и перейти в директорию проекта (в папку molchanova-telegram-bot).
  2. Собрать проект, прописав следующую команду:
    • Windows:
    .\gradlew.bat build
    
    • Linux/Mac:
    .\gradlew build
    
  3. Запустить проект, прописав следующую команду (для Spring Boot приложения):
    • Windows:
    .\gradlew.bat bootRun
    
    • Linux/Mac:
    .\gradlew bootRun
    
    Готово!

Запуск с помощью IDEA

  1. Открыть в IDEA проект (папку molchanova-telegram-bot).
  2. Запустить проект из IDEA, нажав волшебную кнопочку.
    Готово!

Общая архитектура

Описание

1. Frontend

Telegram-бот. Клиентское приложение, инициирует запросы пользователей.

2. Middle

Java-сервис. Принимает запросы от пользователя, выполняет валидацию и бизнес-логику, маршрутизирует их в Backend и отправляет ответ.

3. 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

Контакты

Связаться со мной можно через:


up