Categorygithub.com/AtariOverlord09/gowebcalc
module
0.0.0-20241226121902-ee54da8e48e9
Repository: https://github.com/atarioverlord09/gowebcalc.git
Documentation: pkg.go.dev

# README


gowebcalc

Простой калькулятор и API к нему, имплементированные на go.

Контент
  1. О проекте
  2. Запуск проекта
  3. Использование

О проекте

(Связаться со мной)

Решение gowebcalc позволяет использовать надежный функционал вычисления арифметических выражений. Проект включает API с HTTP-эндпоинтом /api/v1/calculate, который позволяет отправлять запросы на вычисление выражений. Gowebcalc работает на стеке net-http, zap для логгирования и viper для оперирования переменными окружения. Калькулятор следующие арифметические операции:

  • Сложение (+)
  • Вычитание (-)
  • Умножение (*)
  • Деление (/)
  • Круглые скобки для указания порядка

При возникновении багов или прочих проблем, пожалуйста, свяжитесь со мной: Тык ->Telegram<- Тык

Стек

(вернуться назад)

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

Данный проект можно запустить локально следуя простым шагам:

Предварительные требования

Установка и запуск

  1. Установите go на ваш компьютер, он доступен почти для всех ОС
  2. Склонируйте репозиторий
    git clone https://github.com/AtariOverlord09/gowebcalc.git
    
  3. Загрузка необходимых пакетов(zap, viper)
    go mod tidy
    
  4. Создайте и заполните .env файл
    HOST=127.0.0.1
    PORT=8080
    
  5. Компиляция или запуск
    # go build  -trimpath -ldflags="-s -w" -o gowebcalc.exe cmd/main.go
    
    # Запуск:
       go run cmd/main.go   
    
  6. Запуск проекта
    ./gowebcalc
    

(вернуться назад)

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

POST /api/v1/calculate/ Request:

{
    "expression": "2+2"
}

Response:

{
    "result": "4.000000"
}

Проект может эффективно использоваться в вычислениях арифметических выражение, так как использует обратную польскую нотацию для расчетов. Так же есть api, повзоляющая сделать gowebcalc отличным микросервисом.

(вернуться назад)

# Packages

No description provided by the author
Viper library is used here to extract environment variables.
No description provided by the author