Tasker — это REST API-сервис на Go, предоставляющий функциональность управления пользователями, заданиями и реферальной системой.
cd tasker
touch .envСодержимое файла .env:
ADMIN_LOGIN=admin
ADMIN_PASS=admin
JWT_SECRET=tasker_secret
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=tasker
PG_DSN=host=postgres port=5432 dbname=tasker user=postgres password=postgres sslmode=disable
HTTP_HOST=0.0.0.0
HTTP_PORT=8080docker compose up -d --buildAPI будет доступен по адресу: http://localhost:8081
Все эндпоинты доступны с префиксом
/api/v1
Request
{
"login": "login",
"password": "password"
}Response:
{
"token": "token"
}Response:
{
"users": []
}Request:
{
"name": "join_telegram"
}Request:
{
"referrer_id": "123"
}Request:
{
"login": "login",
"password": "password"
}Request:
{
"name": "new name"
}Response:
{
"name": "name",
"login": "login",
"points": 100,
"created_at": "2024-01-01T12:00:00Z",
"updated_at": "2024-01-02T15:30:00Z"
}- JWT-токен передаётся через заголовок:
Authorization: Bearer <token>
- База данных инициализируется при первом запуске Docker.
- Для тестирования подойдёт Postman, Insomnia или
curl.
- REST API для пользователей и заданий
- JWT-авторизация
- Docker + PostgreSQL
- Swagger документация
- Тесты
- CI/CD
- Ролевой доступ
MIT License