Skip to content

vlasashk/url-shortener

Repository files navigation

URL Shortener

Build

Prerequisites

  • docker
  • make
  1. Clone project:
git clone [email protected]:vlasashk/url-shortener.git
cd url-shortener
  1. Run:
make run-all
  1. Test:
make unit-test

Project information

Restrictions/Peculiarities

  • Alias имеет ограниченный срок жизни (1 месяц)
  • Каждые 100 посещений обновляют срок жизни alias на 1 месяц
  • Для очистки старых записей, у которых закончился срок жизни, используется cronjob сервис. В конфиге можно контролировать частоту выполнения запроса на удаление не актуальных записей раз в день/неделю/месяц

Tools used

Functionality

URL manipulation

  • {POST} /alias - Создание alias
    {
        "original": "https://test.com",
    }
    
  • {GET} /{alias} - Получение оригинальной ссылки по alias (редирект)