Calculator App - это веб-сервис на Go, который позволяет создавать задачи с арифметическими операциями, получать результаты выполнения задач и просматривать список задач с их статусами.
- Установка и запуск
- Запуск в Docker
- Использование
- API
- Тестирование
- Наблюдаемость
- Вендоринг зависимостей
-
Клонируйте репозиторий:
git clone https://github.com/kupl0xa/calculator.git cd calculator
-
Сборка и запуск:
make run
Сервер будет запущен на
http://localhost:8080
make docker-run
Сервер будет запущен на http://localhost:8080
Запрос:
POST /tasks
Тело запроса:
{
"x": 10,
"y": 5,
"operator": "+"
}
Команда curl
:
curl -X POST http://localhost:8080/tasks -H "Content-Type: application/json" -d '{"x": 10, "y": 5, "operator": "+"}'
Ответ:
{
"id": 1
}
Запрос:
GET /tasks/{id}
Команда curl
:
curl -X GET http://localhost:8080/tasks/1
Ответ:
{
"id": 1,
"result": 15
}
Запрос:
GET /tasks
Команда curl
:
curl -X GET http://localhost:8080/tasks
Ответ:
[
{
"id": 1,
"status": "Completed"
},
{
"id": 2,
"status": "Pending"
}
]
Запуск тестов:
make test
Покрытие тестами:
make test-cov
Метрики доступны по адресу:
http://localhost:8080/metrics
Для трейсинга используется OpenTelemetry. Трейсы экспортируются в stdout.
Для обеспечения стабильности и воспроизводимости сборки, зависимости проекта добавлены в каталог vendor
.