Skip to content

spanwalla/url-shortener

Repository files navigation

Сервис для сокращения ссылок

Запуск

  1. Клонируйте репозиторий
git clone https://github.com/spanwalla/url-shortener
cd url-shortener
  1. Создайте файл .env в корне проекта (можете скопировать .env.example).
  2. Выполните команду
make compose-up

ИЛИ

docker-compose up --build -d
  1. Для остановки используйте команду make compose-down ИЛИ
docker-compose down --remove-orphans
  • Чтобы поменять тип хранилища, измените значение переменной окружения STORAGE_TYPE (возможные значения: postgres, memory).
  • Запуск тестов (также настроен в Actions): make test ИЛИ go test -v './...'.

Функционал

Сервис предоставляет API для создания сокращённых ссылок в формате:

  • Ссылка должна быть уникальной, на один URI должна ссылаться только одна сокращённая ссылка.
  • Длина сокращённой ссылки равна 10 символам.
  • Ссылка состоит из символов латинского алфавита в нижнем и верхнем регистре и символа _.

Поддерживается два типа хранилища: PostgreSQL и в памяти приложения.

Генерация ссылок

Генерируется случайная последовательность символов.

Почему работает (полное пояснение в config/config.yaml)?

TL;DR: Количество возможных комбинаций настолько велико, что у нас возникнут проблемы даже с хранением 20% от этого объёма.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors