Skip to content

Данный проект представляет собой веб-сервис для проведения опросов на языке Go с использованием базы данных Tarantool.

Notifications You must be signed in to change notification settings

George-c0de/PluginMattermost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Система опросов

Данный проект представляет собой веб-сервис для проведения опросов на языке Go с использованием базы данных Tarantool.

Оглавление

Описание

Проект позволяет:

  • Создавать и управлять опросами.
  • Обрабатывать HTTP-запросы с использованием Go.
  • Вести логирование работы сервера и ошибок.
  • Интегрироваться с базой данных Tarantool для хранения результатов опросов.

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

  • main.go — точка входа в приложение.
  • config.go — настройки и инициализация конфигурации.
  • server.go — реализация HTTP-сервера.
  • middleware.go — промежуточное ПО для обработки запросов.
  • poll.go — бизнес-логика и модели опросов.
  • poll_handler.go — обработка HTTP-запросов, связанных с опросами.
  • logger.go — модуль логирования.
  • tarantool.go — интеграция с базой данных Tarantool.
  • config.lua — дополнительные конфигурационные настройки.

Использование API

После запуска сервера API доступен по адресу, указанному в конфигурационных файлах (например, http://localhost:8000).

Примеры запросов:

  • GET /polls — получение списка опросов.
  • POST /polls — создание нового опроса.
  • GET /polls/{id} — получение данных конкретного опроса.

Более подробная документация по API может быть добавлена в будущем.

Установка

  1. Для быстрого запуска рекомендуется использовать Docker-compose
    docker-compose up --build -d
    После чего будет проект будет доступен по адресу из конфигурации или же по умолчанию(localhost:8000) API, Tarantool(localhost:3301)

Чтобы задать другие переменные конфига, необходимо прописать ENV параметры при запуске

# Параметры отображения логов 
ENV=local # по умолчанию
ENV=dev # dev окружение
ENV=prod # prod окружение

# Порт для REST API запросов
PORT_HTTP=8000 # по умолчанию

# Параметры Tarantool, в docker-compose файле переопределяются
TARANTOOL_HOST=tarantool
TARANTOOL_PORT=3301

Пример:

ENV=production docker compose up --build

Если поднят локально Tarantool

  1. Клонирование репозитория:

    git clone git@github.com:George-c0de/PluginMattermost.git
  2. Установка зависимостей: Если проект использует Go-модули, выполните:

    go mod download
  3. Сборка проекта:

    go build -o pollapp cmd/bot/main.go
  4. Запуск приложения: Запустите собранный бинарный файл:

    ./poolapp

    Или выполните для быстрого запуска:

    go run cmd/bot/main.go

Требования

About

Данный проект представляет собой веб-сервис для проведения опросов на языке Go с использованием базы данных Tarantool.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published