/translate_it

Primary LanguageKotlinMIT LicenseMIT

Проект Translate IT

Этот проект использует Docker для развертывания веб-приложения для перевода слов с использованием Nginx, Spring Boot и PostgreSQL.

Структура проекта

  • nginx: Контейнер для веб-сервера Nginx.
  • api: Контейнер для Spring Boot приложения.
  • db: Контейнер для базы данных PostgreSQL.

Требования

  • Docker
  • Docker Compose

Настройка проекта

  1. Настройка сертификатов:

    Убедитесь, что у вас есть сертификаты SSL в каталоге ./nginx/certs/. Если вы используете самоподписанные сертификаты, их можно создать, следуя инструкциям в предыдущем ответе.

  2. Файлы конфигурации:

    • nginx/conf содержит конфигурационные файлы для Nginx.
    • docker/api/Dockerfile содержит инструкции для создания Docker-образа для Spring Boot приложения.
    • docker/database/Dockerfile содержит инструкции для создания Docker-образа для PostgreSQL (если требуется).

Сборка и запуск проекта

  1. Сборка Docker образов:

    Выполните команду:

    make build

    Это создаст Docker образы для всех сервисов в вашем docker-compose.yml.

  2. Запуск контейнеров:

    Запустите контейнеры с помощью команды:

    make up

    Это запустит контейнеры в фоновом режиме.

  3. Остановка и удаление контейнеров:

    Для остановки и удаления контейнеров используйте:

    make down
  4. Пересборка контейнеров:

    Если вам нужно пересобрать контейнеры, используйте:

    make rebuild

    Это остановит контейнеры, пересоберет образы и снова запустит контейнеры.

Доступ к приложению

  • Веб-приложение доступно по адресу: http://localhost
  • API доступно по адресу: http://localhost/translate.

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

curl -k -X POST "https://localhost/translate" \
--data-urlencode "text=Hello, World" \
--data-urlencode "sourceLang=en" \
--data-urlencode "targetLang=ru"

Параметры запроса:

text: Текст, который вы хотите перевести.
sourceLang: Исходный язык текста.
targetLang: Целевой язык для перевода.

Примечание: Флаг -k используется для игнорирования проверки сертификатов SSL. Это необходимо при использовании самоподписанных сертификатов.

Примечания

  • Убедитесь, что у вас установлены все зависимости и правильно настроены переменные окружения.
  • Для работы с самоподписанными сертификатами, вам может потребоваться добавить их в список доверенных в вашем браузере.