Skip to content

Latest commit

 

History

History
99 lines (79 loc) · 2.85 KB

File metadata and controls

99 lines (79 loc) · 2.85 KB

Trip Planner Bot (Team №8)

Fig. 1: Bot example Fig. 2: Bot example

Telegram бот для планирования путешествий с административной панелью.

Инфраструктура

  • Создание инстенса - Terraform;
  • Подргузка пакетов - Ansible;
  • Сборка - Jenkins (sh);
  • Деплой - Jenkins. (см. ./infra/)

K8s

  • см. ./infra/kubernetes/

API Endpoints

Административные эндпоинты

  • /admin/users
    • Требует авторизацию
      • Login: AyzekPetyaMartin
      • Password: Ayzek123321
  • /healthceck
    • Проверяет состояние Mongo запросом
    • Выводит ОК - если все хорошо
    • Выводит авторов

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

Локальная сборка

  1. Сборка проекта с помощью Gradle:
./gradlew clean build
  1. Создание исполняемого JAR-файла:
./gradlew clean shadowJar
  1. Запуск с Gradle:
./gradlew run

Запуск в Docker

Проект использует Docker Compose для оркестрации контейнеров:

  1. docker-compose.yml:

    • Настраивает сеть trip-planner-network
    • Настраивает переменные окружения для приложения
    • Устанавливает зависимости между сервисами
    • Настраивает healthcheck для проверки работоспособности
  2. Dockerfile:

    • Использует Amazon Corretto 21 (Alpine)
    • Копирует собранный JAR-файл
    • Настраивает точку входа для запуска приложения

Команды для работы с Docker

  1. Сборка:
docker compose --build -d
docker compose run app

Очистка и пересборка:

# Остановка и удаление контейнеров
docker compose down --remove-orphans

# Удаление всех образов
docker compose down --rmi all

# Сборка и запуск в фоновом режиме
docker compose up --build -d

# Запуск приложения
docker compose run app

Авторы

  • Салимли Айзек:
    • Infra
    • Planner
    • Docker
    • gradle
  • Григорьев Петр:
    • Helper
    • Healthcheck
  • Михалец Мартин:
    • History
    • Admin