Skip to content

Фронтенд-часть "Мини-банка" - приложения, разрабатываемого в рамках программы GPB IT Factory Backend 2024

Notifications You must be signed in to change notification settings

gpb-it-factory/gladskoy-telegram-bot

Repository files navigation

Telegram-бот приложения Мини-банк

Java Gradle Build & Test Instructions coverage Branches coverage

Telegram-бот "Мини-банка" - это фронтенд-часть приложения разрабатываемого в рамках программы GPB IT Factory Backend 2024. Бот инициирует запросы пользователей в Middle-слой, где происходит их дальнейшая обработка.

Содержание

  1. Локальный запуск
  2. Запуск в Docker
  3. Как использовать
  4. Демо-видео работы приложения
  5. Архитектура системы
  6. Интеграции

Локальный запуск

  1. Получить API-токен с помощью Telegram-бота @BotFather (подробно данный процесс описан в документации)
  2. Клонировать репозиторий
    git clone git@github.com:gpb-it-factory/gladskoy-telegram-bot.git
  3. Перейти в директорию с проектом
    cd gladskoy-telegram-bot
  4. Запустить приложение (telegram_bot_name будет создано при получении API-токена)
    BOT_NAME={telegram_bot_name} \
    BOT_TOKEN={telegram_bot_token} \
    ./gradlew bootRun
  5. Найти в Telegram бота по имени @{telegram_bot_name} (пример @GpbITFactoryGladskoyTelegramBot)

Запуск в Docker

  1. Создать общую сеть, если этого не было сделано ранее
    docker network create mini-bank-net
  2. Выполнить скрипт, заменив значения переменных (<...>) корректными значениями
    docker run --network mini-bank-net \
      --name telegram-bot \
      --env MIDDLE_SERVICE_URL=<middle_hostname> \
      --env BOT_NAME=<bot_name> \
      --env BOT_TOKEN=<bot_token> \
      -dp 8088:8088 \
      saneci/mini-bank-telegram-bot:<tag>

Актуальные теги тут: https://github.com/gpb-it-factory/gladskoy-telegram-bot/tags, указывать без префикса v

Как использовать

  • /start - точка входа в приложение, запускает бота
  • /register - первичное оформление пользователя
  • /createaccount - открытие счёта в Мини-банке, в данный момент у клиента может быть только один счёт
  • /currentbalance - получение текущего баланса открытого пользователем счёта
  • /transfer toUserName amount - перевод средств между счетами пользователей

Демо-видео работы приложения

demo.mp4

Архитектура системы

@startuml architecture
skinparam sequenceMessageAlign center
skinparam ParticipantPadding 20

participant Client
participant TelegramBot
participant MiddleService
participant BackendService

Client -> TelegramBot: HTTP request
activate TelegramBot

TelegramBot -> MiddleService: HTTP request
activate MiddleService

MiddleService -> MiddleService: Business logic

MiddleService -> BackendService: Request
activate BackendService

BackendService --> MiddleService: Response
deactivate BackendService

MiddleService --> TelegramBot: HTTP response
deactivate MiddleService

TelegramBot --> Client: HTTP response
deactivate TelegramBot
@enduml

Интеграции

About

Фронтенд-часть "Мини-банка" - приложения, разрабатываемого в рамках программы GPB IT Factory Backend 2024

Resources

Stars

Watchers

Forks