Сокращатель ссылок, реализованный на языке Go
- Склонировать репозиторий:
git clone https://github.com/gingersamurai/go-shortener.git
- Настроить конфигурацию в файле
config.yaml
- Настроить переменные окружения
- в файле
.app_env
для контейнера с сервисом - в файле
.postgres_env
для контейнера с базой данных
- в файле
- Запустить docker compose
docker compose up
GET /{mapping}
перенаправляет пользователя с сокращенной ссылки на целевуюPOST /shorten
принимает в body целевую ссылку и возвращает сокращенную
С документацией можно ознакомиться в файле openapi.yaml
Если на сервер будет отправлен сигнал SIGINT
или SIGTERM
, он начнет завершение работы.
Graceful shutdown реализован с использованием паттерна closer
Сервис написан с использованем чистой архитектуры.
Вся бизнес-логика расположена в папках internal/entity
и internal/usecase
.
С архитектурой приложения можно ознакомиться по ссылке