Taskmaster — это небольшой HTTP-сервис для управления задачами. Он реализует базовый функционал: создание задач, получение списка задач и получение задачи по идентификатору. В качестве хранилища используется in-memory storage.
git clone https://github.com/romssc/taskmaster
cd taskmaster
go build -o build/taskmaster ./cmd/taskmasterСервис читает настройки из файла config.yaml.
Пример:
http_server:
host: "localhost"
port: "8080"
read_timeout: 10s
write_timeout: 10s
idle_timeout: 10s
shutdown_timeout: 10s
logger:
buffer: 150./build/taskmasterСервер по умолчанию поднимается на http://localhost:8080.
Задача хранится в структуре:
{
"id": 123,
"title": "Название задачи",
"description": "Подробное описание",
"created_at": "2025-08-18T12:34:56Z",
"status": "0"
}- id — уникальный идентификатор (генерируется автоматически)
- title — заголовок задачи
- description — описание задачи
- created_at — время создания
- status — строка "0" или "1" (например, 0 — новая, 1 — завершённая)
Тело запроса:
{
"title": "Сходить в магазин",
"description": "Купить хлеб и молоко"
}Ответ:
{
"id": 123
}- status — необязательный параметр ("0" или "1"), используемый для фильтрации по статусу.
Ответ:
{
"tasks": [
{
"id": 123,
"title": "Сходить в магазин",
"description": "Купить хлеб и молоко",
"created_at": "2025-08-18T12:34:56Z",
"status": "0"
}
]
}Ответ:
{
"id": 123,
"title": "Сходить в магазин",
"description": "Купить хлеб и молоко",
"created_at": "2025-08-18T12:34:56Z",
"status": "0"
}- 400 Bad Request — некорректный ID или статус, неверное тело запроса
- 404 Not Found — задача не найдена
- 405 Method Not Allowed — метод не поддерживается
- 500 Internal Server Error — внутренняя ошибка сервера