REST-сервис для CRUDL-операций над онлайн-подписками пользователей и подсчета суммарной стоимости подписок за период.
cp .env.example .env
docker compose up --buildСервис будет доступен на http://localhost:8080.
Swagger/OpenAPI: http://localhost:8080/swagger.yaml.
POST /api/v1/subscriptions- создать подпискуGET /api/v1/subscriptions/{id}- получить подпискуGET /api/v1/subscriptions- список подписок с фильтрамиuser_id,service_name,limit,offsetPUT /api/v1/subscriptions/{id}- обновить подпискуDELETE /api/v1/subscriptions/{id}- удалить подпискуGET /api/v1/subscriptions/total?from=07-2025&to=12-2025&user_id=...&service_name=...- сумма за периодGET /health- healthcheck
curl -X POST http://localhost:8080/api/v1/subscriptions \
-H 'Content-Type: application/json' \
-d '{
"service_name": "Yandex Plus",
"price": 400,
"user_id": "60601fee-2bf1-4721-ae6f-7636e79a0cba",
"start_date": "07-2025"
}'Даты подписки передаются в формате MM-YYYY. Стоимость хранится целым числом рублей.