# Packages
# README
==# -Итак, задача: создать микросервисный калькулятор на языке GO.
Как это работает? Графический интерфейс уже размещен по адресу http://elit-dress.ru/go-calc/bigcalc1.html Там можно все потыкать со стороны пользователя, посмотрееть базу данных и прочитать пользоательский Readme. У пользователя максимально простая задача: ввести выражение, ввести время выполнения и нажать две большие кнопи. Оркестратор должен передавать введенные значения агентам (в качестве агентов используются горутины: дешево и сердито).Каждый агент работает со своим оператором. Потом оркестратор собирает ответы от агентов в приоритетном порядке и отдает пользователю. Паралелльно с этим оркестратор собирает введенные значения (для выражения и для таймера) и ответы и складывает их в базу данных. Итак, как это запустить на другой машине: Разворачиваем фронтенд.
- Берем все файлы из папки frontend и выкладываем их в любую папку на любом http-сервере, убеждаемся, что по адресу ваше доменное имя/папка bigcalc1.html открывается нужная страничка.
- Если backend тоже будет разворачиваться, то в двух хтмл-файлах найти в секциях
- берем все все файлы из папки becand и выкладываем в папку src пользователя с настроенным окружением GO. Должен получиться путь GO/src/Calculator/main.go
- В файле main.go меняем порт на любой доступный. на этом порту будут слушаться запросы от фронта. порт должен быть свободен (помогает netstart - ltup)
- Заапускаем программу main.go как демона: go run main.go &
В настоящее время исходный код собирается только под линуксом. Для винды необхдимо установить библиотеку "Calculator/internal/storage/sqlite" Отладка окружения.
Установка на виндоус соправождается танцем с бубнами и призыванием всех богов. Но работает. Но сложно. Очень сложно.
- Убедиться (например через postman) вызвав по адресу сервера и порта методы: POST /calc, GET /result/{id}, GET /results Так как ничего не бывает просто так, этот проект создан в качестве итогового зачета для второго спринта курса "Программирование на Go" в Яндекс.Лицее. Пожалуйста, если это читает проверяющий... Брат, зачти плиз. Мой тг для связи: @Hamster_Media