Skip to content

Darllowin/subscription-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Subscription Service

RESTful API для управления пользовательскими подписками.

Технологии

  • Go 1.25
  • chi/v5 — HTTP роутер
  • pgx/v5 — драйвер PostgreSQL
  • golang-migrate — миграции БД
  • Swaggo — Swagger-документация
  • Docker / Docker Compose

API Endpoints

Базовый путь: /api/v1/subscriptions

Метод Путь Описание
POST /api/v1/subscriptions Создать подписку
GET /api/v1/subscriptions Список подписок (с фильтрацией)
GET /api/v1/subscriptions/total-cost Общая стоимость за период
GET /api/v1/subscriptions/{id} Получить подписку
PUT /api/v1/subscriptions/{id} Обновить подписку
DELETE /api/v1/subscriptions/{id} Удалить подписку

Swagger UI доступен по /swagger/.

Cтарт

Docker Compose

docker compose up

Приложение будет доступно на http://localhost:8080.

Переменные окружения

Переменная По умолчанию Описание
SERVER_PORT 8080 Порт HTTP-сервера
DATABASE_URL postgres://postgres:postgres@localhost:5432/subscriptions Строка подключения к БД
MIGRATION_PATH file://migrations Путь к миграциям
READ_TIMEOUT_SECONDS 10 Таймаут чтения
WRITE_TIMEOUT_SECONDS 10 Таймаут записи
LOG_LEVEL info Уровень логирования

Архитектура

Handler (HTTP) → Service (Бизнес-логика) → Repository (База данных)
  • handler — обработка HTTP-запросов, валидация, JSON-ответы
  • service — бизнес-логика (расширяемая прослойка)
  • repository — SQL-запросы, работа с pgx pool
  • model — структуры данных и DTO
  • middleware — HTTP-логирование и recovery

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors