- Сокращатель ссылок - это проект, разработанный мною как часть моей учебной программы Яндекс Практикума. Этот сервис позволяет пользователям сокращать длинные URL-адреса до более удобного формата, облегчая их использование и распространение.
Технологии:
Для взаимодействия с сервисом предоставляется HTTP API.
- Сокращение URL: Пользователи могут преобразовывать длинные URL в короткие ссылки, которые легче обменивать и использовать.
- Перенаправление по коротким ссылкам: Каждая сокращенная ссылка перенаправляет пользователя на оригинальный URL.
- Хранение и Управление Ссылками: Сервис предоставляет интерфейс для управления сокращенными ссылками, включая возможность отметить ссылку как удаленную.
- Поддержка Асинхронных Задач: Сервис поддерживает асинхронное удаление ссылок и способен обрабатывать запросы на удаление в фоновом режиме.
Начало Работы
Чтобы начать использовать сервис, выполните следующие шаги:
Клонирование репозитория: Склонируйте репозиторий проекта на свой локальный компьютер. Настройка базы данных: Настройте и запустите локальный экземпляр PostgreSQL (Напремер подняв образ в Docker) Запуск приложения: Запустите сервис сокращения ссылок на вашем компьютере используя следующие настройки.
Запуск возможен с использованием cli флагов и env переменных в следующем приоритете (env||cli flags||JSON config)
CONFIG
(-с
):Путь к конфигурационному JSON файлу: По умолчанию —пусто
.SERVER_ADDRESS
(-a
):Адрес HTTP/HTTPS сервера: По умолчанию —localhost:8080
.LOG_LEVEL
(-l
):Уровень логирования: По умолчанию установлен наinfo
.BASE_URL
(-b
): URL префикс используемый для формирования сокращенной ссылки: По умолчанию —http://localhost:8080
.DATABASE_DSN
(-d
):Данные для подключения к базе данных: По умолчанию установлен напусто
.FILE_STORAGE_PATH
(-f
):Путь сохранения файла локального хранения данных: По умолчанию установлен на/tmp/short-url-db.json
.ENABLE_TLS
(-s
):Включение TLS сервера для HTTPS API: По умолчанию установлен напусто
и запускается по HTTP.TRUSTED_SUBNET
(-t
):Список доверенных подсетей в формате "1.1.1.1, 2.2.2.2": По умолчанию установлен напусто
.GRPC_SERVER
(-g
):Адрес gRPC сервера: По умолчанию установлен на:3200
.
Контрибуция
Этот проект был разработан как часть учебной программы, и мы приветствуем любые предложения и улучшения. Если у вас есть идеи по улучшению проекта, не стесняйтесь отправлять Pull Requests или создавать Issues.