Categorygithub.com/vlasashk/url-shortener
repository
0.0.0-20240620203118-e972d7842315
Repository: https://github.com/vlasashk/url-shortener.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author

# README

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 (редирект)